diff --git a/src/main/rx/crsf.c b/src/main/rx/crsf.c index e06c6dc8d1..1c598ca537 100644 --- a/src/main/rx/crsf.c +++ b/src/main/rx/crsf.c @@ -233,7 +233,7 @@ void crsfRxSendTelemetryData(void) if (telemetryBufLen > 0) { // check that we are not in bi dir mode or that we are not currently receiving data (ie in the middle of an RX frame) // and that there is time to send the telemetry frame before the next RX frame arrives - if (CRSF_PORT_OPTIONS & SERIAL_BIDIR) { + if (rxConfig()->halfDuplex) { const uint32_t timeSinceStartOfFrame = micros() - crsfFrameStartAt; if ((timeSinceStartOfFrame < CRSF_TIME_NEEDED_PER_FRAME_US) || (timeSinceStartOfFrame > CRSF_TIME_BETWEEN_FRAMES_US - CRSF_TIME_NEEDED_PER_FRAME_US)) { diff --git a/src/test/unit/rx_crsf_unittest.cc b/src/test/unit/rx_crsf_unittest.cc index 09fa725b5f..0b41b35325 100644 --- a/src/test/unit/rx_crsf_unittest.cc +++ b/src/test/unit/rx_crsf_unittest.cc @@ -26,6 +26,8 @@ extern "C" { #include "build/debug.h" + #include "config/parameter_group.h" + #include "config/parameter_group_ids.h" #include "common/crc.h" #include "common/utils.h" @@ -47,6 +49,8 @@ extern "C" { extern uint32_t crsfChannelData[CRSF_MAX_CHANNEL]; uint32_t dummyTimeUs; + + PG_REGISTER(rxConfig_t, rxConfig, PG_RX_CONFIG, 0); } #include "unittest_macros.h" diff --git a/src/test/unit/telemetry_crsf_msp_unittest.cc b/src/test/unit/telemetry_crsf_msp_unittest.cc index 8ef8099531..2913bc6867 100644 --- a/src/test/unit/telemetry_crsf_msp_unittest.cc +++ b/src/test/unit/telemetry_crsf_msp_unittest.cc @@ -77,6 +77,7 @@ extern "C" { PG_REGISTER(batteryConfig_t, batteryConfig, PG_BATTERY_CONFIG, 0); PG_REGISTER(telemetryConfig_t, telemetryConfig, PG_TELEMETRY_CONFIG, 0); PG_REGISTER(systemConfig_t, systemConfig, PG_SYSTEM_CONFIG, 0); + PG_REGISTER(rxConfig_t, rxConfig, PG_RX_CONFIG, 0); extern bool crsfFrameDone; extern crsfFrame_t crsfFrame; diff --git a/src/test/unit/telemetry_crsf_unittest.cc b/src/test/unit/telemetry_crsf_unittest.cc index 2744947275..50f84bf393 100644 --- a/src/test/unit/telemetry_crsf_unittest.cc +++ b/src/test/unit/telemetry_crsf_unittest.cc @@ -49,6 +49,7 @@ extern "C" { #include "io/gps.h" #include "io/serial.h" + #include "rx/rx.h" #include "rx/crsf.h" #include "sensors/battery.h" @@ -68,6 +69,7 @@ extern "C" { PG_REGISTER(batteryConfig_t, batteryConfig, PG_BATTERY_CONFIG, 0); PG_REGISTER(telemetryConfig_t, telemetryConfig, PG_TELEMETRY_CONFIG, 0); PG_REGISTER(systemConfig_t, systemConfig, PG_SYSTEM_CONFIG, 0); + PG_REGISTER(rxConfig_t, rxConfig, PG_RX_CONFIG, 0); } #include "unittest_macros.h"