1
0
Fork 0
mirror of https://github.com/EdgeTX/edgetx.git synced 2025-07-25 17:25:10 +03:00

feat(fw): Jumper T14 support (#4543)

This commit is contained in:
3djc 2024-01-17 03:03:21 +01:00 committed by GitHub
parent 3235293580
commit 1b7044a134
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 274 additions and 23 deletions

View file

@ -54,6 +54,7 @@ jobs:
- t8 - t8
- tlite - tlite
- t20 - t20
- t14
- tx12 - tx12
- x10 - x10
- x12s - x12s
@ -98,6 +99,7 @@ jobs:
- t8;zorro;pocket;mt12;commando8 - t8;zorro;pocket;mt12;commando8
- tlite;tpro;tprov2;lr3pro - tlite;tpro;tprov2;lr3pro
- t20 - t20
- t14
- tx12;tx12mk2;boxer - tx12;tx12mk2;boxer
- tx16s - tx16s
- x10;x10-access - x10;x10-access

View file

@ -22,7 +22,7 @@ jobs:
- t18 - t18
- t8;zorro;pocket;mt12;commando8 - t8;zorro;pocket;mt12;commando8
- tlite;tpro;tprov2;lr3pro - tlite;tpro;tprov2;lr3pro
- t20 - t20;t14
- tx12;tx12mk2;boxer - tx12;tx12mk2;boxer
- tx16s - tx16s
- x10;x10-access - x10;x10-access

View file

@ -27,6 +27,7 @@
["Jumper T-Pro", "tpro-"], ["Jumper T-Pro", "tpro-"],
["Jumper T-Pro V2", "tprov2-"], ["Jumper T-Pro V2", "tprov2-"],
["Jumper T20", "t20-"], ["Jumper T20", "t20-"],
["Jumper T14", "t14-"],
["RadioMaster Boxer", "boxer-"], ["RadioMaster Boxer", "boxer-"],
["RadioMaster MT12","mt12-"], ["RadioMaster MT12","mt12-"],
["RadioMaster Pocket", "pocket-"], ["RadioMaster Pocket", "pocket-"],

View file

@ -130,6 +130,9 @@ static inline void check_struct()
#elif defined(RADIO_TPROV2) #elif defined(RADIO_TPROV2)
CHKSIZE(RadioData, 859); CHKSIZE(RadioData, 859);
CHKSIZE(ModelData, 6290); CHKSIZE(ModelData, 6290);
#elif defined(RADIO_T14)
CHKSIZE(RadioData, 859);
CHKSIZE(ModelData, 6265);
#elif defined(RADIO_T20) #elif defined(RADIO_T20)
CHKSIZE(RadioData, 859); CHKSIZE(RadioData, 859);
CHKSIZE(ModelData, 6326); CHKSIZE(ModelData, 6326);

View file

@ -27,7 +27,7 @@
#define ROTENC_MIDSPEED 5 #define ROTENC_MIDSPEED 5
#define ROTENC_HIGHSPEED 50 #define ROTENC_HIGHSPEED 50
#if defined(RADIO_T20) #if defined(RADIO_T20) || defined(RADIO_T14)
#define ROTARY_ENCODER_GRANULARITY 4 #define ROTARY_ENCODER_GRANULARITY 4
#else #else
#define ROTARY_ENCODER_GRANULARITY 2 #define ROTARY_ENCODER_GRANULARITY 2

View file

@ -147,6 +147,17 @@ elseif(PCB STREQUAL X7)
add_definitions(-DRADIO_TPROV2) add_definitions(-DRADIO_TPROV2)
add_definitions(-DMANUFACTURER_JUMPER) add_definitions(-DMANUFACTURER_JUMPER)
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough") set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
elseif (PCBREV STREQUAL T14)
set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module")
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR t14)
set(NAVIGATION_TYPE x7)
set(ROTARY_ENCODER YES)
set(CPU_TYPE_FULL STM32F407xG)
add_definitions(-DRADIO_T14)
add_definitions(-DMANUFACTURER_JUMPER)
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
elseif(PCBREV STREQUAL T20) elseif(PCBREV STREQUAL T20)
set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module") set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module")
set(INTERNAL_MODULE_SERIAL YES) set(INTERNAL_MODULE_SERIAL YES)
@ -598,7 +609,7 @@ if(PCB STREQUAL XLITE OR PCB STREQUAL XLITES OR PCBREV STREQUAL COMMANDO8)
targets/common/arm/stm32/sticks_pwm_driver.cpp) targets/common/arm/stm32/sticks_pwm_driver.cpp)
endif() endif()
if(PCBREV STREQUAL MT12) if(PCBREV STREQUAL MT12 OR PCBREV STREQUAL T14)
set(FIRMWARE_SRC set(FIRMWARE_SRC
${FIRMWARE_SRC} ${FIRMWARE_SRC}
targets/common/arm/stm32/stm32_ws2812.cpp targets/common/arm/stm32/stm32_ws2812.cpp

View file

@ -161,6 +161,15 @@
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_12 // PD.12 #define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_12 // PD.12
#define KEYS_GPIO_REG_ENTER GPIOE #define KEYS_GPIO_REG_ENTER GPIOE
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_7 // PE.7 #define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_7 // PE.7
#elif defined(RADIO_T14)
#define KEYS_GPIO_REG_PAGE GPIOD
#define KEYS_GPIO_PIN_PAGE LL_GPIO_PIN_3 // PD.03
#define KEYS_GPIO_REG_MENU GPIOD
#define KEYS_GPIO_PIN_MENU LL_GPIO_PIN_7 // PD.07
#define KEYS_GPIO_REG_EXIT GPIOD
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_2 // PD.02
#define KEYS_GPIO_REG_ENTER GPIOA
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_13 // PA.13
#elif defined(PCBX7) #elif defined(PCBX7)
#define KEYS_GPIO_REG_PAGE GPIOD #define KEYS_GPIO_REG_PAGE GPIOD
#define KEYS_GPIO_PIN_PAGE LL_GPIO_PIN_3 // PD.03 #define KEYS_GPIO_PIN_PAGE LL_GPIO_PIN_3 // PD.03
@ -273,10 +282,10 @@
#define USE_EXTI15_10_IRQ #define USE_EXTI15_10_IRQ
#define EXTI15_10_IRQ_Priority 5 #define EXTI15_10_IRQ_Priority 5
#endif #endif
#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) #elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14)
#define ROTARY_ENCODER_NAVIGATION #define ROTARY_ENCODER_NAVIGATION
#define ROTARY_ENCODER_GPIO GPIOE #define ROTARY_ENCODER_GPIO GPIOE
#define ROTARY_ENCODER_GPIO_PIN_A GPIO_Pin_9 // PE.9 #define ROTARY_ENCODER_GPIO_PIN_A GPIO_Pin_9 // PE.09
#define ROTARY_ENCODER_GPIO_PIN_B GPIO_Pin_10 // PE.10 #define ROTARY_ENCODER_GPIO_PIN_B GPIO_Pin_10 // PE.10
#define ROTARY_ENCODER_POSITION() ((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x03) #define ROTARY_ENCODER_POSITION() ((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x03)
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_9 #define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_9
@ -297,7 +306,7 @@
#if defined(RADIO_TX12) #if defined(RADIO_TX12)
#define ROTARY_ENCODER_SUPPORT_BUGGY_WIRING #define ROTARY_ENCODER_SUPPORT_BUGGY_WIRING
#endif #endif
#if defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) #if defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14)
#define ROTARY_ENCODER_INVERTED #define ROTARY_ENCODER_INVERTED
#endif #endif
#endif #endif
@ -411,6 +420,23 @@
#define TRIMS_GPIO_PIN_T5R LL_GPIO_PIN_15 // PE.15 #define TRIMS_GPIO_PIN_T5R LL_GPIO_PIN_15 // PE.15
#define TRIMS_GPIO_REG_T5L GPIOE #define TRIMS_GPIO_REG_T5L GPIOE
#define TRIMS_GPIO_PIN_T5L LL_GPIO_PIN_14 // PE.14 #define TRIMS_GPIO_PIN_T5L LL_GPIO_PIN_14 // PE.14
#elif defined(RADIO_T14)
#define TRIMS_GPIO_REG_LHL GPIOE
#define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_3 // PE.03
#define TRIMS_GPIO_REG_LHR GPIOE
#define TRIMS_GPIO_PIN_LHR LL_GPIO_PIN_4 // PE.04
#define TRIMS_GPIO_REG_LVD GPIOC
#define TRIMS_GPIO_PIN_LVD LL_GPIO_PIN_3 // PC.03
#define TRIMS_GPIO_REG_LVU GPIOC
#define TRIMS_GPIO_PIN_LVU LL_GPIO_PIN_2 // PC.02
#define TRIMS_GPIO_REG_RVD GPIOE
#define TRIMS_GPIO_PIN_RVD LL_GPIO_PIN_6 // PE.06
#define TRIMS_GPIO_REG_RHL GPIOD
#define TRIMS_GPIO_PIN_RHL LL_GPIO_PIN_15 // PD.15
#define TRIMS_GPIO_REG_RVU GPIOE
#define TRIMS_GPIO_PIN_RVU LL_GPIO_PIN_5 // PE.05
#define TRIMS_GPIO_REG_RHR GPIOC
#define TRIMS_GPIO_PIN_RHR LL_GPIO_PIN_1 // PC.01
#elif defined(PCBX7) && !defined(RADIO_COMMANDO8) #elif defined(PCBX7) && !defined(RADIO_COMMANDO8)
#define TRIMS_GPIO_REG_LHL GPIOD #define TRIMS_GPIO_REG_LHL GPIOD
#define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_15 // PD.15 #define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_15 // PD.15
@ -519,6 +545,11 @@
#define HARDWARE_SWITCH_A #define HARDWARE_SWITCH_A
#define SWITCHES_GPIO_REG_A GPIOC #define SWITCHES_GPIO_REG_A GPIOC
#define SWITCHES_GPIO_PIN_A LL_GPIO_PIN_13 // PC.13 #define SWITCHES_GPIO_PIN_A LL_GPIO_PIN_13 // PC.13
#elif defined(RADIO_T14)
#define STORAGE_SWITCH_A
#define HARDWARE_SWITCH_A
#define SWITCHES_GPIO_REG_A GPIOC
#define SWITCHES_GPIO_PIN_A LL_GPIO_PIN_5 // PC.05
#elif defined(RADIO_T8) #elif defined(RADIO_T8)
#define STORAGE_SWITCH_A #define STORAGE_SWITCH_A
#define HARDWARE_SWITCH_A #define HARDWARE_SWITCH_A
@ -613,6 +644,11 @@
#define SWITCHES_GPIO_PIN_B_L LL_GPIO_PIN_15 // PE.15 #define SWITCHES_GPIO_PIN_B_L LL_GPIO_PIN_15 // PE.15
#define SWITCHES_GPIO_REG_B_H GPIOE #define SWITCHES_GPIO_REG_B_H GPIOE
#define SWITCHES_GPIO_PIN_B_H LL_GPIO_PIN_7 // PE.07 #define SWITCHES_GPIO_PIN_B_H LL_GPIO_PIN_7 // PE.07
#elif defined(RADIO_T14)
#define STORAGE_SWITCH_B
#define HARDWARE_SWITCH_B
#define SWITCHES_GPIO_REG_B GPIOE
#define SWITCHES_GPIO_PIN_B LL_GPIO_PIN_7 // PE.07
#elif defined(RADIO_MT12) #elif defined(RADIO_MT12)
#define STORAGE_SWITCH_B #define STORAGE_SWITCH_B
#define HARDWARE_SWITCH_B #define HARDWARE_SWITCH_B
@ -662,6 +698,13 @@
#define SWITCHES_GPIO_PIN_C_L LL_GPIO_PIN_0 // PE.00 #define SWITCHES_GPIO_PIN_C_L LL_GPIO_PIN_0 // PE.00
#define SWITCHES_GPIO_REG_C_H GPIOD #define SWITCHES_GPIO_REG_C_H GPIOD
#define SWITCHES_GPIO_PIN_C_H LL_GPIO_PIN_11 // PD.11 #define SWITCHES_GPIO_PIN_C_H LL_GPIO_PIN_11 // PD.11
#elif defined(RADIO_T14)
#define STORAGE_SWITCH_C
#define HARDWARE_SWITCH_C
#define SWITCHES_GPIO_REG_C_H GPIOE
#define SWITCHES_GPIO_PIN_C_H LL_GPIO_PIN_0 // PE.00
#define SWITCHES_GPIO_REG_C_L GPIOD
#define SWITCHES_GPIO_PIN_C_L LL_GPIO_PIN_11 // PD.11
#elif defined(RADIO_TX12) #elif defined(RADIO_TX12)
#define STORAGE_SWITCH_C #define STORAGE_SWITCH_C
#define HARDWARE_SWITCH_C #define HARDWARE_SWITCH_C
@ -769,6 +812,13 @@
#define HARDWARE_SWITCH_D #define HARDWARE_SWITCH_D
#define SWITCHES_GPIO_REG_D GPIOD #define SWITCHES_GPIO_REG_D GPIOD
#define SWITCHES_GPIO_PIN_D LL_GPIO_PIN_14 // PD.14 #define SWITCHES_GPIO_PIN_D LL_GPIO_PIN_14 // PD.14
#elif defined(RADIO_T14)
#define STORAGE_SWITCH_D
#define HARDWARE_SWITCH_D
#define SWITCHES_GPIO_REG_D_L GPIOA
#define SWITCHES_GPIO_PIN_D_L LL_GPIO_PIN_5 // PA.05
#define SWITCHES_GPIO_REG_D_H GPIOE
#define SWITCHES_GPIO_PIN_D_H LL_GPIO_PIN_15 // PE.15
#elif defined(RADIO_T20) #elif defined(RADIO_T20)
#define STORAGE_SWITCH_D #define STORAGE_SWITCH_D
#define HARDWARE_SWITCH_D #define HARDWARE_SWITCH_D
@ -863,6 +913,11 @@
#define HARDWARE_SWITCH_E #define HARDWARE_SWITCH_E
#define SWITCHES_GPIO_REG_E GPIOG #define SWITCHES_GPIO_REG_E GPIOG
#define SWITCHES_GPIO_PIN_E LL_GPIO_PIN_10 // PG.10 #define SWITCHES_GPIO_PIN_E LL_GPIO_PIN_10 // PG.10
#elif defined(RADIO_T14)
#define STORAGE_SWITCH_E
#define HARDWARE_SWITCH_E
#define SWITCHES_GPIO_REG_E GPIOE
#define SWITCHES_GPIO_PIN_E LL_GPIO_PIN_8 // PE.08
#elif defined(RADIO_T20) #elif defined(RADIO_T20)
#define STORAGE_SWITCH_E #define STORAGE_SWITCH_E
#define HARDWARE_SWITCH_E #define HARDWARE_SWITCH_E
@ -930,6 +985,11 @@
#define HARDWARE_SWITCH_F #define HARDWARE_SWITCH_F
#define SWITCHES_GPIO_REG_F GPIOG #define SWITCHES_GPIO_REG_F GPIOG
#define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_9 // PG.09 #define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_9 // PG.09
#elif defined(RADIO_T14)
#define STORAGE_SWITCH_F
#define HARDWARE_SWITCH_F
#define SWITCHES_GPIO_REG_F GPIOC
#define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_13// PC.13
#elif defined(RADIO_T20) #elif defined(RADIO_T20)
#define STORAGE_SWITCH_F #define STORAGE_SWITCH_F
#define HARDWARE_SWITCH_F #define HARDWARE_SWITCH_F
@ -991,7 +1051,7 @@
#define HARDWARE_SWITCH_G #define HARDWARE_SWITCH_G
#define SWITCHES_GPIO_REG_G GPIOD #define SWITCHES_GPIO_REG_G GPIOD
#define SWITCHES_GPIO_PIN_G LL_GPIO_PIN_15 // PD.15 #define SWITCHES_GPIO_PIN_G LL_GPIO_PIN_15 // PD.15
#elif defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_MT12) || defined(RADIO_POCKET) #elif defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14)
// no SWG // no SWG
#else #else
#define STORAGE_SWITCH_G #define STORAGE_SWITCH_G
@ -1018,8 +1078,8 @@
#define STORAGE_SWITCH_H #define STORAGE_SWITCH_H
// no SWH // no SWH
#elif defined(RADIO_TX12) || defined(RADIO_MT12) #elif defined(RADIO_TX12) || defined(RADIO_MT12)
#elif defined(RADIO_TX12MK2) || defined(RADIO_BOXER) #elif defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_T14)
#define STORAGE_SWITCH_H #define STORAGE_SWITCH_H
#elif defined(RADIO_TPROV2) #elif defined(RADIO_TPROV2)
#define STORAGE_SWITCH_H #define STORAGE_SWITCH_H
#define HARDWARE_SWITCH_H #define HARDWARE_SWITCH_H
@ -1089,8 +1149,8 @@
#define STORAGE_SWITCH_I #define STORAGE_SWITCH_I
// no SWJ // no SWJ
#define STORAGE_SWITCH_J #define STORAGE_SWITCH_J
#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) #elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_T14)
// No I/J // No I/J
#elif defined(RADIO_TPROV2) #elif defined(RADIO_TPROV2)
// SW1 // SW1
#define FUNCTION_SWITCH_1 SI #define FUNCTION_SWITCH_1 SI
@ -1456,6 +1516,27 @@
#define ADC_GPIOC_PINS ADC_GPIO_PIN_BATT #define ADC_GPIOC_PINS ADC_GPIO_PIN_BATT
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_10 #define ADC_CHANNEL_BATT LL_ADC_CHANNEL_10
#define ADC_VREF_PREC2 330 #define ADC_VREF_PREC2 330
#elif defined(RADIO_T14)
#define HARDWARE_POT1
#define HARDWARE_POT2
#define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_0 // PA.00
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_1 // PA.01
#define ADC_GPIO_PIN_STICK_RV LL_GPIO_PIN_2 // PA.02
#define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_3 // PA.03
#define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_0 // ADC1_IN0
#define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_1 // ADC1_IN1
#define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_2 // ADC1_IN2
#define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_3 // ADC1_IN3
#define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_0 // PB.00
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_1 // PB.01
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_0 // PC.00
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV)
#define ADC_GPIOB_PINS (ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_POT2)
#define ADC_GPIOC_PINS ADC_GPIO_PIN_BATT
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_8 // ADC12_IN8
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_9 // ADC12_IN9
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_10
#define ADC_VREF_PREC2 330
#elif defined(RADIO_TPRO) || defined(RADIO_TPROV2) #elif defined(RADIO_TPRO) || defined(RADIO_TPROV2)
#define HARDWARE_POT1 #define HARDWARE_POT1
#define HARDWARE_POT2 #define HARDWARE_POT2
@ -1632,6 +1713,8 @@
#define ADC_DIRECTION {-1, 1, 1, -1, -1} #define ADC_DIRECTION {-1, 1, 1, -1, -1}
#elif defined(RADIO_TPRO) || defined(RADIO_TPROV2) #elif defined(RADIO_TPRO) || defined(RADIO_TPROV2)
#define ADC_DIRECTION {1,-1,1,-1, 1,1, 1, 1} #define ADC_DIRECTION {1,-1,1,-1, 1,1, 1, 1}
#elif defined(RADIO_T14)
#define ADC_DIRECTION {1, -1, 1, -1, 1, 1, 1}
#elif defined(RADIO_T20) #elif defined(RADIO_T20)
#define ADC_DIRECTION {1,-1,1,-1, -1,1,-1,-1,-1,-1} #define ADC_DIRECTION {1,-1,1,-1, -1,1,-1,-1,-1,-1}
#elif defined(RADIO_MT12) #elif defined(RADIO_MT12)
@ -1736,6 +1819,16 @@
#define LED_RED_GPIO_PIN GPIO_Pin_13 // PE.13 #define LED_RED_GPIO_PIN GPIO_Pin_13 // PE.13
#define LED_BLUE_GPIO GPIOA #define LED_BLUE_GPIO GPIOA
#define LED_BLUE_GPIO_PIN GPIO_Pin_7 // PA.07 #define LED_BLUE_GPIO_PIN GPIO_Pin_7 // PA.07
#elif defined(RADIO_T14)
#define STATUS_LEDS
#define GPIO_LED_GPIO_ON GPIO_SetBits
#define GPIO_LED_GPIO_OFF GPIO_ResetBits
#define LED_RED_GPIO GPIOE
#define LED_RED_GPIO_PIN GPIO_Pin_2 // PE.02
#define LED_BLUE_GPIO GPIOE
#define LED_BLUE_GPIO_PIN GPIO_Pin_13 // PE.13
#define LED_GREEN_GPIO GPIOA
#define LED_GREEN_GPIO_PIN GPIO_Pin_7 // PA.07
#elif defined(RADIO_TLITE) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TX12) #elif defined(RADIO_TLITE) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TX12)
#define STATUS_LEDS #define STATUS_LEDS
#define GPIO_LED_GPIO_ON GPIO_SetBits #define GPIO_LED_GPIO_ON GPIO_SetBits
@ -1810,6 +1903,20 @@
#define LED_STRIP_TIMER_DMA_IRQn DMA2_Stream5_IRQn #define LED_STRIP_TIMER_DMA_IRQn DMA2_Stream5_IRQn
#define LED_STRIP_TIMER_DMA_IRQHandler DMA2_Stream5_IRQHandler #define LED_STRIP_TIMER_DMA_IRQHandler DMA2_Stream5_IRQHandler
#define LED_STRIP_REFRESH_PERIOD 50 //ms #define LED_STRIP_REFRESH_PERIOD 50 //ms
#elif defined(RADIO_T14)
#define LED_STRIP_LENGTH 1
#define LED_STRIP_GPIO GPIOA
#define LED_STRIP_GPIO_PIN_DATA LL_GPIO_PIN_10 // PA.10 / TIM1_CH3
#define LED_STRIP_GPIO_PIN_AF LL_GPIO_AF_1
#define LED_STRIP_TIMER TIM1
#define LED_STRIP_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2)
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH3
#define LED_STRIP_TIMER_DMA DMA2
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMA_CHANNEL_6
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_5
#define LED_STRIP_TIMER_DMA_IRQn DMA2_Stream5_IRQn
#define LED_STRIP_TIMER_DMA_IRQHandler DMA2_Stream5_IRQHandler
#define LED_STRIP_REFRESH_PERIOD 50 //ms
#endif #endif
#if defined(FUNCTION_SWITCHES) #if defined(FUNCTION_SWITCHES)
@ -1911,7 +2018,7 @@
#define INTMODULE_DMA_STREAM_IRQHandler DMA2_Stream7_IRQHandler #define INTMODULE_DMA_STREAM_IRQHandler DMA2_Stream7_IRQHandler
#define INTMODULE_DMA_FLAG_TC DMA_IT_TCIF7 #define INTMODULE_DMA_FLAG_TC DMA_IT_TCIF7
#define INTMODULE_DMA_CHANNEL DMA_Channel_4 #define INTMODULE_DMA_CHANNEL DMA_Channel_4
#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) #elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T14)
#define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA2) #define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA2)
#define INTMODULE_PWR_GPIO GPIOC #define INTMODULE_PWR_GPIO GPIOC
#define INTMODULE_PWR_GPIO_PIN GPIO_Pin_4 // PC.04 #define INTMODULE_PWR_GPIO_PIN GPIO_Pin_4 // PC.04
@ -1933,8 +2040,13 @@
#define INTMODULE_RX_DMA DMA2 #define INTMODULE_RX_DMA DMA2
#define INTMODULE_RX_DMA_STREAM LL_DMA_STREAM_2 #define INTMODULE_RX_DMA_STREAM LL_DMA_STREAM_2
#define INTMODULE_RX_DMA_CHANNEL LL_DMA_CHANNEL_4 #define INTMODULE_RX_DMA_CHANNEL LL_DMA_CHANNEL_4
#if defined(RADIO_T14)
#define INTMODULE_BOOTCMD_GPIO GPIOE
#define INTMODULE_BOOTCMD_GPIO_PIN GPIO_Pin_14 // PE.14
#else
#define INTMODULE_BOOTCMD_GPIO GPIOB #define INTMODULE_BOOTCMD_GPIO GPIOB
#define INTMODULE_BOOTCMD_GPIO_PIN GPIO_Pin_1 // PB.01 #define INTMODULE_BOOTCMD_GPIO_PIN GPIO_Pin_1 // PB.01
#endif
#define INTMODULE_BOOTCMD_DEFAULT 0 // RESET #define INTMODULE_BOOTCMD_DEFAULT 0 // RESET
#define INIT_INTMODULE_BOOTCMD_PIN() GPIO_ResetBits(INTMODULE_BOOTCMD_GPIO, INTMODULE_BOOTCMD_GPIO_PIN); #define INIT_INTMODULE_BOOTCMD_PIN() GPIO_ResetBits(INTMODULE_BOOTCMD_GPIO, INTMODULE_BOOTCMD_GPIO_PIN);
#elif defined(PCBX9E) || defined(PCBX9DP) || defined(RADIO_X7) #elif defined(PCBX9E) || defined(PCBX9DP) || defined(RADIO_X7)
@ -2035,8 +2147,8 @@
#endif #endif
// External Module // External Module
#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_X9DP2019) || defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) #if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_X9DP2019) || defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T14)
#if defined(RADIO_X9DP2019) || defined(RADIO_X7ACCESS) || defined(RADIO_ZORRO)|| defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) #if defined(RADIO_X9DP2019) || defined(RADIO_X7ACCESS) || defined(RADIO_ZORRO)|| defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12)|| defined(RADIO_T14)
#define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2)
#define EXTMODULE_PWR_GPIO GPIOD #define EXTMODULE_PWR_GPIO GPIOD
#define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PD.08 #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PD.08
@ -2370,7 +2482,8 @@
// Trainer / Trainee from the module bay // Trainer / Trainee from the module bay
#if defined(PCBX9LITE) || defined(PCBXLITE) || defined(RADIO_X9DP2019) || \ #if defined(PCBX9LITE) || defined(PCBXLITE) || defined(RADIO_X9DP2019) || \
defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || \ defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || \
defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) ||\
defined(RADIO_T14)
#define TRAINER_MODULE_CPPM_TIMER TIM3 #define TRAINER_MODULE_CPPM_TIMER TIM3
#define TRAINER_MODULE_CPPM_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1) #define TRAINER_MODULE_CPPM_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
#define TRAINER_MODULE_CPPM_GPIO EXTMODULE_USART_GPIO #define TRAINER_MODULE_CPPM_GPIO EXTMODULE_USART_GPIO
@ -2463,7 +2576,7 @@
#define BACKLIGHT_CCMR1 TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 // Channel 1, PWM #define BACKLIGHT_CCMR1 TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 // Channel 1, PWM
#define BACKLIGHT_CCER TIM_CCER_CC1E #define BACKLIGHT_CCER TIM_CCER_CC1E
#define BACKLIGHT_COUNTER_REGISTER BACKLIGHT_TIMER->CCR1 #define BACKLIGHT_COUNTER_REGISTER BACKLIGHT_TIMER->CCR1
#elif defined(RADIO_T8) || defined(RADIO_TPROV2) || defined(RADIO_T20) #elif defined(RADIO_T8) || defined(RADIO_TPROV2) || defined(RADIO_T20) || defined(RADIO_T14)
#define BACKLIGHT_RCC_AHB1Periph 0 #define BACKLIGHT_RCC_AHB1Periph 0
#define BACKLIGHT_RCC_APB1Periph 0 #define BACKLIGHT_RCC_APB1Periph 0
#define BACKLIGHT_RCC_APB2Periph 0 #define BACKLIGHT_RCC_APB2Periph 0
@ -2510,10 +2623,13 @@
#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_T20) || defined(RADIO_MT12) #if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_T20) || defined(RADIO_MT12)
#define LCD_VERTICAL_INVERT #define LCD_VERTICAL_INVERT
#endif #endif
#if defined(RADIO_LR3PRO) || defined(RADIO_TPROV2) || defined(RADIO_T20) #if defined(RADIO_LR3PRO) || defined(RADIO_TPROV2) || defined(RADIO_T20) || defined(RADIO_T14)
#define LCD_HORIZONTAL_INVERT #define LCD_HORIZONTAL_INVERT
#define OLED_SCREEN #define OLED_SCREEN
#endif #endif
#if defined(RADIO_T14)
#define SSD1309_LCD
#endif
#if defined(PCBX9E) #if defined(PCBX9E)
#define LCD_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA1) #define LCD_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA1)
#define LCD_RCC_APB1Periph RCC_APB1Periph_SPI3 #define LCD_RCC_APB1Periph RCC_APB1Periph_SPI3
@ -2564,7 +2680,7 @@
#define LCD_MOSI_GPIO_PinSource GPIO_PinSource12 #define LCD_MOSI_GPIO_PinSource GPIO_PinSource12
#define LCD_CLK_GPIO_PIN GPIO_Pin_10 // PC.10 #define LCD_CLK_GPIO_PIN GPIO_Pin_10 // PC.10
#define LCD_CLK_GPIO_PinSource GPIO_PinSource10 #define LCD_CLK_GPIO_PinSource GPIO_PinSource10
#define LCD_A0_GPIO_PIN GPIO_Pin_11 // PC.11 #define LCD_A0_GPIO_PIN GPIO_Pin_11 // PC.11 //MOSI
#define LCD_NCS_GPIO GPIOA #define LCD_NCS_GPIO GPIOA
#define LCD_NCS_GPIO_PIN GPIO_Pin_15 // PA.15 #define LCD_NCS_GPIO_PIN GPIO_Pin_15 // PA.15
#if defined(RADIO_T20) #if defined(RADIO_T20)
@ -2595,6 +2711,11 @@
#define LCD_RST_GPIO_PIN GPIO_Pin_12 // PD.12 #define LCD_RST_GPIO_PIN GPIO_Pin_12 // PD.12
#endif #endif
#define LCD_RCC_APB2Periph 0 #define LCD_RCC_APB2Periph 0
#if defined(SSD1309_LCD)
#define LCD_SPI_PRESCALER SPI_CR1_BR_1
#else
#define LCD_SPI_PRESCALER 0
#endif
// I2C Bus 1: EEPROM and CAT5137 digital pot for volume control // I2C Bus 1: EEPROM and CAT5137 digital pot for volume control
#define I2C_B1 I2C1 #define I2C_B1 I2C1
@ -2659,7 +2780,7 @@
#endif #endif
// SD - SPI2 // SD - SPI2
#if defined(RADIO_T20) #if defined(RADIO_T20) || defined(RADIO_T14)
// Using chip, so no detect // Using chip, so no detect
#else #else
#define SD_PRESENT_GPIO GPIOD #define SD_PRESENT_GPIO GPIOD
@ -2733,7 +2854,7 @@
#endif #endif
// Haptic // Haptic
#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2)|| defined(RADIO_BOXER) || defined(RADIO_MT12) #if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2)|| defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T14)
#define HAPTIC_PWM #define HAPTIC_PWM
#define HAPTIC_RCC_AHB1Periph RCC_AHB1Periph_GPIOB #define HAPTIC_RCC_AHB1Periph RCC_AHB1Periph_GPIOB
#define HAPTIC_RCC_APB1Periph RCC_APB1Periph_TIM2 #define HAPTIC_RCC_APB1Periph RCC_APB1Periph_TIM2

