fix(radio): ensure customisable switch set as Toggle starts in OFF state (#5343)

This commit is contained in:
philmoz
2024-07-29 19:56:23 +10:00
committed by GitHub
parent 18e777a18c
commit e323bd6821
2 changed files with 5 additions and 0 deletions
@@ -69,6 +69,7 @@ class FunctionSwitch : public Window
FSWITCH_SET_CONFIG(switchIndex, val);
if (val == SWITCH_TOGGLE) {
FSWITCH_SET_STARTUP(switchIndex, FS_START_PREVIOUS);
setFSLogicalState(switchIndex, 0);
startChoice->setValue(startChoice->getIntValue());
}
SET_DIRTY();
+4
View File
@@ -22,7 +22,9 @@
#include "hal/switch_driver.h"
#include "hal/adc_driver.h"
#include "myeeprom.h"
#include "opentx.h"
#include "opentx_constants.h"
#include "switches.h"
#include "input_mapping.h"
@@ -90,6 +92,8 @@ void setFSStartupPosition()
{
for (uint8_t i = 0; i < NUM_FUNCTIONS_SWITCHES; i++) {
uint8_t startPos = (g_model.functionSwitchStartConfig >> 2 * i) & 0x03;
if (FSWITCH_CONFIG(i) == SWITCH_TOGGLE)
startPos = FS_START_OFF;
switch(startPos) {
case FS_START_OFF:
g_model.functionSwitchLogicalState &= ~(1 << i); // clear state