From 5411b785a9a9aede39154e4055dd1e25e249f9f0 Mon Sep 17 00:00:00 2001 From: 3djc Date: Mon, 27 May 2019 15:58:16 +0200 Subject: [PATCH] Switches refactoring (#6454) Switches refactoring --- radio/src/dataconstants.h | 45 +++++++++++++++++------------ radio/src/datastructs.h | 6 ++-- radio/src/targets/horus/board.h | 6 ++-- radio/src/targets/horus/hal.h | 12 ++++++++ radio/src/targets/sky9x/board.h | 2 ++ radio/src/targets/taranis/board.h | 17 ++++++++--- radio/src/targets/taranis/hal.h | 47 +++++++++++++++++++++++++++++++ 7 files changed, 107 insertions(+), 28 deletions(-) diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index 0d245d55e..c93116143 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -370,112 +370,121 @@ enum SwitchSources { SWSRC_FIRST_SWITCH, -#if defined(PCBHORUS) || defined(PCBTARANIS) +#if defined(STORAGE_SWITCH_A) SWSRC_SA0 = SWSRC_FIRST_SWITCH, SWSRC_SA1, SWSRC_SA2, +#endif + +#if defined(STORAGE_SWITCH_B) SWSRC_SB0, SWSRC_SB1, SWSRC_SB2, +#endif + +#if defined(STORAGE_SWITCH_C) SWSRC_SC0, SWSRC_SC1, SWSRC_SC2, +#endif + +#if defined(STORAGE_SWITCH_D) SWSRC_SD0, SWSRC_SD1, SWSRC_SD2, #endif -#if defined(HARDWARE_SWITCH_E) +#if defined(STORAGE_SWITCH_E) SWSRC_SE0, SWSRC_SE1, SWSRC_SE2, #endif -#if defined(HARDWARE_SWITCH_F) +#if defined(STORAGE_SWITCH_F) SWSRC_SF0, SWSRC_SF1, SWSRC_SF2, #endif -#if defined(HARDWARE_SWITCH_G) +#if defined(STORAGE_SWITCH_G) SWSRC_SG0, SWSRC_SG1, SWSRC_SG2, #endif -#if defined(HARDWARE_SWITCH_H) +#if defined(STORAGE_SWITCH_H) SWSRC_SH0, SWSRC_SH1, SWSRC_SH2, #endif -#if defined(HARDWARE_SWITCH_I) +#if defined(STORAGE_SWITCH_I) SWSRC_SI0, SWSRC_SI1, SWSRC_SI2, #endif -#if defined(HARDWARE_SWITCH_J) +#if defined(STORAGE_SWITCH_J) SWSRC_SJ0, SWSRC_SJ1, SWSRC_SJ2, #endif -#if defined(HARDWARE_SWITCH_K) +#if defined(STORAGE_SWITCH_K) SWSRC_SK0, SWSRC_SK1, SWSRC_SK2, #endif -#if defined(HARDWARE_SWITCH_L) +#if defined(STORAGE_SWITCH_L) SWSRC_SL0, SWSRC_SL1, SWSRC_SL2, #endif -#if defined(HARDWARE_SWITCH_M) +#if defined(STORAGE_SWITCH_M) SWSRC_SM0, SWSRC_SM1, SWSRC_SM2, #endif -#if defined(HARDWARE_SWITCH_N) +#if defined(STORAGE_SWITCH_N) SWSRC_SN0, SWSRC_SN1, SWSRC_SN2, #endif -#if defined(HARDWARE_SWITCH_O) +#if defined(STORAGE_SWITCH_O) SWSRC_SO0, SWSRC_SO1, SWSRC_SO2, #endif -#if defined(HARDWARE_SWITCH_P) +#if defined(STORAGE_SWITCH_P) SWSRC_SP0, SWSRC_SP1, SWSRC_SP2, #endif -#if defined(HARDWARE_SWITCH_Q) +#if defined(STORAGE_SWITCH_Q) SWSRC_SQ0, SWSRC_SQ1, SWSRC_SQ2, #endif -#if defined(HARDWARE_SWITCH_R) +#if defined(STORAGE_SWITCH_R) SWSRC_SR0, SWSRC_SR1, SWSRC_SR2, #endif -#if defined(HARDWARE_SWITCH_GMBL) +#if defined(STORAGE_SWITCH_GMBL) SWSRC_GMBL0, SWSRC_GMBL1, SWSRC_GMBL2, #endif -#if defined(HARDWARE_SWITCH_GMBR) +#if defined(STORAGE_SWITCH_GMBR) SWSRC_GMBR0, SWSRC_GMBR1, SWSRC_GMBR2, @@ -494,7 +503,7 @@ enum SwitchSources { SWSRC_TRAINER = SWSRC_TRN, SWSRC_LAST_SWITCH = SWSRC_TRN, #else - SWSRC_LAST_SWITCH = SWSRC_FIRST_SWITCH + NUM_SWITCHES_POSITIONS - 1, + SWSRC_LAST_SWITCH = SWSRC_FIRST_SWITCH + STORAGE_NUM_SWITCHES_POSITIONS - 1, #endif #if NUM_XPOTS > 0 diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 1b1693abc..2267af0b8 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -686,7 +686,7 @@ PACK(struct TrainerData { uint8_t backlightColor; \ swarnstate_t switchUnlockStates; \ swconfig_t switchConfig; \ - char switchNames[NUM_SWITCHES][LEN_SWITCH_NAME]; \ + char switchNames[STORAGE_NUM_SWITCHES][LEN_SWITCH_NAME]; \ char anaNames[NUM_STICKS+NUM_POTS+NUM_SLIDERS][LEN_ANA_NAME]; \ BLUETOOTH_FIELDS #elif defined(PCBSKY9X) @@ -699,7 +699,7 @@ PACK(struct TrainerData { uint8_t optrexDisplay; \ uint8_t sticksGain; \ uint8_t rotarySteps; \ - char switchNames[NUM_SWITCHES][LEN_SWITCH_NAME]; \ + char switchNames[STORAGE_NUM_SWITCHES][LEN_SWITCH_NAME]; \ char anaNames[NUM_STICKS+NUM_POTS+NUM_SLIDERS][LEN_ANA_NAME]; #else #define EXTRA_GENERAL_FIELDS @@ -909,7 +909,7 @@ static inline void check_struct() CHKSIZE(RadioData, 860); CHKSIZE(ModelData, 6157); #elif defined(PCBXLITE) - CHKSIZE(RadioData, 852); + CHKSIZE(RadioData, 858); CHKSIZE(ModelData, 6157); #elif defined(PCBX7) CHKSIZE(RadioData, 864); diff --git a/radio/src/targets/horus/board.h b/radio/src/targets/horus/board.h index 22046b4b9..14a540c5d 100644 --- a/radio/src/targets/horus/board.h +++ b/radio/src/targets/horus/board.h @@ -285,7 +285,7 @@ enum EnumSwitches NUM_SWITCHES }; -#define STORAGE_NUM_SWITCHES 10 +#define STORAGE_NUM_SWITCHES NUM_SWITCHES #define IS_3POS(x) ((x) != SW_SF && (x) != SW_SH) enum EnumSwitchesPositions @@ -320,12 +320,12 @@ enum EnumSwitchesPositions SW_SGMBR0, SW_SGMBR1, SW_SGMBR2, - NUM_SWITCHES_POSITIONS + STORAGE_NUM_SWITCHES_POSITIONS }; #if defined(__cplusplus) -static_assert(NUM_SWITCHES_POSITIONS == NUM_SWITCHES * 3, "Wrong switches positions count"); +static_assert(STORAGE_NUM_SWITCHES_POSITIONS == NUM_SWITCHES * 3, "Wrong switches positions count"); #endif void keysInit(void); diff --git a/radio/src/targets/horus/hal.h b/radio/src/targets/horus/hal.h index 0c4e9ffab..6800c1096 100644 --- a/radio/src/targets/horus/hal.h +++ b/radio/src/targets/horus/hal.h @@ -67,54 +67,66 @@ #define ROTARY_ENCODER_EXTI_PinSource2 EXTI_PinSource10 // Switches +#define STORAGE_SWITCH_A #define HARDWARE_SWITCH_A #define SWITCHES_GPIO_REG_A_H GPIOH->IDR #define SWITCHES_GPIO_PIN_A_H GPIO_Pin_9 // PH.09 #define SWITCHES_GPIO_REG_A_L GPIOI->IDR #define SWITCHES_GPIO_PIN_A_L GPIO_Pin_15 // PI.15 +#define STORAGE_SWITCH_B #define HARDWARE_SWITCH_B #define SWITCHES_GPIO_REG_B_H GPIOH->IDR #define SWITCHES_GPIO_PIN_B_H GPIO_Pin_12 // PH.12 #define SWITCHES_GPIO_REG_B_L GPIOB->IDR #define SWITCHES_GPIO_PIN_B_L GPIO_Pin_12 // PB.12 +#define STORAGE_SWITCH_C #define HARDWARE_SWITCH_C #define SWITCHES_GPIO_REG_C_H GPIOD->IDR #define SWITCHES_GPIO_PIN_C_H GPIO_Pin_11 // PD.11 #define SWITCHES_GPIO_REG_C_L GPIOB->IDR #define SWITCHES_GPIO_PIN_C_L GPIO_Pin_15 // PB.15 +#define STORAGE_SWITCH_D #define HARDWARE_SWITCH_D #define SWITCHES_GPIO_REG_D_H GPIOJ->IDR #define SWITCHES_GPIO_PIN_D_H GPIO_Pin_7 // PJ.07 #define SWITCHES_GPIO_REG_D_L GPIOG->IDR #define SWITCHES_GPIO_PIN_D_L GPIO_Pin_2 // PG.02 +#define STORAGE_SWITCH_E #define HARDWARE_SWITCH_E #define SWITCHES_GPIO_REG_E_H GPIOH->IDR #define SWITCHES_GPIO_PIN_E_H GPIO_Pin_4 // PH.04 #define SWITCHES_GPIO_REG_E_L GPIOE->IDR #define SWITCHES_GPIO_PIN_E_L GPIO_Pin_3 // PE.03 +#define STORAGE_SWITCH_F #define HARDWARE_SWITCH_F #define SWITCHES_GPIO_REG_F GPIOH->IDR #define SWITCHES_GPIO_PIN_F GPIO_Pin_3 // PH.03 +#define STORAGE_SWITCH_G #define HARDWARE_SWITCH_G #define SWITCHES_GPIO_REG_G_H GPIOG->IDR #define SWITCHES_GPIO_PIN_G_H GPIO_Pin_6 // PG.06 #define SWITCHES_GPIO_REG_G_L GPIOG->IDR #define SWITCHES_GPIO_PIN_G_L GPIO_Pin_3 // PG.03 +#define STORAGE_SWITCH_H #define HARDWARE_SWITCH_H #define SWITCHES_GPIO_REG_H GPIOG->IDR #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 #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 diff --git a/radio/src/targets/sky9x/board.h b/radio/src/targets/sky9x/board.h index 9350ff54f..2bc85ebf1 100644 --- a/radio/src/targets/sky9x/board.h +++ b/radio/src/targets/sky9x/board.h @@ -51,6 +51,8 @@ void rotaryEncoderEnd(); // Keys driver #define NUM_SWITCHES 7 +#define STORAGE_NUM_SWITCHES NUM_SWITCHES + enum EnumKeys { KEY_MENU, diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index afc6d6c5e..abd446e82 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -441,23 +441,32 @@ enum EnumSwitchesPositions #endif NUM_SWITCHES_POSITIONS }; + #if defined(PCBXLITES) #define NUM_SWITCHES 6 + #define STORAGE_NUM_SWITCHES NUM_SWITCHES #elif defined(PCBXLITE) #define NUM_SWITCHES 4 + #define STORAGE_NUM_SWITCHES 6 +#elif defined(PCBT12) + #define NUM_SWITCHES 6 + #define STORAGE_NUM_SWITCHES 8 #elif defined(PCBX7) #define NUM_SWITCHES 8 + #define STORAGE_NUM_SWITCHES NUM_SWITCHES #elif defined(PCBX9LITE) #define NUM_SWITCHES 5 + #define STORAGE_NUM_SWITCHES NUM_SWITCHES #elif defined(PCBX9E) - #define NUM_SWITCHES 18 // yes, it's a lot! + #define NUM_SWITCHES 18 // yes, it's perfect like that ! + #define STORAGE_NUM_SWITCHES NUM_SWITCHES #else #define NUM_SWITCHES 8 + #define STORAGE_NUM_SWITCHES NUM_SWITCHES #endif -#if defined(__cplusplus) -static_assert(NUM_SWITCHES_POSITIONS == NUM_SWITCHES * 3, "Wrong switches positions count"); -#endif +#define STORAGE_NUM_SWITCHES_POSITIONS (STORAGE_NUM_SWITCHES * 3) +#define NUM_SWITCHES_POSITIONS (NUM_SWITCHES * 3) void keysInit(void); uint8_t keyState(uint8_t index); diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h index 07fe4038c..92dac4b2b 100644 --- a/radio/src/targets/taranis/hal.h +++ b/radio/src/targets/taranis/hal.h @@ -223,24 +223,29 @@ // Switches #if defined(PCBX9E) + #define STORAGE_SWITCH_A + #define HARDWARE_SWITCH_A #define HARDWARE_SWITCH_A #define SWITCHES_GPIO_REG_A_H GPIOD->IDR #define SWITCHES_GPIO_PIN_A_H GPIO_Pin_10 // PD.10 #define SWITCHES_GPIO_REG_A_L GPIOD->IDR #define SWITCHES_GPIO_PIN_A_L GPIO_Pin_14 // PD.14 #elif defined(PCBXLITE) || defined(PCBX9LITE) + #define STORAGE_SWITCH_A #define HARDWARE_SWITCH_A #define SWITCHES_GPIO_REG_A_H GPIOE->IDR #define SWITCHES_GPIO_PIN_A_H GPIO_Pin_1 // PE.01 #define SWITCHES_GPIO_REG_A_L GPIOE->IDR #define SWITCHES_GPIO_PIN_A_L GPIO_Pin_0 // PE.00 #elif defined(PCBX7) + #define STORAGE_SWITCH_A #define HARDWARE_SWITCH_A #define SWITCHES_GPIO_REG_A_L GPIOE->IDR #define SWITCHES_GPIO_PIN_A_L GPIO_Pin_7 // PE.07 #define SWITCHES_GPIO_REG_A_H GPIOE->IDR #define SWITCHES_GPIO_PIN_A_H GPIO_Pin_13 // PE.13 #else + #define STORAGE_SWITCH_A #define HARDWARE_SWITCH_A #define SWITCHES_GPIO_REG_A_H GPIOB->IDR #define SWITCHES_GPIO_PIN_A_H GPIO_Pin_5 // PB.05 @@ -249,30 +254,35 @@ #endif #if defined(PCBX9E) + #define STORAGE_SWITCH_B #define HARDWARE_SWITCH_B #define SWITCHES_GPIO_REG_B_H GPIOG->IDR #define SWITCHES_GPIO_PIN_B_H GPIO_Pin_11 // PG.11 #define SWITCHES_GPIO_REG_B_L GPIOG->IDR #define SWITCHES_GPIO_PIN_B_L GPIO_Pin_10 // PG.10 #elif defined(PCBXLITE) + #define STORAGE_SWITCH_B #define HARDWARE_SWITCH_B #define SWITCHES_GPIO_REG_B_L GPIOA->IDR #define SWITCHES_GPIO_PIN_B_L GPIO_Pin_6 // PA.06 #define SWITCHES_GPIO_REG_B_H GPIOA->IDR #define SWITCHES_GPIO_PIN_B_H GPIO_Pin_5 // PA.05 #elif defined(PCBX7) + #define STORAGE_SWITCH_B #define HARDWARE_SWITCH_B #define SWITCHES_GPIO_REG_B_L GPIOE->IDR #define SWITCHES_GPIO_PIN_B_L GPIO_Pin_15 // PE.15 #define SWITCHES_GPIO_REG_B_H GPIOA->IDR #define SWITCHES_GPIO_PIN_B_H GPIO_Pin_5 // PA.05 #elif defined(PCBX9LITE) + #define STORAGE_SWITCH_B #define HARDWARE_SWITCH_B #define SWITCHES_GPIO_REG_B_L GPIOB->IDR #define SWITCHES_GPIO_PIN_B_L GPIO_Pin_4 // PB.04 #define SWITCHES_GPIO_REG_B_H GPIOB->IDR #define SWITCHES_GPIO_PIN_B_H GPIO_Pin_5 // PB.05 #else + #define STORAGE_SWITCH_B #define HARDWARE_SWITCH_B #define SWITCHES_GPIO_REG_B_H GPIOE->IDR #define SWITCHES_GPIO_PIN_B_H GPIO_Pin_1 // PE.01 @@ -281,24 +291,28 @@ #endif #if defined(PCBX9E) + #define STORAGE_SWITCH_C #define HARDWARE_SWITCH_C #define SWITCHES_GPIO_REG_C_H GPIOF->IDR #define SWITCHES_GPIO_PIN_C_H GPIO_Pin_13 // PF.13 #define SWITCHES_GPIO_REG_C_L GPIOF->IDR #define SWITCHES_GPIO_PIN_C_L GPIO_Pin_14 // PF.14 #elif defined(PCBXLITE) || defined(PCBX9LITE) + #define STORAGE_SWITCH_C #define HARDWARE_SWITCH_C #define SWITCHES_GPIO_REG_C_L GPIOE->IDR #define SWITCHES_GPIO_PIN_C_L GPIO_Pin_2 // PE.02 #define SWITCHES_GPIO_REG_C_H GPIOE->IDR #define SWITCHES_GPIO_PIN_C_H GPIO_Pin_3 // PE.03 #elif defined(PCBX7) + #define STORAGE_SWITCH_C #define HARDWARE_SWITCH_C #define SWITCHES_GPIO_REG_C_L GPIOD->IDR #define SWITCHES_GPIO_PIN_C_L GPIO_Pin_11 // PD.11 #define SWITCHES_GPIO_REG_C_H GPIOE->IDR #define SWITCHES_GPIO_PIN_C_H GPIO_Pin_0 // PE.00 #else + #define STORAGE_SWITCH_C #define HARDWARE_SWITCH_C #define SWITCHES_GPIO_REG_C_H GPIOE->IDR #define SWITCHES_GPIO_PIN_C_H GPIO_Pin_15 // PE.15 @@ -307,24 +321,28 @@ #endif #if defined(PCBX9E) + #define STORAGE_SWITCH_D #define HARDWARE_SWITCH_D #define SWITCHES_GPIO_REG_D_H GPIOE->IDR #define SWITCHES_GPIO_PIN_D_H GPIO_Pin_1 // PE.01 #define SWITCHES_GPIO_REG_D_L GPIOE->IDR #define SWITCHES_GPIO_PIN_D_L GPIO_Pin_2 // PE.02 #elif defined(PCBX9DP) + #define STORAGE_SWITCH_D #define HARDWARE_SWITCH_D #define SWITCHES_GPIO_REG_D_H GPIOE->IDR #define SWITCHES_GPIO_PIN_D_H GPIO_Pin_7 // PE.07 #define SWITCHES_GPIO_REG_D_L GPIOE->IDR #define SWITCHES_GPIO_PIN_D_L GPIO_Pin_13 // PE.13 #elif defined(PCBXLITE) + #define STORAGE_SWITCH_D #define HARDWARE_SWITCH_D #define SWITCHES_GPIO_REG_D_L GPIOB->IDR #define SWITCHES_GPIO_PIN_D_L GPIO_Pin_4 // PB.04 #define SWITCHES_GPIO_REG_D_H GPIOB->IDR #define SWITCHES_GPIO_PIN_D_H GPIO_Pin_5 // PB.05 #elif defined(PCBX7) + #define STORAGE_SWITCH_D #define HARDWARE_SWITCH_D #define SWITCHES_GPIO_REG_D_L GPIOE->IDR #define SWITCHES_GPIO_PIN_D_L GPIO_Pin_1 // PE.01 @@ -333,6 +351,7 @@ #elif defined(PCBX9LITE) // no SWD #else + #define STORAGE_SWITCH_D #define HARDWARE_SWITCH_D #define SWITCHES_GPIO_REG_D_H GPIOE->IDR #define SWITCHES_GPIO_PIN_D_H GPIO_Pin_7 // PE.07 @@ -341,22 +360,26 @@ #endif #if defined(PCBX9E) + #define STORAGE_SWITCH_E #define HARDWARE_SWITCH_E #define SWITCHES_GPIO_REG_E_H GPIOE->IDR #define SWITCHES_GPIO_PIN_E_H GPIO_Pin_7 // PE.07 #define SWITCHES_GPIO_REG_E_L GPIOE->IDR #define SWITCHES_GPIO_PIN_E_L GPIO_Pin_13 // PE.13 #elif defined(PCBXLITES) + #define STORAGE_SWITCH_E #define HARDWARE_SWITCH_E #define SWITCHES_GPIO_REG_E GPIOE->IDR #define SWITCHES_GPIO_PIN_E GPIO_Pin_5 // PE.05 #elif defined(PCBX9LITE) + #define STORAGE_SWITCH_E #define HARDWARE_SWITCH_E #define SWITCHES_GPIO_REG_E GPIOC->IDR #define SWITCHES_GPIO_PIN_E GPIO_Pin_13 // PC.13 #elif defined(PCBX7) || defined(PCBXLITE) // no SWE #else + #define STORAGE_SWITCH_E #define HARDWARE_SWITCH_E #define SWITCHES_GPIO_REG_E_H GPIOB->IDR #define SWITCHES_GPIO_PIN_E_H GPIO_Pin_3 // PB.03 @@ -365,30 +388,36 @@ #endif #if defined(PCBX9E) + #define STORAGE_SWITCH_F #define HARDWARE_SWITCH_F #define SWITCHES_GPIO_REG_F GPIOE->IDR #define SWITCHES_GPIO_PIN_F GPIO_Pin_11 // PE.11 #elif defined(PCBXLITES) + #define STORAGE_SWITCH_F #define HARDWARE_SWITCH_F #define SWITCHES_GPIO_REG_F GPIOC->IDR #define SWITCHES_GPIO_PIN_F GPIO_Pin_3 // PC.03 #elif defined(PCBXLITE) // no SWF #elif defined(PCBX7) + #define STORAGE_SWITCH_F #define HARDWARE_SWITCH_F #define SWITCHES_GPIO_REG_F GPIOE->IDR #define SWITCHES_GPIO_PIN_F GPIO_Pin_14 // PE.14 #elif defined(PCBX9LITE) + #define STORAGE_SWITCH_F #define HARDWARE_SWITCH_F #define SWITCHES_GPIO_REG_F GPIOA->IDR #define SWITCHES_GPIO_PIN_F GPIO_Pin_5 // PA.05 #else + #define STORAGE_SWITCH_F #define HARDWARE_SWITCH_F #define SWITCHES_GPIO_REG_F GPIOE->IDR #define SWITCHES_GPIO_PIN_F GPIO_Pin_14 // PE.14 #endif #if defined(PCBX9E) + #define STORAGE_SWITCH_G #define HARDWARE_SWITCH_G #define SWITCHES_GPIO_REG_G_H GPIOF->IDR #define SWITCHES_GPIO_PIN_G_H GPIO_Pin_3 // PF.03 @@ -397,10 +426,12 @@ #elif defined(RADIO_X7) || defined(PCBXLITE) || defined(PCBX9LITE) // no SWG #elif defined(RADIO_T12) + #define STORAGE_SWITCH_G #define HARDWARE_SWITCH_G #define SWITCHES_GPIO_REG_G GPIOE->IDR #define SWITCHES_GPIO_PIN_G GPIO_Pin_14 // PE.14 #else + #define STORAGE_SWITCH_G #define HARDWARE_SWITCH_G #define SWITCHES_GPIO_REG_G_H GPIOE->IDR #define SWITCHES_GPIO_PIN_G_H GPIO_Pin_9 // PE.09 @@ -409,20 +440,24 @@ #endif #if defined(PCBX9E) + #define STORAGE_SWITCH_H #define HARDWARE_SWITCH_H #define SWITCHES_GPIO_REG_H GPIOF->IDR #define SWITCHES_GPIO_PIN_H GPIO_Pin_1 // PF.01 #elif defined(PCBX9DP) + #define STORAGE_SWITCH_H #define HARDWARE_SWITCH_H #define SWITCHES_GPIO_REG_H GPIOD->IDR #define SWITCHES_GPIO_PIN_H GPIO_Pin_14 // PD.14 #elif defined(PCBXLITE) || defined(PCBX9LITE) // no SWH #elif defined(PCBX7) + #define STORAGE_SWITCH_H #define HARDWARE_SWITCH_H #define SWITCHES_GPIO_REG_H GPIOD->IDR #define SWITCHES_GPIO_PIN_H GPIO_Pin_14 // PD.14 #else + #define STORAGE_SWITCH_H #define HARDWARE_SWITCH_H #define SWITCHES_GPIO_REG_H GPIOE->IDR #define SWITCHES_GPIO_PIN_H GPIO_Pin_13 // PE.13 @@ -430,7 +465,9 @@ // X7 P400 P401 headers additionnal momentary switches #if defined(PCBX7) + #define STORAGE_SWITCH_I #define HARDWARE_SWITCH_I + #define STORAGE_SWITCH_J #define HARDWARE_SWITCH_J #define SWITCHES_GPIO_REG_I GPIOC->IDR #define SWITCHES_GPIO_PIN_I GPIO_Pin_13 //PC.13 @@ -439,51 +476,61 @@ #endif #if defined(PCBX9E) + #define STORAGE_SWITCH_I #define HARDWARE_SWITCH_I #define SWITCHES_GPIO_REG_I_H GPIOF->IDR #define SWITCHES_GPIO_PIN_I_H GPIO_Pin_15 // PF.15 #define SWITCHES_GPIO_REG_I_L GPIOE->IDR #define SWITCHES_GPIO_PIN_I_L GPIO_Pin_14 // PE.14 + #define STORAGE_SWITCH_J #define HARDWARE_SWITCH_J #define SWITCHES_GPIO_REG_J_H GPIOG->IDR #define SWITCHES_GPIO_PIN_J_H GPIO_Pin_7 // PG.07 #define SWITCHES_GPIO_REG_J_L GPIOG->IDR #define SWITCHES_GPIO_PIN_J_L GPIO_Pin_8 // PG.08 + #define STORAGE_SWITCH_k #define HARDWARE_SWITCH_k #define SWITCHES_GPIO_REG_K_H GPIOG->IDR #define SWITCHES_GPIO_PIN_K_H GPIO_Pin_13 // PG.13 #define SWITCHES_GPIO_REG_K_L GPIOG->IDR #define SWITCHES_GPIO_PIN_K_L GPIO_Pin_12 // PG.12 + #define STORAGE_SWITCH_L #define HARDWARE_SWITCH_L #define SWITCHES_GPIO_REG_L_H GPIOE->IDR #define SWITCHES_GPIO_PIN_L_H GPIO_Pin_9 // PE.09 #define SWITCHES_GPIO_REG_L_L GPIOE->IDR #define SWITCHES_GPIO_PIN_L_L GPIO_Pin_8 // PE.08 + #define STORAGE_SWITCH_M #define HARDWARE_SWITCH_M #define SWITCHES_GPIO_REG_M_H GPIOE->IDR #define SWITCHES_GPIO_PIN_M_H GPIO_Pin_15 // PE.15 #define SWITCHES_GPIO_REG_M_L GPIOA->IDR #define SWITCHES_GPIO_PIN_M_L GPIO_Pin_5 // PA.05 + #define STORAGE_SWITCH_N #define HARDWARE_SWITCH_N #define SWITCHES_GPIO_REG_N_H GPIOB->IDR #define SWITCHES_GPIO_PIN_N_H GPIO_Pin_3 // PB.03 #define SWITCHES_GPIO_REG_N_L GPIOB->IDR #define SWITCHES_GPIO_PIN_N_L GPIO_Pin_4 // PB.04 + #define STORAGE_SWITCH_O #define HARDWARE_SWITCH_O #define SWITCHES_GPIO_REG_O_H GPIOF->IDR #define SWITCHES_GPIO_PIN_O_H GPIO_Pin_7 // PF.07 #define SWITCHES_GPIO_REG_O_L GPIOE->IDR #define SWITCHES_GPIO_PIN_O_L GPIO_Pin_10 // PE.10 + #define STORAGE_SWITCH_P #define HARDWARE_SWITCH_P #define SWITCHES_GPIO_REG_P_H GPIOF->IDR #define SWITCHES_GPIO_PIN_P_H GPIO_Pin_11 // PF.11 #define SWITCHES_GPIO_REG_P_L GPIOF->IDR #define SWITCHES_GPIO_PIN_P_L GPIO_Pin_12 // PF.12 + #define STORAGE_SWITCH_Q #define HARDWARE_SWITCH_Q #define SWITCHES_GPIO_REG_Q_H GPIOF->IDR #define SWITCHES_GPIO_PIN_Q_H GPIO_Pin_5 // PF.05 #define SWITCHES_GPIO_REG_Q_L GPIOF->IDR #define SWITCHES_GPIO_PIN_Q_L GPIO_Pin_6 // PF.06 + #define STORAGE_SWITCH_R #define HARDWARE_SWITCH_R #define SWITCHES_GPIO_REG_R_H GPIOB->IDR #define SWITCHES_GPIO_PIN_R_H GPIO_Pin_5 // PB.05