View file

@ -72,7 +72,7 @@ void lcdHardwareInit()
// APB1 clock / 2 = 133nS per clock // APB1 clock / 2 = 133nS per clock
LCD_SPI->CR1 = 0; // Clear any mode error LCD_SPI->CR1 = 0; // Clear any mode error
LCD_SPI->CR1 = SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_CPOL | SPI_CR1_CPHA; LCD_SPI->CR1 = SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_CPOL | SPI_CR1_CPHA | LCD_SPI_PRESCALER;
LCD_SPI->CR2 = 0; LCD_SPI->CR2 = 0;
LCD_SPI->CR1 |= SPI_CR1_MSTR; // Make sure in case SSM/SSI needed to be set first LCD_SPI->CR1 |= SPI_CR1_MSTR; // Make sure in case SSM/SSI needed to be set first
LCD_SPI->CR1 |= SPI_CR1_SPE; LCD_SPI->CR1 |= SPI_CR1_SPE;
@ -116,9 +116,44 @@ void lcdHardwareInit()
NVIC_EnableIRQ(LCD_DMA_Stream_IRQn); NVIC_EnableIRQ(LCD_DMA_Stream_IRQn);
} }
#if defined(SSD1309_LCD)
void lcdColumnSet(unsigned char column)
{
lcdWriteCommand(0x10|(column >> 4));
lcdWriteCommand(0x00|(column & 0x0f));
}
void lcdPageSet(unsigned char page)
{
lcdWriteCommand(0xb0 + page);
}
#endif
#if LCD_W == 128 #if LCD_W == 128
void lcdStart() void lcdStart()
{ {
#if defined(SSD1309_LCD)
lcdWriteCommand(0xD5); // Set Display Clock Divide Ratio / OSC Frequency
lcdWriteCommand(0x80); // Display Clock Divide Ratio / OSC Frequency
lcdWriteCommand(0xA8); // Set Multiplex Ratio
lcdWriteCommand(0x3F); // Multiplex Ratio for 128x64 (LCD_HEIGHT - 1)
lcdWriteCommand(0xD3); // Set Display Offset
lcdWriteCommand(0x00); // Display Offset (0)
lcdWriteCommand(0x40); // Set Display Start Line (0)
lcdWriteCommand(0x8D); // Set Charge Pump
lcdWriteCommand(0x10); // Charge Pump (0x10 External, 0x14 Internal DC/DC)
lcdWriteCommand(0xA1); // Set Segment Re-Map (Reversed)
lcdWriteCommand(0xC8); // Set Com Output Scan Direction (Reversed)
lcdWriteCommand(0xDA); // Set COM Hardware Configuration
lcdWriteCommand(0x12); // COM Hardware Configuration
lcdWriteCommand(0xD9); // Set Pre-Charge Period
lcdWriteCommand(0x4F); // Set Pre-Charge Period (A[7:4]:Phase 2, A[3:0]:Phase 1)
lcdWriteCommand(0xDB); // Set VCOMH Deselect Level
lcdWriteCommand(0x20); // VCOMH Deselect Level (0x00 ~ 0.65 x VCC, 0x10 ~ 0.71 x VCC, 0x20 ~ 0.77 x VCC, 0x30 ~ 0.83 x VCC)
lcdWriteCommand(0xA4); // Disable Entire Display On
lcdWriteCommand(0xA6); // Set Normal Display (not inverted)
lcdWriteCommand(0x2E); // Deactivate scroll
#else
#if defined(LCD_VERTICAL_INVERT) #if defined(LCD_VERTICAL_INVERT)
// T12 and TX12 have the screen inverted. // T12 and TX12 have the screen inverted.
lcdWriteCommand(0xe2); // (14) Soft reset lcdWriteCommand(0xe2); // (14) Soft reset
@ -155,6 +190,7 @@ void lcdStart()
#else #else
lcdSetRefVolt(g_eeGeneral.contrast); lcdSetRefVolt(g_eeGeneral.contrast);
#endif #endif
#endif
} }
#else #else
void lcdStart() void lcdStart()
@ -221,10 +257,15 @@ void lcdRefresh(bool wait)
lcdWriteCommand(LCD_W_OFFSET); lcdWriteCommand(LCD_W_OFFSET);
#endif #endif
for (uint8_t y=0; y < 8; y++, p+=LCD_W) { for (uint8_t y=0; y < 8; y++, p+=LCD_W) {
#if defined(SSD1309_LCD)
lcdPageSet(y);
lcdColumnSet(0);
#else
lcdWriteCommand(0x10); // Column addr 0 lcdWriteCommand(0x10); // Column addr 0
lcdWriteCommand(0xB0 | y); // Page addr y lcdWriteCommand(0xB0 | y); // Page addr y
#if !defined(LCD_VERTICAL_INVERT) #if !defined(LCD_VERTICAL_INVERT)
lcdWriteCommand(0x04); lcdWriteCommand(0x04);
#endif
#endif #endif
LCD_NCS_LOW(); LCD_NCS_LOW();
@ -297,6 +338,7 @@ void lcdOff()
void lcdReset() void lcdReset()
{ {
LCD_NCS_HIGH();
LCD_RST_LOW(); LCD_RST_LOW();
#if LCD_W == 128 #if LCD_W == 128
delay_ms(150); delay_ms(150);

View file

@ -62,6 +62,10 @@
#define USB_NAME "Jumper TPro V2" #define USB_NAME "Jumper TPro V2"
#define USB_MANUFACTURER 'J', 'U', 'M', 'P', 'E', 'R', ' ', ' ' /* 8 bytes */ #define USB_MANUFACTURER 'J', 'U', 'M', 'P', 'E', 'R', ' ', ' ' /* 8 bytes */
#define USB_PRODUCT 'T', '-', 'P', 'r', 'o', ' ', 'V', '2' /* 8 Bytes */ #define USB_PRODUCT 'T', '-', 'P', 'r', 'o', ' ', 'V', '2' /* 8 Bytes */
#elif defined(RADIO_T14)
#define USB_NAME "Jumper T14"
#define USB_MANUFACTURER 'J', 'U', 'M', 'P', 'E', 'R', ' ', ' ' /* 8 bytes */
#define USB_PRODUCT 'T', '1', '4', ' ', ' ', ' ', ' ', ' ' /* 8 Bytes */
#elif defined(RADIO_T20) #elif defined(RADIO_T20)
#define USB_NAME "Jumper T20" #define USB_NAME "Jumper T20"
#define USB_MANUFACTURER 'J', 'U', 'M', 'P', 'E', 'R', ' ', ' ' /* 8 bytes */ #define USB_MANUFACTURER 'J', 'U', 'M', 'P', 'E', 'R', ' ', ' ' /* 8 bytes */

View file

@ -297,6 +297,37 @@ LEGACY_NAMES = [
} }
} }
}, },
{
"targets": {"t14"},
"inputs": {
"LH": {
"yaml": "Rud"
},
"LV": {
"yaml": "Ele"
},
"RV": {
"yaml": "Thr"
},
"RH": {
"yaml": "Ail"
},
"P1": {
"yaml": "POT1",
"lua": "s1",
"label": "S1",
"short_label": "1",
"description": "Potentiometer 1"
},
"P2": {
"yaml": "POT2",
"lua": "s2",
"label": "S2",
"short_label": "2",
"description": "Potentiometer 2"
},
}
},
{ {
"targets": { "targets": {
"commando8", "commando8",

View file

@ -58,6 +58,10 @@ POT_CONFIG = {
"P1": {"default": "POT"}, "P1": {"default": "POT"},
"P2": {"default": "POT"} "P2": {"default": "POT"}
}, },
"t14": {
"P1": {"default": "POT_CENTER"},
"P2": {"default": "POT_CENTER"}
},
"tx12": { "tx12": {
"P1": {"default": "POT_CENTER"}, "P1": {"default": "POT_CENTER"},
"P2": {"default": "POT_CENTER"} "P2": {"default": "POT_CENTER"}

View file

@ -95,6 +95,16 @@ SWITCH_CONFIG = {
"SD": {"default": "3POS", "display": [1, 1]}, "SD": {"default": "3POS", "display": [1, 1]},
"SH": {"default": "2POS", "display": [1, 3]} "SH": {"default": "2POS", "display": [1, 3]}
}, },
"t14": {
# left side
"SA": {"default": "2POS", "display": [0, 0]},
"SC": {"default": "3POS", "display": [0, 1]},
"SE": {"default": "2POS", "display": [0, 2]},
# right side
"SB": {"default": "2POS", "display": [1, 0]},
"SD": {"default": "3POS", "display": [1, 1]},
"SF": {"default": "TOGGLE", "display": [1, 2]}
},
"t16": { "t16": {
"SA": {"default": "3POS"}, "SA": {"default": "3POS"},
"SB": {"default": "3POS"}, "SB": {"default": "3POS"},

View file

@ -74,4 +74,8 @@ boards = {
"PCB": "X7", "PCB": "X7",
"PCBREV": "T20", "PCBREV": "T20",
}, },
"T14": {
"PCB": "X7",
"PCBREV": "T14",
},
} }

View file

@ -128,6 +128,9 @@ do
t20) t20)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20" BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20"
;; ;;
t14)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T14"
;;
xlite) xlite)
BUILD_OPTIONS+="-DPCB=XLITE" BUILD_OPTIONS+="-DPCB=XLITE"
;; ;;

