diff --git a/radio/src/targets/pl18/hal.h b/radio/src/targets/pl18/hal.h index 870321bb0..8015d1590 100644 --- a/radio/src/targets/pl18/hal.h +++ b/radio/src/targets/pl18/hal.h @@ -62,6 +62,12 @@ #define TRIMS_GPIO_REG_LVU #define TRIMS_GPIO_PIN_LVU + // Switches + #define SWITCHES_GPIO_REG_A + #define SWITCHES_GPIO_PIN_A + #define SWITCHES_GPIO_REG_B + #define SWITCHES_GPIO_PIN_B + // Keys #define KEYS_GPIO_PIN_ENTER #define KEYS_GPIO_REG_ENTER diff --git a/radio/src/tests/mixer.cpp b/radio/src/tests/mixer.cpp index 43e36c24e..2d541cc4f 100644 --- a/radio/src/tests/mixer.cpp +++ b/radio/src/tests/mixer.cpp @@ -660,6 +660,8 @@ TEST_F(MixerTest, RecursiveAddChannel) TEST_F(MixerTest, RecursiveAddChannelAfterInactivePhase) { + if (switchGetMaxSwitches() < 4) return; + g_model.flightModeData[1].swtch = SWSRC_FIRST_SWITCH + 1; g_model.mixData[0].destCh = 0; g_model.mixData[0].mltpx = MLTPX_ADD; diff --git a/radio/util/hw_defs/stm32_switches.jinja b/radio/util/hw_defs/stm32_switches.jinja index 6e5913afe..f51361be7 100644 --- a/radio/util/hw_defs/stm32_switches.jinja +++ b/radio/util/hw_defs/stm32_switches.jinja @@ -59,9 +59,11 @@ static inline void _init_switches() pinInit.Mode = LL_GPIO_MODE_INPUT; pinInit.Pull = LL_GPIO_PULL_UP; {% for sw_gpio, pins in switch_gpios.items() | sort %} + {% if sw_gpio %} stm32_gpio_enable_clock({{ sw_gpio }}); pinInit.Pin = {{ pins | join('|') }}; LL_GPIO_Init({{ sw_gpio }}, &pinInit); + {% endif %} {% endfor %} } diff --git a/radio/util/hw_defs/switch_config.py b/radio/util/hw_defs/switch_config.py index 424e0f421..d7522d323 100644 --- a/radio/util/hw_defs/switch_config.py +++ b/radio/util/hw_defs/switch_config.py @@ -66,8 +66,8 @@ SWITCH_CONFIG = { "SJ": { "default": "3POS" } }, "nb4p": { - "SW2" : { "default": "TOGGLE" }, - "SW3" : { "default": "TOGGLE" } + "SA" : { "default": "TOGGLE" }, + "SB" : { "default": "TOGGLE" } }, "lr3pro": { # left side