From f9abdcb0018d0d683f49058671cb0c4babe0107a Mon Sep 17 00:00:00 2001 From: yaoxu <133490859+sneone@users.noreply.github.com> Date: Tue, 14 Jul 2026 14:19:46 +0800 Subject: [PATCH] fix(switch_hw_adc): adjust ADC thresholds for equal 1/3 partitions in switch driver (#7538) --- radio/src/targets/common/arm/stm32/stm32_switch_driver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/targets/common/arm/stm32/stm32_switch_driver.cpp b/radio/src/targets/common/arm/stm32/stm32_switch_driver.cpp index d0c0e5ef2..c4afad71f 100644 --- a/radio/src/targets/common/arm/stm32/stm32_switch_driver.cpp +++ b/radio/src/targets/common/arm/stm32/stm32_switch_driver.cpp @@ -45,9 +45,9 @@ SwitchHwPos stm32_switch_get_position(const stm32_switch_t* sw) case SWITCH_HW_ADC: { uint16_t value = getAnalogValue(sw->Pin_high); - if (value > 3 * 1024) + if (value > ADC_MAX_VALUE*2/3) ret = SWITCH_HW_DOWN; - else if (value >= 1024) + else if (value >= ADC_MAX_VALUE/3) ret = SWITCH_HW_MID; } break; }