void LOW_link::doSearchSequence( const LOW_deviceIDRaw &inBranchVector, LOW_deviceIDRaw &outFoundID, LOW_deviceIDRaw &outDiscrVec) { commLock lock( *this); for( int a=0; a<64; a++) { bool readB = readDataBit(); bool cmplB = readDataBit(); if ( readB == cmplB ) { writeData( inBranchVector.getBit( a)); outFoundID.setBit( a, inBranchVector.getBit( a)); outDiscrVec.setBit( a, true); } else { writeData( readB); outFoundID.setBit( a, readB); outDiscrVec.setBit( a, false); } } }
void processRxState(softSerial_t *softSerial) { //digitalToggle(softSerial->txTimerHardware->gpio, softSerial->txTimerHardware->pin); if (--softSerial->timerRxCounter > 0) { return; } if (softSerial->isSearchingForStartBit) { searchForStartBit(softSerial); return; } if (softSerial->isSearchingForStopBit) { searchForStopBit(softSerial); return; } readDataBit(softSerial); }