diff --git a/library.properties b/library.properties index 56c10d9..8e15f7e 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=serialIO -version=0.2.3 +version=0.2.4 category=Communication sentence=RC protocol paragraph=A common library that can decode multiple RC protocols diff --git a/src/crsf/crsf.cpp b/src/crsf/crsf.cpp index 1daa0af..9a5ed2f 100644 --- a/src/crsf/crsf.cpp +++ b/src/crsf/crsf.cpp @@ -12,9 +12,11 @@ void crsf::begin() { #elif defined(ARDUINO_ARCH_RP2040) SerialUART *serialPort = (SerialUART *)_rxPort; serialPort->setPinout(_txPin, _rxPin); + serialPort->setInvertRX(_inverted); + serialPort->setInvertTX(_inverted); serialPort->begin(CRSF_BAUDRATE, SERIAL_8N1); #else -#warning #warning "Unsupported hardware platform." +#warning "Unsupported hardware platform." #endif } diff --git a/src/fport/fport.cpp b/src/fport/fport.cpp index e541978..dcbe24b 100644 --- a/src/fport/fport.cpp +++ b/src/fport/fport.cpp @@ -18,6 +18,8 @@ void fport::begin() { #elif defined(ARDUINO_ARCH_RP2040) SerialUART *serialPort = (SerialUART *)_rxPort; serialPort->setPinout(_txPin, _rxPin); + serialPort->setInvertRX(_inverted); + serialPort->setInvertTX(_inverted); serialPort->begin(FPORT_BAUDRATE, SERIAL_8N1); #else #warning "Unsupported hardware platform." diff --git a/src/ibus/ibus.cpp b/src/ibus/ibus.cpp index f5f8afe..1790f2a 100644 --- a/src/ibus/ibus.cpp +++ b/src/ibus/ibus.cpp @@ -15,9 +15,11 @@ void ibus::begin() { #elif defined(ARDUINO_ARCH_RP2040) SerialUART *serialPort = (SerialUART *)_rxPort; serialPort->setPinout(_txPin, _rxPin); + serialPort->setInvertRX(_inverted); + serialPort->setInvertTX(_inverted); serialPort->begin(IBUS_BAUDRATE, SERIAL_8N1); #else -#warning #warning "Unsupported hardware platform." +#warning "Unsupported hardware platform." #endif } @@ -26,7 +28,7 @@ void ibus::processIncoming() { _rxData[IBUS_MAX_PACKET_SIZE - 1] = _rxPort->read(); if (_rxData[0] == IBUS_HEADER1 && _rxData[1] == IBUS_HEADER2) { if (checkSum()) { - _channelData.header = (_rxData[2] << 8) | _rxData[0]; + _channelData.header = (_rxData[1] << 8) | _rxData[0]; _channelData.channel1 = (_rxData[3] << 8) | _rxData[2]; _channelData.channel2 = (_rxData[5] << 8) | _rxData[4]; _channelData.channel3 = (_rxData[7] << 8) | _rxData[6]; diff --git a/src/sbus/sbus.cpp b/src/sbus/sbus.cpp index eafc2f4..4b874c1 100644 --- a/src/sbus/sbus.cpp +++ b/src/sbus/sbus.cpp @@ -17,6 +17,8 @@ void sbus::begin() { #elif defined(ARDUINO_ARCH_RP2040) SerialUART *serialPort = (SerialUART *)_rxPort; serialPort->setPinout(_txPin, _rxPin); + serialPort->setInvertRX(_inverted); + serialPort->setInvertTX(_inverted); serialPort->begin(SBUS_BAUDRATE, SERIAL_8E2); #else #warning "Unsupported hardware platform."