fix(tx15): 3POS not working for SE/SF (#6572)

This commit is contained in:
3djc
2025-09-14 11:47:32 +10:00
committed by GitHub
parent 0833ddc4f7
commit 7a604cca53
2 changed files with 17 additions and 8 deletions
+7 -1
View File
@@ -189,7 +189,13 @@ static SwitchHwPos _get_switch_pos(uint8_t idx)
bool hi = state & def->Pin_high;
bool lo = state & def->Pin_low;
if (hi && lo) {
if(!isSwitch3Pos(idx))
{
// Switch not declared as 3POS installed in a 3POS HW
if (!(hi && lo)) {
pos = SWITCH_HW_DOWN;
}
} else if (hi && lo) {
pos = SWITCH_HW_MID;
} else if (!hi && lo) {
pos = SWITCH_HW_DOWN;
+10 -7
View File
@@ -165,13 +165,16 @@ TIM17: ROTARY_ENCODER_TIMER
#define SWITCHES_GPIO_PIN_D_H PCA95XX_P7
#define SWITCHES_GPIO_REG_D_L
#define SWITCHES_GPIO_PIN_D_L PCA95XX_P6
#define SWITCHES_E_2POS
#define SWITCHES_GPIO_REG_E
#define SWITCHES_GPIO_PIN_E PCA95XX_P16
#define SWITCHES_F_2POS
#define SWITCHES_GPIO_REG_F
#define SWITCHES_GPIO_PIN_F PCA95XX_P4
#define SWITCHES_E_3POS
#define SWITCHES_GPIO_REG_E_H
#define SWITCHES_GPIO_PIN_E_H PCA95XX_P17
#define SWITCHES_GPIO_REG_E_L
#define SWITCHES_GPIO_PIN_E_L PCA95XX_P16
#define SWITCHES_F_3POS
#define SWITCHES_GPIO_REG_F_H
#define SWITCHES_GPIO_PIN_F_H PCA95XX_P4
#define SWITCHES_GPIO_REG_F_L
#define SWITCHES_GPIO_PIN_F_L PCA95XX_P5
// Expanders
#define IO_INT_GPIO GPIO_PIN(GPIOD, 3)