diff --git a/src/main/io/serial_msp.c b/src/main/io/serial_msp.c index a2f472f45d..732070a7d5 100644 --- a/src/main/io/serial_msp.c +++ b/src/main/io/serial_msp.c @@ -1033,7 +1033,7 @@ static bool processOutCommand(uint8_t cmdMSP) break; case MSP_RX_CONFIG: - headSerialReply(16); + headSerialReply(22); serialize8(masterConfig.rxConfig.serialrx_provider); serialize16(masterConfig.rxConfig.maxcheck); serialize16(masterConfig.rxConfig.midrc); @@ -1044,6 +1044,9 @@ static bool processOutCommand(uint8_t cmdMSP) serialize8(masterConfig.rxConfig.rcInterpolation); serialize8(masterConfig.rxConfig.rcInterpolationInterval); serialize16(masterConfig.rxConfig.airModeActivateThreshold); + serialize8(masterConfig.rxConfig.nrf24rx_protocol); + serialize32(masterConfig.rxConfig.nrf24rx_id); + serialize8(masterConfig.rxConfig.nrf24rx_channel_count); break; case MSP_FAILSAFE_CONFIG: @@ -1692,8 +1695,12 @@ static bool processInCommand(void) masterConfig.rxConfig.rcInterpolationInterval = read8(); masterConfig.rxConfig.airModeActivateThreshold = read16(); } + if (currentPort->dataSize > 16) { + masterConfig.rxConfig.nrf24rx_protocol = read8(); + masterConfig.rxConfig.nrf24rx_id = read32(); + masterConfig.rxConfig.nrf24rx_channel_count = read8(); + } break; - case MSP_SET_FAILSAFE_CONFIG: masterConfig.failsafeConfig.failsafe_delay = read8(); masterConfig.failsafeConfig.failsafe_off_delay = read8(); diff --git a/src/main/rx/rx.h b/src/main/rx/rx.h index effd1cc526..e3087ce3ae 100644 --- a/src/main/rx/rx.h +++ b/src/main/rx/rx.h @@ -113,6 +113,9 @@ typedef struct rxConfig_s { uint8_t rcmap[MAX_MAPPABLE_RX_INPUTS]; // mapping of radio channels to internal RPYTA+ order uint8_t serialrx_provider; // type of UART-based receiver (0 = spek 10, 1 = spek 11, 2 = sbus). Must be enabled by FEATURE_RX_SERIAL first. uint8_t sbus_inversion; // default sbus (Futaba, FrSKY) is inverted. Support for uninverted OpenLRS (and modified FrSKY) receivers. + uint8_t nrf24rx_protocol; // type of nrf24 protocol (0 = v202 250kbps). Must be enabled by FEATURE_RX_NRF24 first. + uint32_t nrf24rx_id; + uint8_t nrf24rx_channel_count; uint8_t spektrum_sat_bind; // number of bind pulses for Spektrum satellite receivers uint8_t spektrum_sat_bind_autoreset; // whenever we will reset (exit) binding mode after hard reboot uint8_t rssi_channel;