feat: add HRS V14 LCD variant (#7480)
Co-authored-by: Peter Feerick <5500713+pfeerick@users.noreply.github.com>
This commit is contained in:
co-authored by
Peter Feerick
parent
d2609a4fe8
commit
c966bee5f2
@@ -61,6 +61,7 @@ body:
|
||||
- 2.12.2
|
||||
- 2.12.1
|
||||
- 2.12.0
|
||||
- 2.11.6
|
||||
- 2.11.5
|
||||
- 2.11.4
|
||||
- 2.11.3
|
||||
@@ -111,6 +112,7 @@ body:
|
||||
- FrSky X-Lite / S / Pro
|
||||
- HelloRadioSky V12
|
||||
- HelloRadioSky V14
|
||||
- HelloRadioSky V14LCD
|
||||
- HelloRadioSky V16
|
||||
- Jumper T12
|
||||
- Jumper T14
|
||||
|
||||
@@ -87,7 +87,7 @@ jobs:
|
||||
- t12max;tx12mk2;boxer
|
||||
- tx15;tx16s
|
||||
- x12s;f16
|
||||
- v12;v14;v16
|
||||
- v14;v14lcd;v16
|
||||
- x10;x10express
|
||||
- x7access;x9dp2019;x9e;x9e-hall
|
||||
- nb4p;st16
|
||||
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
- id: color-3
|
||||
target: [tx15, tx16s, x12s, f16]
|
||||
- id: mixed-1
|
||||
target: [v12, v14, v16, x10, x10express]
|
||||
target: [v14, v14lcd, v16, x10, x10express]
|
||||
- id: bw-3
|
||||
target: [x7access, x9dp2019, x9e, x9e-hall]
|
||||
- id: color-4
|
||||
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
- tx16s
|
||||
- tx16smk3
|
||||
- f16
|
||||
- v16
|
||||
- v14;v14lcd;v16
|
||||
- x10;x10express
|
||||
- x12s
|
||||
- x7access
|
||||
|
||||
@@ -163,6 +163,8 @@ uint32_t Boards::getFourCC(Type board)
|
||||
return 0x4C78746F;
|
||||
case BOARD_HELLORADIOSKY_V14:
|
||||
return 0x4D78746F;
|
||||
case BOARD_HELLORADIOSKY_V14LCD:
|
||||
return 0x4F78746F;
|
||||
case BOARD_HELLORADIOSKY_V16:
|
||||
return 0x4E78746F;
|
||||
default:
|
||||
@@ -205,6 +207,7 @@ int Boards::getEEpromSize(Board::Type board)
|
||||
case BOARD_RADIOMASTER_MT12:
|
||||
case BOARD_RADIOMASTER_GX12:
|
||||
case BOARD_HELLORADIOSKY_V14:
|
||||
case BOARD_HELLORADIOSKY_V14LCD:
|
||||
return EESIZE_TARANIS;
|
||||
case BOARD_UNKNOWN:
|
||||
return EESIZE_MAX;
|
||||
@@ -263,6 +266,7 @@ int Boards::getFlashSize(Type board)
|
||||
case BOARD_RADIOMASTER_POCKET:
|
||||
return FSIZE_512KB;
|
||||
case BOARD_HELLORADIOSKY_V14:
|
||||
case BOARD_HELLORADIOSKY_V14LCD:
|
||||
case BOARD_JUMPER_BUMBLEBEE:
|
||||
case BOARD_JUMPER_T12MAX:
|
||||
case BOARD_JUMPER_T14:
|
||||
@@ -666,6 +670,8 @@ QString Boards::getBoardName(Board::Type board)
|
||||
return "HelloRadioSky V16";
|
||||
case BOARD_HELLORADIOSKY_V14:
|
||||
return "HelloRadioSky V14";
|
||||
case BOARD_HELLORADIOSKY_V14LCD:
|
||||
return "HelloRadioSky V14LCD";
|
||||
default:
|
||||
return CPN_STR_UNKNOWN_ITEM;
|
||||
}
|
||||
@@ -772,6 +778,7 @@ int Boards::getDefaultInternalModules(Board::Type board)
|
||||
case BOARD_BETAFPV_LR3PRO:
|
||||
case BOARD_FATFISH_F16:
|
||||
case BOARD_HELLORADIOSKY_V14:
|
||||
case BOARD_HELLORADIOSKY_V14LCD:
|
||||
case BOARD_HELLORADIOSKY_V16:
|
||||
case BOARD_RADIOMASTER_TX15:
|
||||
case BOARD_RADIOMASTER_TX16SMK3:
|
||||
@@ -813,6 +820,7 @@ void Boards::getBattRange(Board::Type board, int& vmin, int& vmax, unsigned int&
|
||||
{
|
||||
switch (board) {
|
||||
case BOARD_HELLORADIOSKY_V14:
|
||||
case BOARD_HELLORADIOSKY_V14LCD:
|
||||
case BOARD_JUMPER_T12:
|
||||
case BOARD_JUMPER_T14:
|
||||
case BOARD_JUMPER_TPRO:
|
||||
|
||||
@@ -98,6 +98,7 @@ namespace Board {
|
||||
BOARD_HELLORADIOSKY_V16,
|
||||
BOARD_RADIOMASTER_MT12,
|
||||
BOARD_HELLORADIOSKY_V14,
|
||||
BOARD_HELLORADIOSKY_V14LCD,
|
||||
BOARD_TYPE_COUNT,
|
||||
BOARD_TYPE_MAX = BOARD_TYPE_COUNT - 1
|
||||
};
|
||||
@@ -659,6 +660,11 @@ inline bool IS_HELLORADIOSKY_V14(Board::Type board)
|
||||
return board == Board::BOARD_HELLORADIOSKY_V14;
|
||||
}
|
||||
|
||||
inline bool IS_HELLORADIOSKY_V14LCD(Board::Type board)
|
||||
{
|
||||
return board == Board::BOARD_HELLORADIOSKY_V14LCD;
|
||||
}
|
||||
|
||||
inline bool IS_HELLORADIOSKY_V16(Board::Type board)
|
||||
{
|
||||
return board == Board::BOARD_HELLORADIOSKY_V16;
|
||||
@@ -681,6 +687,7 @@ inline bool IS_FAMILY_T12(Board::Type board)
|
||||
{
|
||||
return board == Board::BOARD_BETAFPV_LR3PRO ||
|
||||
board == Board::BOARD_HELLORADIOSKY_V14 ||
|
||||
board == Board::BOARD_HELLORADIOSKY_V14LCD ||
|
||||
board == Board::BOARD_IFLIGHT_COMMANDO8 ||
|
||||
board == Board::BOARD_JUMPER_BUMBLEBEE ||
|
||||
board == Board::BOARD_JUMPER_T12 ||
|
||||
|
||||
@@ -502,6 +502,13 @@ void registerOpenTxFirmwares()
|
||||
registerOpenTxFirmware(firmware);
|
||||
addOpenTxRfOptions(firmware, FLEX);
|
||||
|
||||
/* HelloRadioSky V14LCD board */
|
||||
firmware = new OpenTxFirmware(FIRMWAREID("v14lcd"), Firmware::tr("HelloRadioSky V14LCD"), BOARD_HELLORADIOSKY_V14LCD);
|
||||
addOpenTxCommonOptions(firmware);
|
||||
addOpenTxFontOptions(firmware);
|
||||
registerOpenTxFirmware(firmware);
|
||||
addOpenTxRfOptions(firmware, FLEX);
|
||||
|
||||
/* HelloRadioSky V16 board */
|
||||
firmware = new OpenTxFirmware(FIRMWAREID("v16"), Firmware::tr("HelloRadioSky V16"), BOARD_HELLORADIOSKY_V16);
|
||||
addOpenTxFrskyOptions(firmware);
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
["FrSky X9E", "x9e-"],
|
||||
["FrSky X9E Hall", "x9e-hall-"],
|
||||
["HelloRadioSky V14", "v14-"],
|
||||
["HelloRadioSky V14LCD", "v14lcd-"],
|
||||
["HelloRadioSky V16", "v16-"],
|
||||
["iFlight Commando 8", "commando8-"],
|
||||
["Jumper Bumblebee", "bumblebee-"],
|
||||
|
||||
@@ -0,0 +1,397 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"adc": "ADC1",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMA_CHANNEL_0",
|
||||
"dma_stream": "LL_DMA_STREAM_4",
|
||||
"dma_stream_irq": "DMA2_Stream4_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream4_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_28CYCLES"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC3",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMA_CHANNEL_2",
|
||||
"dma_stream": "LL_DMA_STREAM_0",
|
||||
"dma_stream_irq": "DMA2_Stream0_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream0_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"label": "S3",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
},
|
||||
{
|
||||
"name": "SWB",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "SWC",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10"
|
||||
},
|
||||
{
|
||||
"name": "SWE",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_7"
|
||||
},
|
||||
{
|
||||
"name": "SWF",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"adc_input": "SWB",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"adc_input": "SWC",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"adc_input": "SWE",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"adc_input": "SWF",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "PAGE<"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"lcd_w": 128,
|
||||
"lcd_h": 64,
|
||||
"lcd_phys_w": 128,
|
||||
"lcd_phys_h": 64,
|
||||
"lcd_depth": 1,
|
||||
"lcd_horizontal_invert": true
|
||||
},
|
||||
"backlight": {
|
||||
"backlight_bdtr": "TIM_BDTR_MOE"
|
||||
},
|
||||
"leds": {
|
||||
"led_strip_length": 38,
|
||||
"bling_led_strip_start": 6,
|
||||
"bling_led_strip_length": 32,
|
||||
"led_strip_gpio": "GPIO_PIN(GPIOA, 10)",
|
||||
"led_strip_gpio_af": "LL_GPIO_AF_1",
|
||||
"led_strip_timer": "TIM1",
|
||||
"led_strip_timer_freq": "(PERI2_FREQUENCY * TIMER_MULT_APB2)",
|
||||
"led_strip_timer_channel": "LL_TIM_CHANNEL_CH3",
|
||||
"led_strip_timer_dma": "DMA2",
|
||||
"led_strip_timer_dma_channel": "LL_DMA_CHANNEL_6",
|
||||
"led_strip_timer_dma_stream": "LL_DMA_STREAM_5",
|
||||
"led_strip_timer_dma_irqn": "DMA2_Stream5_IRQn",
|
||||
"led_strip_timer_dma_irqhandler": "DMA2_Stream5_IRQHandler",
|
||||
"led_strip_refresh_period": 50,
|
||||
"status_leds": true,
|
||||
"led_red_gpio": "GPIO_PIN(GPIOE, 13)",
|
||||
"led_green_gpio": "GPIO_PIN(GPIOE, 14)",
|
||||
"led_blue_gpio": "GPIO_PIN(GPIOE, 2)"
|
||||
},
|
||||
"hardware": {
|
||||
"has_ext_module_support": true,
|
||||
"has_int_module_support": true,
|
||||
"sport_max_baudrate": 400000,
|
||||
"cpu": "STM32F407xG",
|
||||
"cpu_type": "STM32F4"
|
||||
},
|
||||
"timers": {
|
||||
"cpu_freq": 168000000,
|
||||
"peri1_frequency": 42000000,
|
||||
"peri2_frequency": 84000000,
|
||||
"timer_mult_apb1": 2,
|
||||
"timer_mult_apb2": 2,
|
||||
"ms_timer": "TIM14",
|
||||
"ms_timer_irqn": "TIM8_TRG_COM_TIM14_IRQn",
|
||||
"ms_timer_irqhandler": "TIM8_TRG_COM_TIM14_IRQHandler",
|
||||
"mixer_scheduler_timer": "TIM12",
|
||||
"mixer_scheduler_timer_freq": "(PERI1_FREQUENCY * TIMER_MULT_APB1)",
|
||||
"mixer_scheduler_timer_irqn": "TIM8_BRK_TIM12_IRQn",
|
||||
"mixer_scheduler_timer_irqhandler": "TIM8_BRK_TIM12_IRQHandler"
|
||||
},
|
||||
"haptic": {
|
||||
"haptic_pwm": true,
|
||||
"haptic_gpio": "GPIO_PIN(GPIOB, 3)",
|
||||
"haptic_gpio_af": "GPIO_AF1",
|
||||
"haptic_timer": "TIM2",
|
||||
"haptic_timer_freq": "(PERI1_FREQUENCY * TIMER_MULT_APB1)",
|
||||
"haptic_counter_register": "HAPTIC_TIMER->CCR2",
|
||||
"haptic_ccmr1": "TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2",
|
||||
"haptic_ccer": "TIM_CCER_CC2E"
|
||||
}
|
||||
}
|
||||
@@ -373,11 +373,15 @@ elseif(PCB STREQUAL X7)
|
||||
if (NOT BLUETOOTH)
|
||||
set(AUX_SERIAL ON)
|
||||
endif()
|
||||
elseif(PCBREV STREQUAL V14)
|
||||
elseif(PCBREV STREQUAL V14 OR PCBREV STREQUAL V14LCD)
|
||||
set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module")
|
||||
set(INTERNAL_MODULE_SERIAL YES)
|
||||
set(MODULE_SIZE_STD YES)
|
||||
set(FLAVOUR v14)
|
||||
if(PCBREV STREQUAL V14LCD)
|
||||
set(FLAVOUR v14lcd)
|
||||
else()
|
||||
set(FLAVOUR v14)
|
||||
endif()
|
||||
set(CPU_TYPE_FULL STM32F407xG)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(USB_CHARGER YES)
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
#define USE_EXTI15_10_IRQ
|
||||
#define EXTI15_10_IRQ_Priority 5
|
||||
#endif
|
||||
#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V12) || defined(RADIO_GX12)
|
||||
#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12) || defined(RADIO_GX12)
|
||||
#define ROTARY_ENCODER_NAVIGATION
|
||||
#define ROTARY_ENCODER_GPIO GPIOE
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_9 // PE.9
|
||||
@@ -125,7 +125,7 @@
|
||||
#define USE_EXTI15_10_IRQ
|
||||
#define EXTI15_10_IRQ_Priority 5
|
||||
#endif
|
||||
#if defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V12)
|
||||
#if defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12)
|
||||
#define ROTARY_ENCODER_INVERTED
|
||||
#endif
|
||||
#endif
|
||||
@@ -137,7 +137,7 @@
|
||||
#endif
|
||||
|
||||
// 6POS SW
|
||||
#if defined(RADIO_V14) || defined(RADIO_V12)
|
||||
#if defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12)
|
||||
#define SIXPOS_SWITCH_INDEX 6
|
||||
#define SIXPOS_LED_RED 200
|
||||
#define SIXPOS_LED_GREEN 0
|
||||
@@ -192,7 +192,7 @@
|
||||
#define ADC_VREF_PREC2 330
|
||||
#elif defined(RADIO_GX12)
|
||||
#define ADC_VREF_PREC2 330
|
||||
#elif defined(RADIO_V12) || defined(RADIO_V14)
|
||||
#elif defined(RADIO_V12) || defined(RADIO_V14) || defined(RADIO_V14LCD)
|
||||
#define ADC_VREF_PREC2 330
|
||||
#elif defined(PCBX7)
|
||||
#define ADC_VREF_PREC2 330
|
||||
@@ -220,7 +220,7 @@
|
||||
#elif defined(RADIO_FAMILY_T20) || defined(RADIO_BUMBLEBEE)
|
||||
#define PWR_SWITCH_GPIO GPIO_PIN(GPIOG, 5) // PG.05
|
||||
#define PWR_ON_GPIO GPIO_PIN(GPIOG, 6) // PG.06
|
||||
#elif defined(RADIO_V14) || defined(RADIO_V12)
|
||||
#elif defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12)
|
||||
#define PWR_SWITCH_GPIO GPIO_PIN(GPIOD, 1) // PD.01
|
||||
#define PWR_ON_GPIO GPIO_PIN(GPIOB, 2) // PB.02
|
||||
#else
|
||||
@@ -263,7 +263,7 @@
|
||||
#endif
|
||||
|
||||
// Switches with LEDs
|
||||
#if defined(RADIO_V14)
|
||||
#if defined(RADIO_V14) || defined(RADIO_V14LCD)
|
||||
#define SALED_PWR_GPIO GPIO_PIN(GPIOC, 13) // PD.14
|
||||
#define SALED_PWR_ON() gpio_set(SALED_PWR_GPIO)
|
||||
#define SDLED_PWR_GPIO GPIO_PIN(GPIOE, 8) // PD.14
|
||||
@@ -316,7 +316,7 @@
|
||||
#define INTMODULE_DMA_STREAM_IRQ DMA2_Stream7_IRQn
|
||||
#define INTMODULE_DMA_STREAM_IRQHandler DMA2_Stream7_IRQHandler
|
||||
#define INTMODULE_DMA_CHANNEL LL_DMA_CHANNEL_4
|
||||
#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T20V2) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V12) || defined(RADIO_GX12) || defined(RADIO_BUMBLEBEE)
|
||||
#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T20V2) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12) || defined(RADIO_GX12) || defined(RADIO_BUMBLEBEE)
|
||||
#if defined(RADIO_T20V2) || defined(RADIO_BUMBLEBEE)
|
||||
#define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOE, 4) // PE.04
|
||||
#define INTMODULE_PWR_GPIO GPIO_PIN(GPIOC, 6) // PC.06
|
||||
@@ -328,7 +328,7 @@
|
||||
#endif
|
||||
#define INTMODULE_PWR_GPIO GPIO_PIN(GPIOC, 4) // PC.04
|
||||
#endif
|
||||
#if defined(RADIO_V14) || defined(RADIO_V12)
|
||||
#if defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12)
|
||||
#define INTMODULE_BOOTCMD_DEFAULT 1 // RESET
|
||||
#else
|
||||
#define INTMODULE_BOOTCMD_DEFAULT 0 // RESET
|
||||
@@ -413,8 +413,8 @@
|
||||
#endif
|
||||
|
||||
// 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) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V12) || defined(RADIO_T12MAX) || defined(RADIO_GX12)
|
||||
#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) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V12)
|
||||
#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) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12) || defined(RADIO_T12MAX) || defined(RADIO_GX12)
|
||||
#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) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12)
|
||||
#define EXTMODULE_PWR_GPIO GPIO_PIN(GPIOD, 8) // PD.08
|
||||
#elif defined(PCBX9LITE)
|
||||
#define EXTMODULE_PWR_GPIO GPIO_PIN(GPIOA, 8) // PA.08
|
||||
@@ -447,7 +447,7 @@
|
||||
#define EXTMODULE_USART_TX_DMA_STREAM LL_DMA_STREAM_6
|
||||
#define EXTMODULE_USART_RX_DMA_CHANNEL LL_DMA_CHANNEL_5
|
||||
#define EXTMODULE_USART_RX_DMA_STREAM LL_DMA_STREAM_1
|
||||
#if defined(RADIO_V14) || defined(RADIO_V12)
|
||||
#if defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12)
|
||||
#define EXTMODULE_TX_INVERT_GPIO GPIO_PIN(GPIOE, 7) // PE.07
|
||||
#define EXTMODULE_RX_INVERT_GPIO GPIO_PIN(GPIOE, 15) // PE.15
|
||||
#endif
|
||||
@@ -563,7 +563,7 @@
|
||||
#else
|
||||
#define TELEMETRY_SET_INPUT 0
|
||||
#endif
|
||||
#if defined(RADIO_V14) || defined(RADIO_V12)
|
||||
#if defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12)
|
||||
#define TELEMETRY_RX_REV_GPIO GPIO_PIN(GPIOE, 0) // PE.00
|
||||
#define TELEMETRY_TX_REV_GPIO GPIO_PIN(GPIOE, 0) // PE.00
|
||||
#endif
|
||||
@@ -688,7 +688,7 @@
|
||||
#if defined(PCBX9LITE) || defined(PCBXLITE) || defined(RADIO_X9DP2019) || \
|
||||
defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || \
|
||||
defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) ||\
|
||||
defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_V14) || defined(RADIO_V12) \
|
||||
defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_V12) \
|
||||
|| defined(RADIO_GX12)
|
||||
#define TRAINER_MODULE_CPPM_TIMER TIM3
|
||||
#define TRAINER_MODULE_CPPM_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
@@ -852,7 +852,7 @@
|
||||
|
||||
#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(PCBX7ACCESS) || \
|
||||
defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_X9DP2019) || \
|
||||
defined(RADIO_GX12) || defined(RADIO_V12) || defined(RADIO_V14)
|
||||
defined(RADIO_GX12) || defined(RADIO_V12) || defined(RADIO_V14) || defined(RADIO_V14LCD)
|
||||
#define I2C_B1_SCL_GPIO GPIO_PIN(GPIOB, 8) // PB.08
|
||||
#define I2C_B1_SDA_GPIO GPIO_PIN(GPIOB, 9) // PB.09
|
||||
#else
|
||||
@@ -975,7 +975,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(RADIO_BOXER) || defined(RADIO_FAMILY_T20) || defined(RADIO_X9DP2019) || defined (RADIO_V14) || defined(RADIO_GX12)
|
||||
#if defined(RADIO_BOXER) || defined(RADIO_FAMILY_T20) || defined(RADIO_X9DP2019) || defined (RADIO_V14) || defined(RADIO_V14LCD) || defined(RADIO_GX12)
|
||||
// Flysky Hall Stick
|
||||
#define FLYSKY_HALL_SERIAL_USART UART4
|
||||
#define FLYSKY_HALL_SERIAL_GPIO GPIOA
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
#if OLED_SCREEN
|
||||
#define LCD_CONTRAST_OFFSET 0
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12) || defined(MANUFACTURER_RADIOMASTER) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) || defined(RADIO_T12MAX) || defined(RADIO_V12) || defined(RADIO_V14)
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12) || defined(MANUFACTURER_RADIOMASTER) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) || defined(RADIO_T12MAX) || defined(RADIO_V12) || defined(RADIO_V14) || defined(RADIO_V14LCD)
|
||||
#define LCD_CONTRAST_OFFSET -10
|
||||
#else
|
||||
#define LCD_CONTRAST_OFFSET 160
|
||||
@@ -191,7 +191,7 @@ void lcdStart()
|
||||
lcdWriteCommand(0xa6); // Set display mode
|
||||
#endif
|
||||
#else
|
||||
#if defined(RADIO_V14)
|
||||
#if defined(RADIO_V14) || defined(RADIO_V14LCD)
|
||||
lcdWriteCommand(0xe2); // (14) Soft reset
|
||||
lcdWriteCommand(0xa1); // Set seg
|
||||
lcdWriteCommand(0xc0); // Set com
|
||||
@@ -453,7 +453,7 @@ void lcdSetRefVolt(uint8_t val)
|
||||
WAIT_FOR_DMA_END();
|
||||
#endif
|
||||
|
||||
#if defined(RADIO_V12) || defined(RADIO_V14)
|
||||
#if defined(RADIO_V12) || defined(RADIO_V14) || defined(RADIO_V14LCD)
|
||||
lcdWriteCommand(0x81); // Set Vop
|
||||
lcdWriteCommand(val+LCD_CONTRAST_OFFSET+20);// 0-255
|
||||
#else
|
||||
|
||||
@@ -101,6 +101,10 @@
|
||||
#define USB_NAME "HelloRadioSky V14"
|
||||
#define USB_MANUFACTURER 'H', 'R', 'S', 'k', 'y', ' ', ' ', ' ' /* 8 bytes */
|
||||
#define USB_PRODUCT 'V', '1', '4', ' ', ' ', ' ', ' ', ' ' /* 8 Bytes */
|
||||
#elif defined(RADIO_V14LCD)
|
||||
#define USB_NAME "HelloRadioSky V14LCD"
|
||||
#define USB_MANUFACTURER 'H', 'R', 'S', 'k', 'y', ' ', ' ', ' ' /* 8 bytes */
|
||||
#define USB_PRODUCT 'V', '1', '4', 'L', 'C', 'D', ' ', ' ' /* 8 Bytes */
|
||||
#else
|
||||
#define USB_NAME "FrSky Taranis"
|
||||
#define USB_MANUFACTURER 'F', 'r', 'S', 'k', 'y', ' ', ' ', ' ' /* 8 bytes */
|
||||
|
||||
@@ -209,6 +209,11 @@ def main():
|
||||
cmake_options["PCBREV"] = "V14"
|
||||
firmware_options = options_helloradiosky_v14
|
||||
maxsize = 65536 * 8 * 2
|
||||
elif board_name == "v14lcd":
|
||||
cmake_options["PCB"] = "X7"
|
||||
cmake_options["PCBREV"] = "V14LCD"
|
||||
firmware_options = options_helloradiosky_v14
|
||||
maxsize = 65536 * 8 * 2
|
||||
elif board_name == "v16":
|
||||
cmake_options["PCB"] = "X10"
|
||||
cmake_options["PCBREV"] = "V16"
|
||||
|
||||
@@ -776,7 +776,7 @@ LEGACY_NAMES = [
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": {"v12", "v14"},
|
||||
"targets": {"v12", "v14", "v14lcd"},
|
||||
"inputs": {
|
||||
"LH": {
|
||||
"yaml": "Rud",
|
||||
|
||||
@@ -76,6 +76,10 @@ boards = {
|
||||
"PCB": "X7",
|
||||
"PCBREV": "V14",
|
||||
},
|
||||
"V14LCD": {
|
||||
"PCB": "X7",
|
||||
"PCBREV": "V14LCD",
|
||||
},
|
||||
"V16": {
|
||||
"PCB": "X10",
|
||||
"PCBREV": "V16",
|
||||
|
||||
@@ -137,6 +137,9 @@ get_target_build_options() {
|
||||
v14)
|
||||
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=V14"
|
||||
;;
|
||||
v14lcd)
|
||||
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=V14LCD"
|
||||
;;
|
||||
v16)
|
||||
BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=V16"
|
||||
;;
|
||||
|
||||
@@ -223,7 +223,7 @@ else
|
||||
boxer bumblebee commando8
|
||||
gx12 mt12 pocket t12max
|
||||
t14 t20 t20v2 tpros tprov2
|
||||
tx12mk2 zorro v12 v14
|
||||
tx12mk2 zorro v12 v14 v14lcd
|
||||
x7access x9dp2019 x9e
|
||||
# colour
|
||||
el18 nb4p nv14 st16 pa01
|
||||
|
||||
@@ -9,7 +9,7 @@ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
|
||||
: "${SRCDIR:=$(dirname "$(pwd)/$0")/..}"
|
||||
|
||||
: ${FLAVOR:="nv14;el18;pl18;pl18ev;pl18u;nb4p;st16;pa01;t12;t12max;t15;t15pro;t22;t16;t18;t8;zorro;pocket;commando8;tlite;tpro;tprov2;tpros;bumblebee;t20;t20v2;t14;lr3pro;mt12;gx12;tx12;tx12mk2;boxer;tx16s;tx16smk3;x10;x10express;x12s;x7;x7access;x9d;x9dp;x9dp2019;x9e;x9lite;x9lites;xlite;xlites;f16;v16;v14;v12;tx15"}
|
||||
: ${FLAVOR:="nv14;el18;pl18;pl18ev;pl18u;nb4p;st16;pa01;t12;t12max;t15;t15pro;t22;t16;t18;t8;zorro;pocket;commando8;tlite;tpro;tprov2;tpros;bumblebee;t20;t20v2;t14;lr3pro;mt12;gx12;tx12;tx12mk2;boxer;tx16s;tx16smk3;x10;x10express;x12s;x7;x7access;x9d;x9dp;x9dp2019;x9e;x9lite;x9lites;xlite;xlites;f16;v16;v14;v14lcd;v12;tx15"}
|
||||
: ${COMMON_OPTIONS:="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_RULE_MESSAGES=OFF -Wno-dev -DCMAKE_MESSAGE_LOG_LEVEL=WARNING"}
|
||||
|
||||
# wipe build directory clean
|
||||
|
||||
Reference in New Issue
Block a user