diff --git a/radio/src/boards/hw_defs/tx16smk3.json b/radio/src/boards/hw_defs/tx16smk3.json index 4bdcbb695..8ffb0d97d 100644 --- a/radio/src/boards/hw_defs/tx16smk3.json +++ b/radio/src/boards/hw_defs/tx16smk3.json @@ -257,7 +257,7 @@ "name": "SI", "type": "2POS", "flags": 0, - "inverted": false, + "inverted": true, "default": "NONE", "display": null, "gpio": null, @@ -268,7 +268,7 @@ "name": "SJ", "type": "2POS", "flags": 0, - "inverted": false, + "inverted": true, "default": "NONE", "display": null, "gpio": null, diff --git a/radio/src/boards/rm-h750/bsp_io.cpp b/radio/src/boards/rm-h750/bsp_io.cpp index df4261950..6a0a77c05 100644 --- a/radio/src/boards/rm-h750/bsp_io.cpp +++ b/radio/src/boards/rm-h750/bsp_io.cpp @@ -222,6 +222,12 @@ static SwitchHwPos _get_switch_pos(uint8_t idx) } } + if (def->inverted) { + pos = pos == SWITCH_HW_UP ? SWITCH_HW_DOWN + : pos == SWITCH_HW_DOWN ? SWITCH_HW_UP + : pos; + } + return pos; }