402 lines
8.4 KiB
JSON
402 lines
8.4 KiB
JSON
{
|
|
"identity": {
|
|
"manufacturer": "FrSky",
|
|
"model": "X9D+ 2019",
|
|
"usb_manufacturer": "FrSky",
|
|
"usb_product": "Taranis"
|
|
},
|
|
"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"
|
|
}
|
|
],
|
|
"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": "GPIOA",
|
|
"pin": "LL_GPIO_PIN_6",
|
|
"channel": "LL_ADC_CHANNEL_6",
|
|
"label": "S1",
|
|
"short_label": "1",
|
|
"default": "POT_CENTER"
|
|
},
|
|
{
|
|
"name": "P2",
|
|
"type": "FLEX",
|
|
"adc": "MAIN",
|
|
"gpio": "GPIOB",
|
|
"pin": "LL_GPIO_PIN_0",
|
|
"channel": "LL_ADC_CHANNEL_8",
|
|
"label": "S2",
|
|
"short_label": "2",
|
|
"default": "POT_CENTER"
|
|
},
|
|
{
|
|
"name": "SL1",
|
|
"type": "FLEX",
|
|
"adc": "MAIN",
|
|
"gpio": "GPIOC",
|
|
"pin": "LL_GPIO_PIN_4",
|
|
"channel": "LL_ADC_CHANNEL_14",
|
|
"inverted": true,
|
|
"label": "LS",
|
|
"short_label": "L",
|
|
"default": "SLIDER"
|
|
},
|
|
{
|
|
"name": "SL2",
|
|
"type": "FLEX",
|
|
"adc": "MAIN",
|
|
"gpio": "GPIOC",
|
|
"pin": "LL_GPIO_PIN_5",
|
|
"channel": "LL_ADC_CHANNEL_15",
|
|
"label": "RS",
|
|
"short_label": "R",
|
|
"default": "SLIDER"
|
|
},
|
|
{
|
|
"name": "VBAT",
|
|
"type": "VBAT",
|
|
"adc": "MAIN",
|
|
"gpio": "GPIOC",
|
|
"pin": "LL_GPIO_PIN_0",
|
|
"channel": "LL_ADC_CHANNEL_10"
|
|
},
|
|
{
|
|
"name": "RTC_BAT",
|
|
"type": "RTC_BAT",
|
|
"adc": "MAIN",
|
|
"gpio": null,
|
|
"pin": null,
|
|
"channel": "LL_ADC_CHANNEL_VBAT"
|
|
}
|
|
]
|
|
},
|
|
"switches": [
|
|
{
|
|
"name": "SA",
|
|
"type": "3POS",
|
|
"flags": 0,
|
|
"inverted": false,
|
|
"default": "3POS",
|
|
"display": [
|
|
0,
|
|
0
|
|
],
|
|
"gpio_high": "GPIOB",
|
|
"pin_high": "LL_GPIO_PIN_5",
|
|
"gpio_low": "GPIOE",
|
|
"pin_low": "LL_GPIO_PIN_0",
|
|
"is_cfs": false
|
|
},
|
|
{
|
|
"name": "SB",
|
|
"type": "3POS",
|
|
"flags": 0,
|
|
"inverted": false,
|
|
"default": "3POS",
|
|
"display": [
|
|
0,
|
|
1
|
|
],
|
|
"gpio_high": "GPIOE",
|
|
"pin_high": "LL_GPIO_PIN_1",
|
|
"gpio_low": "GPIOE",
|
|
"pin_low": "LL_GPIO_PIN_2",
|
|
"is_cfs": false
|
|
},
|
|
{
|
|
"name": "SC",
|
|
"type": "3POS",
|
|
"flags": 0,
|
|
"inverted": false,
|
|
"default": "3POS",
|
|
"display": [
|
|
1,
|
|
0
|
|
],
|
|
"gpio_high": "GPIOE",
|
|
"pin_high": "LL_GPIO_PIN_15",
|
|
"gpio_low": "GPIOA",
|
|
"pin_low": "LL_GPIO_PIN_5",
|
|
"is_cfs": false
|
|
},
|
|
{
|
|
"name": "SD",
|
|
"type": "3POS",
|
|
"flags": 0,
|
|
"inverted": false,
|
|
"default": "3POS",
|
|
"display": [
|
|
1,
|
|
1
|
|
],
|
|
"gpio_high": "GPIOE",
|
|
"pin_high": "LL_GPIO_PIN_7",
|
|
"gpio_low": "GPIOE",
|
|
"pin_low": "LL_GPIO_PIN_13",
|
|
"is_cfs": false
|
|
},
|
|
{
|
|
"name": "SE",
|
|
"type": "3POS",
|
|
"flags": 0,
|
|
"inverted": false,
|
|
"default": "3POS",
|
|
"display": [
|
|
0,
|
|
2
|
|
],
|
|
"gpio_high": "GPIOB",
|
|
"pin_high": "LL_GPIO_PIN_3",
|
|
"gpio_low": "GPIOB",
|
|
"pin_low": "LL_GPIO_PIN_4",
|
|
"is_cfs": false
|
|
},
|
|
{
|
|
"name": "SF",
|
|
"type": "2POS",
|
|
"flags": 0,
|
|
"inverted": false,
|
|
"default": "2POS",
|
|
"display": [
|
|
0,
|
|
3
|
|
],
|
|
"gpio": "GPIOE",
|
|
"pin": "LL_GPIO_PIN_14",
|
|
"is_cfs": false
|
|
},
|
|
{
|
|
"name": "SG",
|
|
"type": "3POS",
|
|
"flags": 0,
|
|
"inverted": false,
|
|
"default": "3POS",
|
|
"display": [
|
|
1,
|
|
2
|
|
],
|
|
"gpio_high": "GPIOE",
|
|
"pin_high": "LL_GPIO_PIN_9",
|
|
"gpio_low": "GPIOE",
|
|
"pin_low": "LL_GPIO_PIN_8",
|
|
"is_cfs": false
|
|
},
|
|
{
|
|
"name": "SH",
|
|
"type": "2POS",
|
|
"flags": 0,
|
|
"inverted": false,
|
|
"default": "TOGGLE",
|
|
"display": [
|
|
1,
|
|
3
|
|
],
|
|
"gpio": "GPIOD",
|
|
"pin": "LL_GPIO_PIN_14",
|
|
"is_cfs": false
|
|
},
|
|
{
|
|
"name": "SI",
|
|
"type": "2POS",
|
|
"flags": 0,
|
|
"inverted": false,
|
|
"default": "TOGGLE",
|
|
"display": [
|
|
0,
|
|
4
|
|
],
|
|
"gpio": "GPIOD",
|
|
"pin": "LL_GPIO_PIN_10",
|
|
"is_cfs": false
|
|
}
|
|
],
|
|
"keys": [
|
|
{
|
|
"gpio": "GPIOD",
|
|
"pin": "LL_GPIO_PIN_2",
|
|
"active_low": true,
|
|
"key": "KEY_MENU",
|
|
"name": "MENU",
|
|
"label": "MENU"
|
|
},
|
|
{
|
|
"gpio": "GPIOD",
|
|
"pin": "LL_GPIO_PIN_7",
|
|
"active_low": true,
|
|
"key": "KEY_EXIT",
|
|
"name": "EXIT",
|
|
"label": "EXIT"
|
|
},
|
|
{
|
|
"gpio": "GPIOE",
|
|
"pin": "LL_GPIO_PIN_12",
|
|
"active_low": true,
|
|
"key": "KEY_ENTER",
|
|
"name": "ENTER",
|
|
"label": "ENT"
|
|
},
|
|
{
|
|
"gpio": "GPIOD",
|
|
"pin": "LL_GPIO_PIN_3",
|
|
"active_low": true,
|
|
"key": "KEY_PAGEDN",
|
|
"name": "PAGEDN",
|
|
"label": "PAGE"
|
|
}
|
|
],
|
|
"trims": [
|
|
{
|
|
"name": "T1",
|
|
"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
|
|
},
|
|
{
|
|
"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": "GPIOC",
|
|
"pin": "LL_GPIO_PIN_2",
|
|
"active_low": true
|
|
},
|
|
"active_low": true
|
|
},
|
|
{
|
|
"name": "T4",
|
|
"dec": {
|
|
"gpio": "GPIOC",
|
|
"pin": "LL_GPIO_PIN_13",
|
|
"active_low": true
|
|
},
|
|
"inc": {
|
|
"gpio": "GPIOC",
|
|
"pin": "LL_GPIO_PIN_1",
|
|
"active_low": true
|
|
},
|
|
"active_low": true
|
|
}
|
|
],
|
|
"display": {
|
|
"lcd_w": 212,
|
|
"lcd_h": 64,
|
|
"lcd_phys_w": 212,
|
|
"lcd_phys_h": 64,
|
|
"lcd_depth": 4
|
|
},
|
|
"backlight": {
|
|
"has_backlight_color": true
|
|
},
|
|
"leds": {
|
|
"status_leds": true,
|
|
"gpio_led_gpio_on": "gpio_clear",
|
|
"gpio_led_gpio_off": "gpio_set",
|
|
"led_red_gpio": "GPIO_PIN(GPIOA, 13)"
|
|
},
|
|
"hardware": {
|
|
"has_ext_module_support": true,
|
|
"sport_max_baudrate": 400000,
|
|
"cpu": "STM32F407xE",
|
|
"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(GPIOA, 10)",
|
|
"haptic_gpio_af": "GPIO_AF1",
|
|
"haptic_timer": "TIM1",
|
|
"haptic_timer_freq": "(PERI2_FREQUENCY * TIMER_MULT_APB2)",
|
|
"haptic_counter_register": "HAPTIC_TIMER->CCR3",
|
|
"haptic_ccmr2": "TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2",
|
|
"haptic_ccer": "TIM_CCER_CC3E"
|
|
},
|
|
"key_lock_combo": [
|
|
"KEY_MENU",
|
|
"KEY_EXIT"
|
|
]
|
|
}
|