View file

@ -143,6 +143,9 @@ do
t20) t20)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20" BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20"
;; ;;
t14)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T14"
;;
lr3pro) lr3pro)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=LR3PRO" BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=LR3PRO"
;; ;;

View file

@ -106,6 +106,9 @@ do
t20) t20)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20" BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20"
;; ;;
t14)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T14"
;;
xlite) xlite)
BUILD_OPTIONS+="-DPCB=XLITE" BUILD_OPTIONS+="-DPCB=XLITE"
;; ;;

View file

@ -6,7 +6,7 @@ set -e
: "${SRCDIR:=$(dirname "$(pwd)/$0")/..}" : "${SRCDIR:=$(dirname "$(pwd)/$0")/..}"
: ${FLAVOR:="nv14;t12;t16;t18;t8;zorro;pocket;commando8;tlite;tpro;tprov2;t20;lr3pro;tx12;tx12mk2;boxer;tx16s;x10;x10-access;x12s;x7;x7-access;x9d;x9dp;x9dp2019;x9e;x9lite;x9lites;xlite;xlites"} : ${FLAVOR:="nv14;t12;t16;t18;t8;zorro;pocket;commando8;tlite;tpro;tprov2;t20;t14;lr3pro;tx12;tx12mk2;boxer;tx16s;x10;x10-access;x12s;x7;x7-access;x9d;x9dp;x9dp2019;x9e;x9lite;x9lites;xlite;xlites"}
: ${COMMON_OPTIONS:="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_RULE_MESSAGES=OFF -Wno-dev -DCMAKE_MESSAGE_LOG_LEVEL=WARNING"} : ${COMMON_OPTIONS:="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_RULE_MESSAGES=OFF -Wno-dev -DCMAKE_MESSAGE_LOG_LEVEL=WARNING"}
# wipe build directory clean # wipe build directory clean
@ -69,6 +69,9 @@ do
t20) t20)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20" BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20"
;; ;;
t14)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T14"
;;
lr3pro) lr3pro)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=LR3PRO" BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=LR3PRO"
;; ;;

