+16
-12
@@ -529,15 +529,7 @@ enum SwitchSources {
|
||||
|
||||
SWSRC_FIRST_SWITCH,
|
||||
|
||||
#if defined(PCBXLITE)
|
||||
SWSRC_SA0 = SWSRC_FIRST_SWITCH,
|
||||
SWSRC_SA1,
|
||||
SWSRC_SA2,
|
||||
SWSRC_SB0,
|
||||
SWSRC_SB1,
|
||||
SWSRC_SB2,
|
||||
SWSRC_LAST_SWITCH = SWSRC_SB2,
|
||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||
#if defined(PCBTARANIS) || defined(PCBHORUS)
|
||||
SWSRC_SA0 = SWSRC_FIRST_SWITCH,
|
||||
SWSRC_SA1,
|
||||
SWSRC_SA2,
|
||||
@@ -555,18 +547,21 @@ enum SwitchSources {
|
||||
SWSRC_SE1,
|
||||
SWSRC_SE2,
|
||||
#endif
|
||||
#if !defined(PCBXLITE)
|
||||
SWSRC_SF0,
|
||||
SWSRC_SF1,
|
||||
SWSRC_SF2,
|
||||
#endif
|
||||
#if !defined(PCBX7) && !defined(PCBXLITE)
|
||||
SWSRC_SG0,
|
||||
SWSRC_SG1,
|
||||
SWSRC_SG2,
|
||||
#endif
|
||||
#if !defined(PCBXLITE)
|
||||
SWSRC_SH0,
|
||||
SWSRC_SH1,
|
||||
SWSRC_SH2,
|
||||
SWSRC_TRAINER = SWSRC_SH2,
|
||||
#endif
|
||||
#if defined(PCBX9E)
|
||||
SWSRC_SI0,
|
||||
SWSRC_SI1,
|
||||
@@ -598,11 +593,18 @@ enum SwitchSources {
|
||||
SWSRC_SR0,
|
||||
SWSRC_SR1,
|
||||
SWSRC_SR2,
|
||||
#endif
|
||||
#if defined(PCBX9E)
|
||||
SWSRC_TRAINER = SWSRC_SH2,
|
||||
SWSRC_LAST_SWITCH = SWSRC_SR2,
|
||||
#elif defined(PCBXLITE)
|
||||
SWSRC_TRAINER = SWSRC_SD2,
|
||||
SWSRC_LAST_SWITCH = SWSRC_SD2,
|
||||
#else
|
||||
SWSRC_TRAINER = SWSRC_SH2,
|
||||
SWSRC_LAST_SWITCH = SWSRC_SH2,
|
||||
#endif
|
||||
#else
|
||||
#else // neither Taranis nor Horus
|
||||
SWSRC_ID0 = SWSRC_FIRST_SWITCH,
|
||||
SWSRC_ID1,
|
||||
SWSRC_ID2,
|
||||
@@ -803,7 +805,9 @@ enum MixSources {
|
||||
#if defined(PCBXLITE)
|
||||
MIXSRC_SA = MIXSRC_FIRST_SWITCH, LUA_EXPORT("sa", "Switch A")
|
||||
MIXSRC_SB, LUA_EXPORT("sb", "Switch B")
|
||||
MIXSRC_LAST_SWITCH = MIXSRC_SB,
|
||||
MIXSRC_SC, LUA_EXPORT("sc", "Switch C")
|
||||
MIXSRC_SD, LUA_EXPORT("sd", "Switch D")
|
||||
MIXSRC_LAST_SWITCH = MIXSRC_SD,
|
||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||
MIXSRC_SA = MIXSRC_FIRST_SWITCH, LUA_EXPORT("sa", "Switch A")
|
||||
MIXSRC_SB, LUA_EXPORT("sb", "Switch B")
|
||||
|
||||
@@ -1183,7 +1183,7 @@ static inline void check_struct()
|
||||
CHKSIZE(TrainerData, 16);
|
||||
|
||||
#if defined(PCBXLITE)
|
||||
CHKSIZE(RadioData, 838);
|
||||
CHKSIZE(RadioData, 844);
|
||||
CHKSIZE(ModelData, 6025);
|
||||
#elif defined(PCBX7)
|
||||
CHKSIZE(RadioData, 850);
|
||||
|
||||
@@ -298,14 +298,12 @@ enum EnumSwitchesPositions
|
||||
SW_SB0,
|
||||
SW_SB1,
|
||||
SW_SB2,
|
||||
#if !defined(PCBXLITE)
|
||||
SW_SC0,
|
||||
SW_SC1,
|
||||
SW_SC2,
|
||||
SW_SD0,
|
||||
SW_SD1,
|
||||
SW_SD2,
|
||||
#endif
|
||||
#if !defined(PCBX7) && !defined(PCBXLITE)
|
||||
SW_SE0,
|
||||
SW_SE1,
|
||||
@@ -360,7 +358,7 @@ enum EnumSwitchesPositions
|
||||
#endif
|
||||
};
|
||||
#if defined(PCBXLITE)
|
||||
#define NUM_SWITCHES 2
|
||||
#define NUM_SWITCHES 4
|
||||
#elif defined(PCBX7)
|
||||
#define NUM_SWITCHES 6
|
||||
#elif defined(PCBX9E)
|
||||
|
||||
@@ -183,10 +183,10 @@
|
||||
#define SWITCHES_GPIO_REG_B_L GPIOG->IDR
|
||||
#define SWITCHES_GPIO_PIN_B_L GPIO_Pin_10 // PG.10
|
||||
#elif defined(PCBXLITE)
|
||||
#define SWITCHES_GPIO_REG_B_H GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_B_H GPIO_Pin_2 // PE.02
|
||||
#define SWITCHES_GPIO_REG_B_L GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_B_L GPIO_Pin_3 // PE.03
|
||||
#define SWITCHES_GPIO_REG_B_H GPIOA->IDR
|
||||
#define SWITCHES_GPIO_PIN_B_H GPIO_Pin_6 // PA.06
|
||||
#define SWITCHES_GPIO_REG_B_L GPIOA->IDR
|
||||
#define SWITCHES_GPIO_PIN_B_L GPIO_Pin_5 // PA.05
|
||||
#elif defined(PCBX7)
|
||||
#define SWITCHES_GPIO_REG_B_L GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_B_L GPIO_Pin_15 // PE.15
|
||||
@@ -205,7 +205,10 @@
|
||||
#define SWITCHES_GPIO_REG_C_L GPIOF->IDR
|
||||
#define SWITCHES_GPIO_PIN_C_L GPIO_Pin_14 // PF.14
|
||||
#elif defined(PCBXLITE)
|
||||
// no SWC
|
||||
#define SWITCHES_GPIO_REG_C_H GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_C_H GPIO_Pin_2 // PE.02
|
||||
#define SWITCHES_GPIO_REG_C_L GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_C_L GPIO_Pin_3 // PE.03
|
||||
#elif defined(PCBX7)
|
||||
#define SWITCHES_GPIO_REG_C_L GPIOD->IDR
|
||||
#define SWITCHES_GPIO_PIN_C_L GPIO_Pin_11 // PD.11
|
||||
@@ -229,7 +232,10 @@
|
||||
#define SWITCHES_GPIO_REG_D_L GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_D_L GPIO_Pin_13 // PE.13
|
||||
#elif defined(PCBXLITE)
|
||||
// no SWD
|
||||
#define SWITCHES_GPIO_REG_D_H GPIOB->IDR
|
||||
#define SWITCHES_GPIO_PIN_D_H GPIO_Pin_4 // PB.04
|
||||
#define SWITCHES_GPIO_REG_D_L GPIOB->IDR
|
||||
#define SWITCHES_GPIO_PIN_D_L GPIO_Pin_5 // PB.05
|
||||
#elif defined(PCBX7)
|
||||
#define SWITCHES_GPIO_REG_D_L GPIOE->IDR
|
||||
#define SWITCHES_GPIO_PIN_D_L GPIO_Pin_1 // PE.01
|
||||
@@ -360,7 +366,8 @@
|
||||
#define KEYS_GPIOE_PINS (KEYS_GPIO_PIN_PLUS | KEYS_GPIO_PIN_ENTER | KEYS_GPIO_PIN_MINUS | TRIMS_GPIO_PIN_LHR | TRIMS_GPIO_PIN_LHL | TRIMS_GPIO_PIN_LVD | TRIMS_GPIO_PIN_LVU | SWITCHES_GPIO_PIN_F | SWITCHES_GPIO_PIN_A_L | SWITCHES_GPIO_PIN_B_H | SWITCHES_GPIO_PIN_B_L | SWITCHES_GPIO_PIN_C_H | SWITCHES_GPIO_PIN_D_H | SWITCHES_GPIO_PIN_D_L | SWITCHES_GPIO_PIN_G_H | SWITCHES_GPIO_PIN_G_L)
|
||||
#elif defined(PCBXLITE)
|
||||
#define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOE)
|
||||
#define KEYS_GPIOB_PINS (GPIO_Pin_0 | GPIO_Pin_1)
|
||||
#define KEYS_GPIOA_PINS (GPIO_Pin_5 | GPIO_Pin_6)
|
||||
#define KEYS_GPIOB_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5)
|
||||
#define KEYS_GPIOC_PINS (GPIO_Pin_4 | GPIO_Pin_5)
|
||||
#define KEYS_GPIOE_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14)
|
||||
#elif defined(PCBX7)
|
||||
@@ -728,6 +735,13 @@
|
||||
#define TELEMETRY_RCC_APB1Periph RCC_APB1Periph_USART2
|
||||
#define TELEMETRY_DIR_GPIO GPIOD
|
||||
#define TELEMETRY_DIR_GPIO_PIN GPIO_Pin_4 // PD.04
|
||||
#if defined(PCBXLITE)
|
||||
#define TELEMETRY_DIR_OUTPUT() TELEMETRY_DIR_GPIO->BSRRH = TELEMETRY_DIR_GPIO_PIN
|
||||
#define TELEMETRY_DIR_INPUT() TELEMETRY_DIR_GPIO->BSRRL = TELEMETRY_DIR_GPIO_PIN
|
||||
#else
|
||||
#define TELEMETRY_DIR_OUTPUT() TELEMETRY_DIR_GPIO->BSRRL = TELEMETRY_DIR_GPIO_PIN
|
||||
#define TELEMETRY_DIR_INPUT() TELEMETRY_DIR_GPIO->BSRRH = TELEMETRY_DIR_GPIO_PIN
|
||||
#endif
|
||||
#define TELEMETRY_GPIO GPIOD
|
||||
#define TELEMETRY_TX_GPIO_PIN GPIO_Pin_5 // PD.05
|
||||
#define TELEMETRY_RX_GPIO_PIN GPIO_Pin_6 // PD.06
|
||||
@@ -834,12 +848,12 @@
|
||||
#define BACKLIGHT_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2)
|
||||
#define BACKLIGHT_TIMER TIM1
|
||||
#define BACKLIGHT_GPIO GPIOA
|
||||
#define BACKLIGHT_GPIO_PIN GPIO_Pin_10 // PA.10
|
||||
#define BACKLIGHT_GPIO_PinSource GPIO_PinSource10
|
||||
#define BACKLIGHT_GPIO_PIN GPIO_Pin_8 // PA.08
|
||||
#define BACKLIGHT_GPIO_PinSource GPIO_PinSource8
|
||||
#define BACKLIGHT_GPIO_AF GPIO_AF_TIM1
|
||||
#define BACKLIGHT_CCMR2 TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2 // Channel 3, PWM
|
||||
#define BACKLIGHT_CCER TIM_CCER_CC3E
|
||||
#define BACKLIGHT_COUNTER_REGISTER BACKLIGHT_TIMER->CCR3
|
||||
#define BACKLIGHT_CCMR1 TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 // Channel 1, PWM
|
||||
#define BACKLIGHT_CCER TIM_CCER_CC1E
|
||||
#define BACKLIGHT_COUNTER_REGISTER BACKLIGHT_TIMER->CCR1
|
||||
#elif defined(PCBX7)
|
||||
#define BACKLIGHT_RCC_AHB1Periph RCC_AHB1Periph_GPIOD
|
||||
#define BACKLIGHT_RCC_APB1Periph RCC_APB1Periph_TIM4
|
||||
|
||||
@@ -176,11 +176,10 @@ uint32_t switchState(uint8_t index)
|
||||
switch (index) {
|
||||
ADD_3POS_CASE(A, 0);
|
||||
ADD_3POS_CASE(B, 1);
|
||||
#if !defined(PCBXLITE)
|
||||
ADD_3POS_CASE(C, 2);
|
||||
ADD_3POS_CASE(D, 3);
|
||||
#endif
|
||||
#if defined(PCBXLITE)
|
||||
// no SWF, SWG and SWH on XLITE
|
||||
#elif defined(PCBX7)
|
||||
ADD_2POS_CASE(F);
|
||||
ADD_2POS_CASE(H);
|
||||
|
||||
@@ -79,14 +79,14 @@ void telemetryPortInit(uint32_t baudrate, uint8_t mode)
|
||||
|
||||
void telemetryPortSetDirectionOutput()
|
||||
{
|
||||
TELEMETRY_DIR_GPIO->BSRRL = TELEMETRY_DIR_GPIO_PIN; // output enable
|
||||
TELEMETRY_USART->CR1 &= ~USART_CR1_RE; // turn off receiver
|
||||
TELEMETRY_DIR_OUTPUT();
|
||||
TELEMETRY_USART->CR1 &= ~USART_CR1_RE; // turn off receiver
|
||||
}
|
||||
|
||||
void telemetryPortSetDirectionInput()
|
||||
{
|
||||
TELEMETRY_DIR_GPIO->BSRRH = TELEMETRY_DIR_GPIO_PIN; // output disable
|
||||
TELEMETRY_USART->CR1 |= USART_CR1_RE; // turn on receiver
|
||||
TELEMETRY_DIR_INPUT();
|
||||
TELEMETRY_USART->CR1 |= USART_CR1_RE; // turn on receiver
|
||||
}
|
||||
|
||||
void sportSendBuffer(uint8_t * buffer, uint32_t count)
|
||||
|
||||
Reference in New Issue
Block a user