uint8_t readBit() { uint8_t result; setdirection(TDATA, 1); setpin(TDATA,0); _delay_us(6); setpin(TDATA,1); _delay_us(9); setdirection(TDATA, 0); result = TPIN & (1 << TDATA); _delay_us(55); return result; }
uint8_t resetSensor() { uint8_t result; //_delay_ms(2000); setdirection(TDATA, 1); //PB1 output setpin(TDATA, 1); //PB1 high VDD init _delay_ms(100); setpin(TDATA, 0); _delay_us(490); setdirection(TDATA, 0); _delay_us(70); result = (TPIN & (1 << TDATA)); _delay_us(410); return result; }
static char * test_sweep_engine_and_reverse() { int rpm = 0; int count; for (count = 0; count < 8; count++) { emulator_set_rpm(count * 1000); setdirection(count % 2 > 0); sleep(2); } emulator_set_rpm(1000); setdirection(1); return 0; }
void writeBit(uint8_t bit) { setdirection(TDATA, 1); if (bit) { setpin(TDATA, 0); _delay_us(6); setpin(TDATA, 1); _delay_us(64); } else { setpin(TDATA, 0); _delay_us(60); setpin(TDATA, 1); _delay_us(10); } }