View file

@ -71,6 +71,9 @@ do
t20) t20)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20" BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20"
;; ;;
t14)
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T14"
;;
xlite) xlite)
BUILD_OPTIONS+="-DPCB=XLITE" BUILD_OPTIONS+="-DPCB=XLITE"
;; ;;

View file

@ -9,7 +9,7 @@
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
export BRANCH_NAME="main" # main|2.9|... export BRANCH_NAME="main" # main|2.9|...
export RADIO_TYPE="tx16s" # tx16s|x10|x10-access|x12s|x9d|x9dp|x9lite|x9lites|x7|x7-access|t12|tx12|tx12mk2|boxer|t8|zorro|pocket|tlite|tpro|t20|lr3pro|xlite|xlites|x9dp2019|x9e|x9e-hall|t16|t18|nv14|commando8 export RADIO_TYPE="tx16s" # tx16s|x10|x10-access|x12s|x9d|x9dp|x9lite|x9lites|x7|x7-access|t12|tx12|tx12mk2|boxer|t8|zorro|pocket|tlite|tpro|t20|t14|lr3pro|xlite|xlites|x9dp2019|x9e|x9e-hall|t16|t18|nv14|commando8
export BUILD_OPTIONS="-DDEFAULT_MODE=2 -DGVARS=YES" export BUILD_OPTIONS="-DDEFAULT_MODE=2 -DGVARS=YES"
@ -57,6 +57,9 @@ case $RADIO_TYPE in
t20) t20)
BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=T20" BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=T20"
;; ;;
t14)
BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=T14"
;;
lr3pro) lr3pro)
BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=LR3PRO" BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=LR3PRO"
;; ;;