diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index f555e267b..57edeab45 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -1957,7 +1957,7 @@ void menuModelReceiverOptions(event_t event) case ITEM_RECEIVER_TELEMETRY: previousValue = reusableBuffer.receiverSetup.telemetryEnabled; reusableBuffer.receiverSetup.telemetryEnabled = editCheckBox(reusableBuffer.receiverSetup.telemetryEnabled, RECEIVER_OPTIONS_2ND_COLUMN, y, - "Telemetry", attr, event); + "Telemetry", attr, event) & PXX2_RECV_OPTION_MASK_TELEMETRY; if (previousValue != reusableBuffer.receiverSetup.telemetryEnabled) changed = true; break; @@ -1965,7 +1965,7 @@ void menuModelReceiverOptions(event_t event) case ITEM_RECEIVER_PWM_RATE: previousValue = reusableBuffer.receiverSetup.pwmRate; - reusableBuffer.receiverSetup.pwmRate = editCheckBox(reusableBuffer.receiverSetup.pwmRate, RECEIVER_OPTIONS_2ND_COLUMN, y, "9ms PWM", attr, event); + reusableBuffer.receiverSetup.pwmRate = editCheckBox(reusableBuffer.receiverSetup.pwmRate, RECEIVER_OPTIONS_2ND_COLUMN, y, "9ms PWM", attr, event) & PXX2_RECV_OPTION_MASK_FASTPWM; if (previousValue != reusableBuffer.receiverSetup.telemetryEnabled) changed = true; break; diff --git a/radio/src/pulses/pxx2.cpp b/radio/src/pulses/pxx2.cpp index 8d1ff8cd7..7b28efd26 100644 --- a/radio/src/pulses/pxx2.cpp +++ b/radio/src/pulses/pxx2.cpp @@ -148,7 +148,9 @@ void Pxx2Pulses::setupReceiverSetSettingsFrame(uint8_t module) Pxx2Transport::addByte(0x40 + reusableBuffer.receiverSetup.receiverId); uint8_t flag1 = 0; if (reusableBuffer.receiverSetup.pwmRate) - flag1 |= 0x10; + flag1 |= PXX2_RECV_OPTION_MASK_FASTPWM; + if (reusableBuffer.receiverSetup.telemetryEnabled) + flag1 |= PXX2_RECV_OPTION_MASK_TELEMETRY; Pxx2Transport::addByte(flag1); for (int i = 0; i < 24; i++) { Pxx2Transport::addByte(reusableBuffer.receiverSetup.channelMapping[i]); diff --git a/radio/src/pulses/pxx2.h b/radio/src/pulses/pxx2.h index b7c1ee126..3c882e162 100644 --- a/radio/src/pulses/pxx2.h +++ b/radio/src/pulses/pxx2.h @@ -42,6 +42,9 @@ #define PXX2_FLAG0_FAILSAFE (1 << 6) +#define PXX2_RECV_OPTION_MASK_FASTPWM 0x10 +#define PXX2_RECV_OPTION_MASK_TELEMETRY 0x00 // Todo : update when defined + const uint8_t DEFAULT_CHANNEL_MAPPING[] = {0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF}; const uint8_t CH9TO16_CHANNEL_MAPPING[] = {0x89, 0xAB, 0xCD, 0xEF, 0x01, 0x23, 0x45, 0x67};