diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index 2345cdb3a..8e05ce0a4 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -478,17 +478,6 @@ enum SwitchSources { SWSRC_SR2, #endif -#if defined(STORAGE_SWITCH_GMBL) - SWSRC_GMBL0, - SWSRC_GMBL1, - SWSRC_GMBL2, -#endif - -#if defined(STORAGE_SWITCH_GMBR) - SWSRC_GMBR0, - SWSRC_GMBR1, - SWSRC_GMBR2, -#endif #if defined(PCBSKY9X) SWSRC_ID0 = SWSRC_FIRST_SWITCH, @@ -604,19 +593,21 @@ enum MixSources { MIXSRC_S1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer S1") MIXSRC_6POS, LUA_EXPORT("6pos", "Multipos Switch") MIXSRC_S2, LUA_EXPORT("s2", "Potentiometer S2") - MIXSRC_FIRST_SLIDER, - MIXSRC_S3 = MIXSRC_FIRST_SLIDER, LUA_EXPORT("s3", "Slider S3") - MIXSRC_S4, LUA_EXPORT("s4", "Slider S4") -#if defined(PCBX12S) - MIXSRC_LS, LUA_EXPORT("ls", "Left rear slider") - MIXSRC_RS, LUA_EXPORT("rs", "Right rear slider") - MIXSRC_LAST_POT = MIXSRC_RS, -#endif #if defined(PCBX10) MIXSRC_EXT1, LUA_EXPORT("ext1", "Ext 1") MIXSRC_EXT2, LUA_EXPORT("ext2", "Ext 2") - MIXSRC_LAST_POT = MIXSRC_EXT2, #endif + MIXSRC_FIRST_SLIDER, +#if defined(PCBX12S) + MIXSRC_S3 = MIXSRC_FIRST_SLIDER, LUA_EXPORT("s3", "Slider S3") + MIXSRC_S4, LUA_EXPORT("s4", "Slider S4") + MIXSRC_LS, LUA_EXPORT("ls", "Left rear slider") + MIXSRC_RS, LUA_EXPORT("rs", "Right rear slider") +#else + MIXSRC_LS = MIXSRC_FIRST_SLIDER, LUA_EXPORT("ls", "Left slider") + MIXSRC_RS, LUA_EXPORT("rs", "Right slider") +#endif + MIXSRC_LAST_POT = MIXSRC_RS, #elif defined(PCBX9E) MIXSRC_POT1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer 1") MIXSRC_POT2, LUA_EXPORT("s2", "Potentiometer 2") @@ -732,10 +723,6 @@ enum MixSources { MIXSRC_SQ, LUA_EXPORT("sq", "Switch Q") MIXSRC_SR, LUA_EXPORT("sr", "Switch R") #endif -#if defined(PCBHORUS) - MIXSRC_GMBL, LUA_EXPORT("gmbl", "Switch Left gimbal") - MIXSRC_GMBR, LUA_EXPORT("gmbr", "Switch right gimbal") -#endif #if defined(PCBSKY9X) MIXSRC_3POS = MIXSRC_FIRST_SWITCH, MIXSRC_THR, @@ -901,4 +888,4 @@ enum BluetoothModes { #define PXX2_LEN_RX_NAME 8 #define PXX2_MAX_RECEIVERS_PER_MODULE 3 -#endif // _DATACONSTANTS_H_ \ No newline at end of file +#endif // _DATACONSTANTS_H_ diff --git a/radio/src/gui/480x272/radio_hardware.cpp b/radio/src/gui/480x272/radio_hardware.cpp index dad87c588..dc949ea6b 100644 --- a/radio/src/gui/480x272/radio_hardware.cpp +++ b/radio/src/gui/480x272/radio_hardware.cpp @@ -50,8 +50,8 @@ enum MenuRadioHardwareItems { ITEM_RADIO_HARDWARE_SF, ITEM_RADIO_HARDWARE_SG, ITEM_RADIO_HARDWARE_SH, - ITEM_RADIO_HARDWARE_GMBL, - ITEM_RADIO_HARDWARE_GMBR, + ITEM_RADIO_HARDWARE_SI, // Gimbal switch left + ITEM_RADIO_HARDWARE_SJ, // Gimbal switch right ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE, ITEM_RADIO_HARDWARE_BLUETOOTH_MODE, ITEM_RADIO_HARDWARE_BLUETOOTH_PAIRING_CODE, @@ -73,7 +73,7 @@ enum MenuRadioHardwareItems { #define BLUETOOTH_ROWS 0, uint8_t(g_eeGeneral.bluetoothMode != BLUETOOTH_TELEMETRY ? HIDDEN_ROW : -1), uint8_t(g_eeGeneral.bluetoothMode == BLUETOOTH_OFF ? -1 : 0) // TODO should be moved to the HAL -#define SWITCH_TYPE_MAX(sw) ((MIXSRC_SF-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SH-MIXSRC_FIRST_SWITCH == sw || MIXSRC_GMBL-MIXSRC_FIRST_SWITCH == sw || MIXSRC_GMBR-MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS) +#define SWITCH_TYPE_MAX(sw) ((MIXSRC_SF-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SH-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SI-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SJ-MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS) bool menuRadioHardware(event_t event) { @@ -165,8 +165,8 @@ bool menuRadioHardware(event_t event) case ITEM_RADIO_HARDWARE_SF: case ITEM_RADIO_HARDWARE_SG: case ITEM_RADIO_HARDWARE_SH: - case ITEM_RADIO_HARDWARE_GMBL: - case ITEM_RADIO_HARDWARE_GMBR: + case ITEM_RADIO_HARDWARE_SI: + case ITEM_RADIO_HARDWARE_SJ: { int index = k - ITEM_RADIO_HARDWARE_SA; int config = SWITCH_CONFIG(index); diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index 6e1df79fd..067450240 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -180,7 +180,7 @@ bool isSourceAvailable(int source) } #if defined(PCBX10) - if ((source>=MIXSRC_S3 && source<=MIXSRC_S4) || (source>=MIXSRC_MOUSE1 && source<=MIXSRC_MOUSE2)) + if (source>=MIXSRC_MOUSE1 && source<=MIXSRC_MOUSE2) return false; #endif @@ -253,7 +253,12 @@ bool isInputSourceAvailable(int source) return true; #endif - if (source >= MIXSRC_Rud && source <= MIXSRC_MAX) +#if defined(PCBX10) + if (source >= MIXSRC_MOUSE1 && source <= MIXSRC_MOUSE2) + return false; +#endif + + if (source >= MIXSRC_Rud && source < MIXSRC_MAX) return true; if (source >= MIXSRC_FIRST_TRIM && source <= MIXSRC_LAST_TRIM) diff --git a/radio/src/storage/conversions/conversions_218_219.cpp b/radio/src/storage/conversions/conversions_218_219.cpp index 1f700722d..985d434aa 100644 --- a/radio/src/storage/conversions/conversions_218_219.cpp +++ b/radio/src/storage/conversions/conversions_218_219.cpp @@ -54,7 +54,7 @@ int convertSource_218_to_219(int source) #endif #if defined(PCBHORUS) - if (source >= MIXSRC_GMBL) + if (source >= MIXSRC_SI) source += 2; #endif @@ -88,7 +88,7 @@ int convertSwitch_218_to_219(int swtch) #endif #if defined(PCBHORUS) - if (swtch >= SWSRC_GMBL0) + if (swtch >= SWSRC_SI0) swtch += 2 * 3; if (swtch >= SWSRC_FIRST_MULTIPOS_SWITCH + 3 * XPOTS_MULTIPOS_COUNT) swtch += 2 * XPOTS_MULTIPOS_COUNT; diff --git a/radio/src/targets/horus/board.h b/radio/src/targets/horus/board.h index 0da73628c..e4397a873 100644 --- a/radio/src/targets/horus/board.h +++ b/radio/src/targets/horus/board.h @@ -235,8 +235,8 @@ enum EnumSwitches SW_SF, SW_SG, SW_SH, - SW_GMBL, - SW_GMBR, + SW_SI, + SW_SJ, NUM_SWITCHES }; @@ -269,12 +269,12 @@ enum EnumSwitchesPositions SW_SH0, SW_SH1, SW_SH2, - SW_SGMBL0, - SW_SGMBL1, - SW_SGMBL2, - SW_SGMBR0, - SW_SGMBR1, - SW_SGMBR2, + SW_SI0, + SW_SI1, + SW_SI2, + SW_SJ0, + SW_SJ1, + SW_SJ2, NUM_SWITCHES_POSITIONS }; @@ -359,21 +359,23 @@ enum Analogs { POT1 = POT_FIRST, POT2, POT3, - POT_LAST = POT3, +#if defined(PCBX10) + EXT1, + EXT2, +#endif + POT_LAST = POT_FIRST + NUM_POTS - 1, SLIDER_FIRST, SLIDER_FRONT_LEFT = SLIDER_FIRST, SLIDER_FRONT_RIGHT, +#if defined(PCBX12S) SLIDER_REAR_LEFT, SLIDER_REAR_RIGHT, +#endif SLIDER_LAST = SLIDER_FIRST + NUM_SLIDERS - 1, TX_VOLTAGE, #if defined(PCBX12S) MOUSE1, // TODO why after voltage? MOUSE2, -#endif -#if defined(PCBX10) - EXT1, - EXT2, #endif NUM_ANALOGS }; @@ -383,7 +385,12 @@ enum Analogs { #define DEFAULT_SWITCH_CONFIG (SWITCH_TOGGLE << 14) + (SWITCH_3POS << 12) + (SWITCH_2POS << 10) + (SWITCH_3POS << 8) + (SWITCH_3POS << 6) + (SWITCH_3POS << 4) + (SWITCH_3POS << 2) + (SWITCH_3POS << 0) #define DEFAULT_POTS_CONFIG (POT_WITH_DETENT << 4) + (POT_MULTIPOS_SWITCH << 2) + (POT_WITHOUT_DETENT << 0) + +#if defined(PCBX12S) #define DEFAULT_SLIDERS_CONFIG (SLIDER_WITH_DETENT << 3) + (SLIDER_WITH_DETENT << 2) + (SLIDER_WITH_DETENT << 1) + (SLIDER_WITH_DETENT << 0) +#else +#define DEFAULT_SLIDERS_CONFIG (SLIDER_WITH_DETENT << 1) + (SLIDER_WITH_DETENT << 0) +#endif enum CalibratedAnalogs { CALIBRATED_STICK1, @@ -399,6 +406,8 @@ enum CalibratedAnalogs { CALIBRATED_SLIDER_REAR_LEFT, CALIBRATED_SLIDER_REAR_RIGHT, #else + CALIBRATED_POT_EXT1, + CALIBRATED_POT_EXT2, CALIBRATED_SLIDER_REAR_LEFT, CALIBRATED_SLIDER_REAR_RIGHT, #endif diff --git a/radio/src/targets/horus/hal.h b/radio/src/targets/horus/hal.h index 640214cd3..186bd3329 100644 --- a/radio/src/targets/horus/hal.h +++ b/radio/src/targets/horus/hal.h @@ -117,23 +117,27 @@ #define SWITCHES_GPIO_PIN_H GPIO_Pin_7 // PG.07 #if defined(PCBX10) - #define STORAGE_SWITCH_GMBL - #define HARDWARE_SWITCH_GMBL - #define SWITCHES_GPIO_REG_GMBL GPIOH->IDR - #define SWITCHES_GPIO_PIN_GMBL GPIO_Pin_14 // PH.14 - #define STORAGE_SWITCH_GMBR - #define HARDWARE_SWITCH_GMBR - #define SWITCHES_GPIO_REG_GMBR GPIOH->IDR - #define SWITCHES_GPIO_PIN_GMBR GPIO_Pin_15 // PH.15 + // Gimbal switch left + #define STORAGE_SWITCH_I + #define HARDWARE_SWITCH_I + #define SWITCHES_GPIO_REG_I GPIOH->IDR + #define SWITCHES_GPIO_PIN_I GPIO_Pin_14 // PH.14 + // Gimbal switch right + #define STORAGE_SWITCH_J + #define HARDWARE_SWITCH_J + #define SWITCHES_GPIO_REG_J GPIOH->IDR + #define SWITCHES_GPIO_PIN_J GPIO_Pin_15 // PH.15 #elif defined(PCBX12S) - #define STORAGE_SWITCH_GMBL - #define HARDWARE_SWITCH_GMBL - #define SWITCHES_GPIO_REG_GMBL GPIOB->IDR - #define SWITCHES_GPIO_PIN_GMBL GPIO_Pin_1 // PB.01 - #define STORAGE_SWITCH_GMBR - #define HARDWARE_SWITCH_GMBR - #define SWITCHES_GPIO_REG_GMBR GPIOB->IDR - #define SWITCHES_GPIO_PIN_GMBR GPIO_Pin_0 // PB.00 + // Gimbal switch left + #define STORAGE_SWITCH_I + #define HARDWARE_SWITCH_I + #define SWITCHES_GPIO_REG_I GPIOB->IDR + #define SWITCHES_GPIO_PIN_I GPIO_Pin_1 // PB.01 + // Gimbal switch right + #define STORAGE_SWITCH_J + #define HARDWARE_SWITCH_J + #define SWITCHES_GPIO_REG_J GPIOB->IDR + #define SWITCHES_GPIO_PIN_J GPIO_Pin_0 // PB.00 #endif // Trims diff --git a/radio/src/targets/horus/keys_driver.cpp b/radio/src/targets/horus/keys_driver.cpp index 090376b42..1a04427a4 100644 --- a/radio/src/targets/horus/keys_driver.cpp +++ b/radio/src/targets/horus/keys_driver.cpp @@ -173,6 +173,8 @@ uint32_t switchState(uint8_t index) ADD_INV_2POS_CASE(F); ADD_3POS_CASE(G, 6); ADD_2POS_CASE(H); + ADD_2POS_CASE(I); + ADD_2POS_CASE(J); #else ADD_3POS_CASE(A, 0); ADD_INV_3POS_CASE(B, 1); @@ -182,8 +184,8 @@ uint32_t switchState(uint8_t index) ADD_2POS_CASE(F); ADD_3POS_CASE(G, 6); ADD_2POS_CASE(H); - ADD_2POS_CASE(GMBL); - ADD_2POS_CASE(GMBR); + ADD_2POS_CASE(I); + ADD_2POS_CASE(J); #endif default: break; diff --git a/radio/src/translations/untranslated.h b/radio/src/translations/untranslated.h index d1a39e12e..3734a7ec8 100644 --- a/radio/src/translations/untranslated.h +++ b/radio/src/translations/untranslated.h @@ -31,10 +31,10 @@ #if defined(PCBX12S) #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0""\310JSx""\310JSy" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312GML""\312GMR" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0" #elif defined(PCBX10) - #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\310EX1""\310EX2""\311LS\0""\311RS\0""\313L1\0""\313L2\0" - #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312GML""\312GMR" + #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\310EX1""\310EX2""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0" #elif defined(PCBX9E) #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0"