void LOW_link::writeData( const bool inSendBit, const strongPullup_t inPullup) { commLock lock( *this); if ( touchBit( inSendBit, inPullup) != inSendBit ) throw comm_error( "Response not equal to sent bit", __FILE__, __LINE__); }
uint8_t LOW_linkPassiveSerial::touchByte( const uint8_t inSendByte, const strongPullup_t inPullup) { commLock lock( *this); uint8_t mask = 0x01; uint8_t retVal = 0x00; for( int a=0; a<8; a++) { retVal |= touchBit( inSendByte & mask) ? mask : 0x00; mask <<= 1; } strongPullup( inPullup); return retVal; }
bool LOW_link::readDataBit( const strongPullup_t inPullup) { commLock lock( *this); return touchBit( true, inPullup); }