chore(radio): remove hardware definitions present in JSON (#6437)
Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
This commit is contained in:
co-authored by
philmoz
parent
2ca8e3e7b6
commit
df981597c6
@@ -64,7 +64,7 @@ jobs:
|
||||
cache-key-prefix: 'install-qt-action-macOS'
|
||||
|
||||
- name: Install dependencies
|
||||
run: python3 -m pip install --upgrade pip Pillow lz4 clang jinja2
|
||||
run: python3 -m pip install --upgrade pip Pillow lz4 clang jinja2 pydantic
|
||||
|
||||
- name: Install SDL2
|
||||
run: brew install SDL2
|
||||
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
- name: Install Python Dependencies
|
||||
run: |
|
||||
echo $PATH
|
||||
$Python3_ROOT_DIR/python3.exe -m pip install clang jinja2 lz4 pillow
|
||||
$Python3_ROOT_DIR/python3.exe -m pip install clang jinja2 lz4 pillow pydantic
|
||||
|
||||
- name: Setup MSVC
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
|
||||
+8
-8
@@ -96,18 +96,18 @@ function(AddHardwareDefTarget output)
|
||||
endforeach()
|
||||
|
||||
set(GEN_HW_DEFS ${CMAKE_CXX_COMPILER} ${HW_DEF_ARGS} -x c++-header -E -dM ${HW_DEF_SRC})
|
||||
set(GEN_JSON ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/hw_defs/generate_hw_def.py)
|
||||
set(GEN_JSON ${GEN_JSON} -i defines -T ${FLAVOUR} -)
|
||||
# set(GEN_JSON ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/hw_defs/generate_hw_def.py)
|
||||
# set(GEN_JSON ${GEN_JSON} -i defines -T ${FLAVOUR} -)
|
||||
|
||||
add_custom_command(OUTPUT ${output}
|
||||
COMMAND ${GEN_HW_DEFS} | ${GEN_JSON} > ${output}
|
||||
DEPENDS ${HW_DEF_SRC} ${RADIO_DIRECTORY}/util/hw_defs/generate_hw_def.py
|
||||
)
|
||||
# add_custom_command(OUTPUT ${output}
|
||||
# COMMAND ${GEN_HW_DEFS} | ${GEN_JSON} > ${output}
|
||||
# DEPENDS ${HW_DEF_SRC} ${RADIO_DIRECTORY}/util/hw_defs/generate_hw_def.py
|
||||
# )
|
||||
|
||||
add_custom_command(OUTPUT ${output}.h
|
||||
COMMAND ${GEN_HW_DEFS} > ${output}.h
|
||||
DEPENDS ${HW_DEF_SRC} ${RADIO_DIRECTORY}/util/hw_defs/generate_hw_def.py
|
||||
)
|
||||
)
|
||||
endfunction()
|
||||
|
||||
function(AddHWGenTarget input template output)
|
||||
@@ -116,7 +116,7 @@ function(AddHWGenTarget input template output)
|
||||
set(GEN_JSON ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/hw_defs/generate_hw_def.py)
|
||||
|
||||
# Inputs
|
||||
set(INPUT_JSON ${CMAKE_CURRENT_BINARY_DIR}/${input})
|
||||
set(INPUT_JSON ${RADIO_SRC_DIR}/boards/hw_defs/${input})
|
||||
set(TEMPLATE ${RADIO_DIRECTORY}/util/hw_defs/${template}.jinja)
|
||||
set(GEN_PY_DEPS
|
||||
${RADIO_DIRECTORY}/util/hw_defs/generator.py
|
||||
|
||||
@@ -133,7 +133,8 @@ else()
|
||||
endif()
|
||||
|
||||
############# Import radio hardware definitions ###############
|
||||
set(HWDEFS_DIR "${CMAKE_CURRENT_BINARY_DIR}/../../radio/src")
|
||||
|
||||
set(HWDEFS_DIR "${CMAKE_SOURCE_DIR}/radio/src/boards/hw_defs")
|
||||
set(HWDEFS_TMPL "${COMPANION_SRC_DIRECTORY}/hwdefs.qrc.in")
|
||||
set(HWDEFS_PHDR "HWDEF_JSON_LIST")
|
||||
set(HWDEFS_QRC "${CMAKE_CURRENT_BINARY_DIR}/hwdefs.qrc")
|
||||
@@ -288,22 +289,6 @@ add_subdirectory(tests)
|
||||
|
||||
############# Install ####################
|
||||
|
||||
# the current flavour is not automatically added if build in the current cmake iteration, so always
|
||||
# add its library name to be sure
|
||||
string(TOLOWER ${PCB} FLAVOUR)
|
||||
|
||||
if(PCBREV)
|
||||
if(PCB STREQUAL X7 AND PCBREV STREQUAL ACCESS)
|
||||
set(FLAVOUR x7access)
|
||||
elseif(PCB STREQUAL X9D+ AND PCBREV STREQUAL 2019)
|
||||
set(FLAVOUR x9d+2019)
|
||||
elseif(PCB STREQUAL X10 AND PCBREV STREQUAL EXPRESS)
|
||||
set(FLAVOUR x10express)
|
||||
else()
|
||||
string(TOLOWER ${PCBREV} FLAVOUR)
|
||||
endif()
|
||||
endif(PCBREV)
|
||||
|
||||
set(COMPANION_TARGETS_DIR_ROOT "${COMPANION_SRC_DIRECTORY}/../targets")
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
@@ -642,4 +627,3 @@ else()
|
||||
endif()
|
||||
|
||||
include(CPack)
|
||||
|
||||
|
||||
@@ -109,11 +109,18 @@ else()
|
||||
message(FATAL_ERROR "Unknown PCB '${PCB}'")
|
||||
endif()
|
||||
|
||||
# Add RADIO_xxx definition
|
||||
string(TOUPPER ${FLAVOUR} RADIO_NAME)
|
||||
string(REPLACE "+" "P" RADIO_NAME ${RADIO_NAME})
|
||||
string(CONCAT RADIO_NAME "RADIO_" ${RADIO_NAME})
|
||||
add_definitions(-D${RADIO_NAME})
|
||||
set(${RADIO_NAME} YES)
|
||||
|
||||
set(HW_DESC_JSON ${FLAVOUR}.json)
|
||||
AddHardwareDefTarget(${HW_DESC_JSON})
|
||||
|
||||
# enable generating JSON definition separately for debugging
|
||||
add_custom_target(hardware_defs DEPENDS ${HW_DESC_JSON} ${HW_DESC_JSON}.h)
|
||||
add_custom_target(hardware_defs DEPENDS ${HW_DESC_JSON}.h)
|
||||
|
||||
include(hal/CMakeLists.txt)
|
||||
|
||||
@@ -783,5 +790,3 @@ if(CPU_FAMILY STREQUAL STM32)
|
||||
endif()
|
||||
|
||||
PrintTargetReport("firmware")
|
||||
|
||||
AddHardwareDefTarget(hardware_defs ${RADIO_DIRECTORY}/src/targets/hw_defs/${FLAVOUR}.json)
|
||||
|
||||
@@ -8,7 +8,7 @@ AddHWGenTarget(${HW_DESC_JSON} hal_adc_inputs hal_adc_inputs.inc)
|
||||
|
||||
# Dependencies common to bootloader and firmware
|
||||
set(MINIMAL_BOARD_LIB_SRC
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${HW_DESC_JSON}
|
||||
${RADIO_SRC_DIR}/boards/hw_defs/${HW_DESC_JSON}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/stm32_keys.inc
|
||||
|
||||
boards/generic_stm32/inputs.cpp
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#include "hal.h"
|
||||
|
||||
#if defined(ADC_SPI)
|
||||
#if defined(USE_ADS79XX)
|
||||
#include "ads79xx.h"
|
||||
#endif
|
||||
|
||||
@@ -40,8 +40,9 @@
|
||||
|
||||
// generated files
|
||||
#include "stm32_adc_inputs.inc"
|
||||
#include "stm32_pwm_inputs.inc"
|
||||
#if !defined(BOOT)
|
||||
#include "hal_adc_inputs.inc"
|
||||
#endif
|
||||
|
||||
constexpr uint8_t n_ADC = DIM(_ADC_adc);
|
||||
constexpr uint8_t n_ADC_spi = DIM(_ADC_spi);
|
||||
@@ -54,16 +55,21 @@ static_assert(n_inputs <= MAX_ANALOG_INPUTS, "Too many analog inputs");
|
||||
static bool adc_init()
|
||||
{
|
||||
bool success = stm32_hal_adc_init(_ADC_adc, n_ADC, _ADC_inputs, _ADC_GPIOs, n_GPIO);
|
||||
#if defined(ADC_SPI)
|
||||
#if defined(USE_ADS79XX)
|
||||
if (n_ADC_spi > 0) ads79xx_init(&_ADC_spi[0]);
|
||||
#endif
|
||||
return success;
|
||||
}
|
||||
|
||||
static void adc_deinit()
|
||||
{
|
||||
stm32_hal_adc_deinit(_ADC_adc, n_ADC);
|
||||
}
|
||||
|
||||
static bool adc_start_read()
|
||||
{
|
||||
bool success = stm32_hal_adc_start_read(_ADC_adc, n_ADC, _ADC_inputs, n_inputs);
|
||||
#if defined(ADC_SPI)
|
||||
#if defined(USE_ADS79XX)
|
||||
if (n_ADC_spi > 0) {
|
||||
success = success && ads79xx_adc_start_read(&_ADC_spi[0], _ADC_inputs);
|
||||
}
|
||||
@@ -73,7 +79,7 @@ static bool adc_start_read()
|
||||
|
||||
static void adc_wait_completion()
|
||||
{
|
||||
#if defined(ADC_SPI)
|
||||
#if defined(USE_ADS79XX)
|
||||
// ADS79xx does all the work in the completion function
|
||||
// so it's probably better to poll it first
|
||||
if (n_ADC_spi > 0) ads79xx_adc_wait_completion(&_ADC_spi[0], _ADC_inputs);
|
||||
@@ -82,17 +88,22 @@ static void adc_wait_completion()
|
||||
}
|
||||
|
||||
const etx_hal_adc_driver_t _adc_driver = {
|
||||
#if !defined(BOOT)
|
||||
.inputs = _hal_inputs,
|
||||
.default_pots_cfg = _pot_default_config,
|
||||
#endif
|
||||
.init = adc_init,
|
||||
.deinit = adc_deinit,
|
||||
.start_conversion = adc_start_read,
|
||||
.wait_completion = adc_wait_completion,
|
||||
.set_input_mask = stm32_hal_set_inputs_mask,
|
||||
.get_input_mask = stm32_hal_get_inputs_mask,
|
||||
};
|
||||
|
||||
#if !defined(BOOT)
|
||||
#if defined(PWM_STICKS)
|
||||
#include "stm32_gpio.h"
|
||||
#include "stm32_pwm_inputs.inc"
|
||||
|
||||
static const stick_pwm_timer_t _sticks_timer = {
|
||||
.GPIOx = PWM_GPIO,
|
||||
@@ -141,3 +152,4 @@ void gimbalsDetect()
|
||||
detected = gimbal_drivers[idx++]();
|
||||
}
|
||||
}
|
||||
#endif // !BOOT
|
||||
|
||||
@@ -0,0 +1,331 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"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": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_5",
|
||||
"label": "6P",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,400 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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_28CYCLES"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"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": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"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": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_0",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "</>"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 1,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,280 @@
|
||||
{
|
||||
"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_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"pwm_channel": 1,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"pwm_channel": 0
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"pwm_channel": 2,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"pwm_channel": 3
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_6",
|
||||
"gpio_low": "GPIOC",
|
||||
"pin_low": "LL_GPIO_PIN_4",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "BCK"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "Left"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "Right"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true,
|
||||
"key": "KEY_PLUS",
|
||||
"name": "PLUS",
|
||||
"label": "Up"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true,
|
||||
"key": "KEY_MINUS",
|
||||
"name": "MINUS",
|
||||
"label": "Down"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"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_6",
|
||||
"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_1",
|
||||
"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_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,345 @@
|
||||
{
|
||||
"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_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"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_4"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
},
|
||||
{
|
||||
"name": "SWA",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9"
|
||||
},
|
||||
{
|
||||
"name": "SWB",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6"
|
||||
},
|
||||
{
|
||||
"name": "SWC",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
},
|
||||
{
|
||||
"name": "SWD",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
},
|
||||
{
|
||||
"name": "SWE",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10"
|
||||
},
|
||||
{
|
||||
"name": "SWF",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWG",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWH",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_7"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWA",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWB",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWC",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWD",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWE",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWF",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWG",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"adc_input": "SWH",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": false,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": false,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": false
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": false
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": false
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": false
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": false
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": false
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": false
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": false
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 320,
|
||||
"h": 480,
|
||||
"phys_w": 320,
|
||||
"phys_h": 480,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,439 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"label": "6POS",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_4",
|
||||
"inverted": true,
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "EXT1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "EXT1",
|
||||
"short_label": "E1"
|
||||
},
|
||||
{
|
||||
"name": "EXT2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "EXT2",
|
||||
"short_label": "E2"
|
||||
},
|
||||
{
|
||||
"name": "EXT3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true,
|
||||
"label": "EXT3",
|
||||
"short_label": "E3"
|
||||
},
|
||||
{
|
||||
"name": "EXT4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"label": "EXT4",
|
||||
"short_label": "E4"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_9",
|
||||
"gpio_low": "GPIOI",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_12",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_6",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "PAGE<"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 272,
|
||||
"phys_w": 480,
|
||||
"phys_h": 272,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,441 @@
|
||||
{
|
||||
"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": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true,
|
||||
"label": "P1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true,
|
||||
"label": "P2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"label": "S1",
|
||||
"short_label": "S1",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_5",
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "S2",
|
||||
"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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_14",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 7
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_PIN_10",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_PIN_5",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_PIN_4",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_1",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 6
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_PIN_12",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_PIN_3",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_0",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_1",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_2",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_3",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_4",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_5",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 1,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 1,
|
||||
"groups": 4
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,260 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_13",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true,
|
||||
"key": "KEY_UP",
|
||||
"name": "UP",
|
||||
"label": "Up"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_DOWN",
|
||||
"name": "DOWN",
|
||||
"label": "Down"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_LEFT",
|
||||
"name": "LEFT",
|
||||
"label": "Left"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_RIGHT",
|
||||
"name": "RIGHT",
|
||||
"label": "Right"
|
||||
}
|
||||
],
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 1,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,309 @@
|
||||
{
|
||||
"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": "ST",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "TH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_5",
|
||||
"label": "S3",
|
||||
"short_label": "3",
|
||||
"default": "NONE"
|
||||
},
|
||||
{
|
||||
"name": "P4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "S4",
|
||||
"short_label": "4",
|
||||
"default": "NONE"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "PAGE<"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"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": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"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": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 7,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
{
|
||||
"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": "ST",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "TH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"label": "VR1L",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "VR1R",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "RAW1",
|
||||
"type": "RAW",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11"
|
||||
},
|
||||
{
|
||||
"name": "RAW2",
|
||||
"type": "RAW",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10"
|
||||
},
|
||||
{
|
||||
"name": "RAW3",
|
||||
"type": "RAW",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6"
|
||||
},
|
||||
{
|
||||
"name": "RAW4",
|
||||
"type": "RAW",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1"
|
||||
},
|
||||
{
|
||||
"name": "T2"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 320,
|
||||
"h": 480,
|
||||
"phys_w": 320,
|
||||
"phys_h": 480,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 4,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,345 @@
|
||||
{
|
||||
"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_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"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_4"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
},
|
||||
{
|
||||
"name": "SWA",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9"
|
||||
},
|
||||
{
|
||||
"name": "SWB",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6"
|
||||
},
|
||||
{
|
||||
"name": "SWC",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
},
|
||||
{
|
||||
"name": "SWD",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
},
|
||||
{
|
||||
"name": "SWE",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10"
|
||||
},
|
||||
{
|
||||
"name": "SWF",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWG",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWH",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_7"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWA",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWB",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"adc_input": "SWC",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWD",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"adc_input": "SWE",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWF",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWG",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"adc_input": "SWH",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": false,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": false,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": false
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": false
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": false
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": false
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": false
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": false
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": false
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": false
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 320,
|
||||
"h": 480,
|
||||
"phys_w": 320,
|
||||
"phys_h": 480,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,308 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"adc": "ADC1",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC1",
|
||||
"dma_stream": "LL_DMA_STREAM_4",
|
||||
"dma_stream_irq": "DMA2_Stream4_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream4_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_64CYCLES_5"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC3",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC3",
|
||||
"dma_stream": "LL_DMA_STREAM_0",
|
||||
"dma_stream_irq": "DMA2_Stream0_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream0_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_64CYCLES_5"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_15",
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_19",
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
},
|
||||
{
|
||||
"name": "SWB",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWC",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWB",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWC",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "AW9523B_PIN_0",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "AW9523B_PIN_1",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "AW9523B_PIN_2",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "AW9523B_PIN_3",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "PAGE<"
|
||||
},
|
||||
{
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
},
|
||||
{
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1"
|
||||
},
|
||||
{
|
||||
"name": "T2"
|
||||
},
|
||||
{
|
||||
"name": "T3"
|
||||
},
|
||||
{
|
||||
"name": "T4"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 320,
|
||||
"h": 240,
|
||||
"phys_w": 320,
|
||||
"phys_h": 240,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 1,
|
||||
"groups": 2
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 4,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,316 @@
|
||||
{
|
||||
"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_28CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "S3",
|
||||
"short_label": "3",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"inverted": true,
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"inverted": true,
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
},
|
||||
{
|
||||
"name": "SWB",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWD",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWE",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12"
|
||||
},
|
||||
{
|
||||
"name": "SWF",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
},
|
||||
{
|
||||
"name": "SWG",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9"
|
||||
},
|
||||
{
|
||||
"name": "SWH",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWB",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWD",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWE",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWF",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWG",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"adc_input": "SWH",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1"
|
||||
},
|
||||
{
|
||||
"name": "T2"
|
||||
},
|
||||
{
|
||||
"name": "T3"
|
||||
},
|
||||
{
|
||||
"name": "T4"
|
||||
},
|
||||
{
|
||||
"name": "T5"
|
||||
},
|
||||
{
|
||||
"name": "T6"
|
||||
},
|
||||
{
|
||||
"name": "T7"
|
||||
},
|
||||
{
|
||||
"name": "T8"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 320,
|
||||
"phys_w": 320,
|
||||
"phys_h": 480,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 4,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,360 @@
|
||||
{
|
||||
"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_28CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "S3",
|
||||
"short_label": "3",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"inverted": true,
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"inverted": true,
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "EXT1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_5",
|
||||
"label": "EXT1",
|
||||
"short_label": "E1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "EXT2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"label": "EXT2",
|
||||
"short_label": "E2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "EXT3",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_4",
|
||||
"label": "EXT3",
|
||||
"short_label": "E3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "EXT4",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"label": "EXT4",
|
||||
"short_label": "E4",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
},
|
||||
{
|
||||
"name": "SWB",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWD",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWE",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12"
|
||||
},
|
||||
{
|
||||
"name": "SWF",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
},
|
||||
{
|
||||
"name": "SWG",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9"
|
||||
},
|
||||
{
|
||||
"name": "SWH",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWB",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWD",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWE",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWF",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWG",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWH",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1"
|
||||
},
|
||||
{
|
||||
"name": "T2"
|
||||
},
|
||||
{
|
||||
"name": "T3"
|
||||
},
|
||||
{
|
||||
"name": "T4"
|
||||
},
|
||||
{
|
||||
"name": "T5"
|
||||
},
|
||||
{
|
||||
"name": "T6"
|
||||
},
|
||||
{
|
||||
"name": "T7"
|
||||
},
|
||||
{
|
||||
"name": "T8"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 320,
|
||||
"phys_w": 320,
|
||||
"phys_h": 480,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 4,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,331 @@
|
||||
{
|
||||
"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_28CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": null
|
||||
},
|
||||
{
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "S3",
|
||||
"short_label": "3",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"inverted": true,
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
},
|
||||
{
|
||||
"name": "SWB",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWD",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10"
|
||||
},
|
||||
{
|
||||
"name": "SWE",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWF",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
},
|
||||
{
|
||||
"name": "SWG",
|
||||
"type": "SWITCH",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "SWH",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_3",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_6",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWB",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_14",
|
||||
"gpio_low": "GPIOH",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWD",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWE",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWF",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWG",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"adc_input": "SWH",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1"
|
||||
},
|
||||
{
|
||||
"name": "T2"
|
||||
},
|
||||
{
|
||||
"name": "T3"
|
||||
},
|
||||
{
|
||||
"name": "T4"
|
||||
},
|
||||
{
|
||||
"name": "T5"
|
||||
},
|
||||
{
|
||||
"name": "T6"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 320,
|
||||
"phys_w": 320,
|
||||
"phys_h": 480,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 4,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,294 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,408 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"adc": "ADC1",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC1",
|
||||
"dma_stream": "LL_DMA_STREAM_4",
|
||||
"dma_stream_irq": "DMA2_Stream4_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream4_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_8CYCLES_5"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC3",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC3",
|
||||
"dma_stream": "LL_DMA_STREAM_0",
|
||||
"dma_stream_irq": "DMA2_Stream0_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream0_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_8CYCLES_5"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_14"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_15"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_16"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_17"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_5",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
},
|
||||
{
|
||||
"name": "SWA",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_0"
|
||||
},
|
||||
{
|
||||
"name": "SWB",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "SWC",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "SWD",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "SWE",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
},
|
||||
{
|
||||
"name": "SWF",
|
||||
"type": "SWITCH",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_7"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWA",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWB",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"adc_input": "SWC",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWD",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWE",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "ADC",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"adc_input": "SWF",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_6",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_0",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_1",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_2",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_3",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_4",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_PIN_5",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "MENU"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1"
|
||||
},
|
||||
{
|
||||
"name": "T2"
|
||||
},
|
||||
{
|
||||
"name": "T3"
|
||||
},
|
||||
{
|
||||
"name": "T4"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 320,
|
||||
"phys_w": 320,
|
||||
"phys_h": 480,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 1,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 12,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,336 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_13",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_0",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_2",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true,
|
||||
"key": "KEY_UP",
|
||||
"name": "UP",
|
||||
"label": "Up"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_DOWN",
|
||||
"name": "DOWN",
|
||||
"label": "Down"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_LEFT",
|
||||
"name": "LEFT",
|
||||
"label": "Left"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_RIGHT",
|
||||
"name": "RIGHT",
|
||||
"label": "Right"
|
||||
}
|
||||
],
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,294 @@
|
||||
{
|
||||
"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_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_0",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_15",
|
||||
"gpio_low": "GPIOA",
|
||||
"pin_low": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "</>"
|
||||
}
|
||||
],
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"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": "T4",
|
||||
"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
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,294 @@
|
||||
{
|
||||
"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_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_0",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_15",
|
||||
"gpio_low": "GPIOA",
|
||||
"pin_low": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "</>"
|
||||
}
|
||||
],
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"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": "T4",
|
||||
"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
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 1,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 1,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,374 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_3",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOB",
|
||||
"pin_high": "LL_GPIO_PIN_12",
|
||||
"gpio_low": "GPIOH",
|
||||
"pin_low": "LL_GPIO_PIN_9",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_2",
|
||||
"gpio_low": "GPIOH",
|
||||
"pin_low": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOI",
|
||||
"pin_high": "LL_GPIO_PIN_15",
|
||||
"gpio_low": "GPIOH",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "</>"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 320,
|
||||
"phys_w": 480,
|
||||
"phys_h": 320,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"adc": "ADC1",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC1",
|
||||
"dma_stream": "LL_DMA_STREAM_4",
|
||||
"dma_stream_irq": "DMA2_Stream4_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream4_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_8CYCLES_5"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC3",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC3",
|
||||
"dma_stream": "LL_DMA_STREAM_0",
|
||||
"dma_stream_irq": "DMA2_Stream0_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream0_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_8CYCLES_5"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_16"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_15",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_17"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_14",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_8"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOB",
|
||||
"pin_high": "LL_GPIO_PIN_0",
|
||||
"gpio_low": "GPIOC",
|
||||
"pin_low": "LL_GPIO_PIN_4",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOJ",
|
||||
"pin_low": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_3",
|
||||
"gpio_low": "GPIOJ",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_14",
|
||||
"gpio_low": "GPIOH",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 320,
|
||||
"phys_w": 480,
|
||||
"phys_h": 320,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 1,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 1,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,453 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"label": "6POS",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_4",
|
||||
"inverted": true,
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "EXT1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "EXT1",
|
||||
"short_label": "E1"
|
||||
},
|
||||
{
|
||||
"name": "EXT2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "EXT2",
|
||||
"short_label": "E2"
|
||||
},
|
||||
{
|
||||
"name": "EXT3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true,
|
||||
"label": "EXT3",
|
||||
"short_label": "E3"
|
||||
},
|
||||
{
|
||||
"name": "EXT4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"label": "EXT4",
|
||||
"short_label": "E4"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_9",
|
||||
"gpio_low": "GPIOI",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_12",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_6",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 272,
|
||||
"phys_w": 480,
|
||||
"phys_h": 272,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,455 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"label": "6POS",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_4",
|
||||
"inverted": true,
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "EXT1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "EXT1",
|
||||
"short_label": "E1"
|
||||
},
|
||||
{
|
||||
"name": "EXT2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "EXT2",
|
||||
"short_label": "E2"
|
||||
},
|
||||
{
|
||||
"name": "EXT3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true,
|
||||
"label": "EXT3",
|
||||
"short_label": "E3"
|
||||
},
|
||||
{
|
||||
"name": "EXT4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"label": "EXT4",
|
||||
"short_label": "E4"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_9",
|
||||
"gpio_low": "GPIOI",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_12",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_6",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 272,
|
||||
"phys_w": 480,
|
||||
"phys_h": 272,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,533 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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_28CYCLES"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"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_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"inverted": true,
|
||||
"label": "S3",
|
||||
"short_label": "3",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"inverted": true,
|
||||
"label": "S4",
|
||||
"short_label": "4",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15",
|
||||
"inverted": true,
|
||||
"label": "SL",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"inverted": true,
|
||||
"label": "SR",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
4
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
4
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "</>"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T7",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T8",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 1,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,533 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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_28CYCLES"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"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_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"inverted": true,
|
||||
"label": "S3",
|
||||
"short_label": "3",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"inverted": true,
|
||||
"label": "S4",
|
||||
"short_label": "4",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15",
|
||||
"inverted": true,
|
||||
"label": "SL",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"inverted": true,
|
||||
"label": "SR",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
4
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
4
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "</>"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T7",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T8",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 1,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,276 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_13",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"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": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "ENT"
|
||||
},
|
||||
{
|
||||
"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_9",
|
||||
"active_low": true,
|
||||
"key": "KEY_PLUS",
|
||||
"name": "PLUS",
|
||||
"label": "(+)"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_MINUS",
|
||||
"name": "MINUS",
|
||||
"label": "(-)"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 0,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,260 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_13",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_2",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "ENT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true,
|
||||
"key": "KEY_UP",
|
||||
"name": "UP",
|
||||
"label": "Up"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_DOWN",
|
||||
"name": "DOWN",
|
||||
"label": "Down"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_LEFT",
|
||||
"name": "LEFT",
|
||||
"label": "Left/SYS"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_RIGHT",
|
||||
"name": "RIGHT",
|
||||
"label": "Right/MDL"
|
||||
}
|
||||
],
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,366 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"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_6",
|
||||
"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_8",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_2",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "</>"
|
||||
}
|
||||
],
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,294 @@
|
||||
{
|
||||
"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_0",
|
||||
"channel": "LL_ADC_CHANNEL_0"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_0",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"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": "SC",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "</>"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"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": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"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
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 1,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,394 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"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_6",
|
||||
"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_8",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_2",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "</>"
|
||||
}
|
||||
],
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 1,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,346 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"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": "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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_0",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_11",
|
||||
"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": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_13",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_2",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,323 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"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": "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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"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": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_14",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,348 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"adc": "ADC1",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC1",
|
||||
"dma_stream": "LL_DMA_STREAM_4",
|
||||
"dma_stream_irq": "DMA2_Stream4_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream4_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_8CYCLES_5"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC3",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC3",
|
||||
"dma_stream": "LL_DMA_STREAM_0",
|
||||
"dma_stream_irq": "DMA2_Stream0_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream0_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_8CYCLES_5"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_4"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_5",
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_14"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P15",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P13",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P11",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P10",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P7",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P6",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P17",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P16",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P4",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P0",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P1",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P2",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P3",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P4",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P5",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "PAGE<"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1"
|
||||
},
|
||||
{
|
||||
"name": "T2"
|
||||
},
|
||||
{
|
||||
"name": "T3"
|
||||
},
|
||||
{
|
||||
"name": "T4"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 320,
|
||||
"phys_w": 320,
|
||||
"phys_h": 480,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 1,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 20,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,461 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"label": "6POS",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_4",
|
||||
"inverted": true,
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "EXT1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "EXT1",
|
||||
"short_label": "E1"
|
||||
},
|
||||
{
|
||||
"name": "EXT2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "EXT2",
|
||||
"short_label": "E2"
|
||||
},
|
||||
{
|
||||
"name": "EXT3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true,
|
||||
"label": "EXT3",
|
||||
"short_label": "E3"
|
||||
},
|
||||
{
|
||||
"name": "EXT4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"label": "EXT4",
|
||||
"short_label": "E4"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_9",
|
||||
"gpio_low": "GPIOI",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_12",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_6",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "PAGE<"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 272,
|
||||
"phys_w": 480,
|
||||
"phys_h": 272,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,462 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"adc": "ADC1",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC1",
|
||||
"dma_stream": "LL_DMA_STREAM_4",
|
||||
"dma_stream_irq": "DMA2_Stream4_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream4_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_8CYCLES_5"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC3",
|
||||
"dma": "DMA2",
|
||||
"dma_channel": "LL_DMAMUX1_REQ_ADC3",
|
||||
"dma_stream": "LL_DMA_STREAM_0",
|
||||
"dma_stream_irq": "DMA2_Stream0_IRQn",
|
||||
"dma_stream_irq_handler": "DMA2_Stream0_IRQHandler",
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_8CYCLES_5"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_4"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_5",
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"inverted": true,
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "EXT1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_19",
|
||||
"label": "EXT1",
|
||||
"short_label": "E1",
|
||||
"default": "NONE"
|
||||
},
|
||||
{
|
||||
"name": "EXT2",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_16",
|
||||
"label": "EXT2",
|
||||
"short_label": "E2",
|
||||
"default": "NONE"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_14"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
},
|
||||
{
|
||||
"name": "LUX",
|
||||
"type": "LUX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_9"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P15",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P13",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P11",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P10",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P7",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P6",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P16",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P17",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": null,
|
||||
"pin_high": "PCA95XX_P4",
|
||||
"gpio_low": null,
|
||||
"pin_low": "PCA95XX_P5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SW1",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P0",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 0
|
||||
},
|
||||
{
|
||||
"name": "SW2",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P1",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 1
|
||||
},
|
||||
{
|
||||
"name": "SW3",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P2",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 2
|
||||
},
|
||||
{
|
||||
"name": "SW4",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P3",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 3
|
||||
},
|
||||
{
|
||||
"name": "SW5",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P4",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 4
|
||||
},
|
||||
{
|
||||
"name": "SW6",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": null,
|
||||
"pin": "PCA95XX_P5",
|
||||
"is_cfs": true,
|
||||
"cfs_idx": 5
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "PAGE<"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1"
|
||||
},
|
||||
{
|
||||
"name": "T2"
|
||||
},
|
||||
{
|
||||
"name": "T3"
|
||||
},
|
||||
{
|
||||
"name": "T4"
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 800,
|
||||
"h": 480,
|
||||
"phys_w": 800,
|
||||
"phys_h": 480,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 1,
|
||||
"groups": 3
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 20,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,357 @@
|
||||
{
|
||||
"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": "3POS",
|
||||
"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": "3POS",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,357 @@
|
||||
{
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 1,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 32,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,459 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"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_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0"
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"label": "6POS",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_5",
|
||||
"inverted": true,
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "EXT1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "EXT1",
|
||||
"short_label": "E1"
|
||||
},
|
||||
{
|
||||
"name": "EXT2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "EXT2",
|
||||
"short_label": "E2"
|
||||
},
|
||||
{
|
||||
"name": "EXT3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true,
|
||||
"label": "EXT3",
|
||||
"short_label": "E3"
|
||||
},
|
||||
{
|
||||
"name": "EXT4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"label": "EXT4",
|
||||
"short_label": "E4"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_9",
|
||||
"gpio_low": "GPIOI",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_12",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_6",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "PAGE<"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 272,
|
||||
"phys_w": 480,
|
||||
"phys_h": 272,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 34,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,459 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"pwm_channel": 0
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"pwm_channel": 1,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"pwm_channel": 3
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"pwm_channel": 2,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"label": "6POS",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_4",
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"inverted": true,
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "EXT1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "EXT1",
|
||||
"short_label": "E1"
|
||||
},
|
||||
{
|
||||
"name": "EXT2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "EXT2",
|
||||
"short_label": "E2"
|
||||
},
|
||||
{
|
||||
"name": "EXT3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"label": "EXT3",
|
||||
"short_label": "E3"
|
||||
},
|
||||
{
|
||||
"name": "EXT4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true,
|
||||
"label": "EXT4",
|
||||
"short_label": "E4"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_9",
|
||||
"gpio_low": "GPIOI",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_12",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_6",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PgUp/Dn"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 272,
|
||||
"phys_w": 480,
|
||||
"phys_h": 272,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 250000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,459 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"pwm_channel": 0
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"pwm_channel": 1,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"pwm_channel": 3
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"pwm_channel": 2,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_10",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"label": "6POS",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_4",
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_13",
|
||||
"inverted": true,
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "EXT1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "EXT1",
|
||||
"short_label": "E1"
|
||||
},
|
||||
{
|
||||
"name": "EXT2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "EXT2",
|
||||
"short_label": "E2"
|
||||
},
|
||||
{
|
||||
"name": "EXT3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"label": "EXT3",
|
||||
"short_label": "E3"
|
||||
},
|
||||
{
|
||||
"name": "EXT4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true,
|
||||
"label": "EXT4",
|
||||
"short_label": "E4"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"channel": "LL_ADC_CHANNEL_5"
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_9",
|
||||
"gpio_low": "GPIOI",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_12",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_6",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PgUp/Dn"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 272,
|
||||
"phys_w": 480,
|
||||
"phys_h": 272,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 250000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,452 @@
|
||||
{
|
||||
"adc_inputs": {
|
||||
"adcs": [
|
||||
{
|
||||
"name": "SPI",
|
||||
"adc": "SPI4",
|
||||
"gpio_pin_miso": "GPIO_PIN(GPIOE, 5)",
|
||||
"gpio_pin_mosi": "GPIO_PIN(GPIOE, 6)",
|
||||
"gpio_pin_sck": "GPIO_PIN(GPIOE, 2)",
|
||||
"gpio_pin_cs": "GPIO_PIN(GPIOE, 4)"
|
||||
},
|
||||
{
|
||||
"name": "MAIN",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "EXT",
|
||||
"adc": "ADC1",
|
||||
"dma": null,
|
||||
"sample_time": "LL_ADC_SAMPLINGTIME_56CYCLES"
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"name": "LH",
|
||||
"type": "STICK",
|
||||
"adc": "SPI",
|
||||
"channel": 0
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "SPI",
|
||||
"channel": 1,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "SPI",
|
||||
"channel": 2
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "SPI",
|
||||
"channel": 3,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "SPI",
|
||||
"channel": 4,
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "SPI",
|
||||
"channel": 5,
|
||||
"label": "6POS",
|
||||
"short_label": "3",
|
||||
"default": "MULTIPOS"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "SPI",
|
||||
"channel": 6,
|
||||
"inverted": true,
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "SPI",
|
||||
"channel": 7,
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "SPI",
|
||||
"channel": 8,
|
||||
"inverted": true,
|
||||
"label": "RS",
|
||||
"short_label": "R",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL3",
|
||||
"type": "FLEX",
|
||||
"adc": "SPI",
|
||||
"channel": 11,
|
||||
"inverted": true,
|
||||
"label": "L1",
|
||||
"short_label": "1",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL4",
|
||||
"type": "FLEX",
|
||||
"adc": "SPI",
|
||||
"channel": 10,
|
||||
"inverted": true,
|
||||
"label": "L2",
|
||||
"short_label": "2",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "JSx",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": 6,
|
||||
"label": "JSx",
|
||||
"short_label": "X",
|
||||
"default": "AXIS_X"
|
||||
},
|
||||
{
|
||||
"name": "JSy",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": 7,
|
||||
"label": "JSy",
|
||||
"short_label": "Y",
|
||||
"default": "AXIS_Y"
|
||||
},
|
||||
{
|
||||
"name": "VBAT",
|
||||
"type": "VBAT",
|
||||
"adc": "SPI",
|
||||
"channel": 9
|
||||
},
|
||||
{
|
||||
"name": "RTC_BAT",
|
||||
"type": "RTC_BAT",
|
||||
"adc": "EXT",
|
||||
"gpio": null,
|
||||
"pin": null,
|
||||
"channel": "LL_ADC_CHANNEL_VBAT"
|
||||
}
|
||||
]
|
||||
},
|
||||
"switches": [
|
||||
{
|
||||
"name": "SA",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_9",
|
||||
"gpio_low": "GPIOI",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_12",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOJ",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOH",
|
||||
"pin_high": "LL_GPIO_PIN_4",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": true,
|
||||
"default": "2POS",
|
||||
"display": null,
|
||||
"gpio": "GPIOH",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": null,
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_6",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": null,
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": null,
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEUP",
|
||||
"name": "PAGEUP",
|
||||
"label": "PgUp"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PgDn"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_MODEL",
|
||||
"name": "MDL",
|
||||
"label": "MDL"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true,
|
||||
"key": "KEY_TELE",
|
||||
"name": "TELE",
|
||||
"label": "TELE"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_SYS",
|
||||
"name": "SYS",
|
||||
"label": "SYS"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOI",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T5",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T6",
|
||||
"dec": {
|
||||
"gpio": "GPIOJ",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 480,
|
||||
"h": 272,
|
||||
"phys_w": 480,
|
||||
"phys_h": 272,
|
||||
"depth": 16,
|
||||
"color": 1,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 250000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,326 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_13",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_0",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_2",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE"
|
||||
}
|
||||
],
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 250000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,312 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_13",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_10",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_2",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_15",
|
||||
"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": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,379 @@
|
||||
{
|
||||
"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": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"inverted": true,
|
||||
"label": "S3",
|
||||
"short_label": "3"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14",
|
||||
"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
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_PLUS",
|
||||
"name": "PLUS",
|
||||
"label": "(+)"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_MINUS",
|
||||
"name": "MINUS",
|
||||
"label": "(-)"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"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_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 212,
|
||||
"h": 64,
|
||||
"phys_w": 212,
|
||||
"phys_h": 64,
|
||||
"depth": 4,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 1
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 0,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,367 @@
|
||||
{
|
||||
"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": {
|
||||
"w": 212,
|
||||
"h": 64,
|
||||
"phys_w": 212,
|
||||
"phys_h": 64,
|
||||
"depth": 4,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 1
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 0,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,368 @@
|
||||
{
|
||||
"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",
|
||||
"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": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_1",
|
||||
"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": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_PLUS",
|
||||
"name": "PLUS",
|
||||
"label": "(+)"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_MINUS",
|
||||
"name": "MINUS",
|
||||
"label": "(-)"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"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_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 212,
|
||||
"h": 64,
|
||||
"phys_w": 212,
|
||||
"phys_h": 64,
|
||||
"depth": 4,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 0,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,571 @@
|
||||
{
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"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": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"inverted": true,
|
||||
"label": "F1",
|
||||
"short_label": "F1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"inverted": true,
|
||||
"label": "F2",
|
||||
"short_label": "F2",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"name": "P3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"channel": "LL_ADC_CHANNEL_15",
|
||||
"inverted": true,
|
||||
"label": "F3",
|
||||
"short_label": "F3",
|
||||
"default": "NONE"
|
||||
},
|
||||
{
|
||||
"name": "P4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"channel": "LL_ADC_CHANNEL_14",
|
||||
"label": "F4",
|
||||
"short_label": "F4",
|
||||
"default": "NONE"
|
||||
},
|
||||
{
|
||||
"name": "SL1",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"channel": "LL_ADC_CHANNEL_8",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "S1",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL2",
|
||||
"type": "FLEX",
|
||||
"adc": "EXT",
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"channel": "LL_ADC_CHANNEL_7",
|
||||
"label": "S2",
|
||||
"short_label": "S2",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL3",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "LS",
|
||||
"short_label": "L",
|
||||
"default": "SLIDER"
|
||||
},
|
||||
{
|
||||
"name": "SL4",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_9",
|
||||
"inverted": true,
|
||||
"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": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_10",
|
||||
"gpio_low": "GPIOD",
|
||||
"pin_low": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_10",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOF",
|
||||
"pin_high": "LL_GPIO_PIN_13",
|
||||
"gpio_low": "GPIOF",
|
||||
"pin_low": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"gpio_high": "GPIOF",
|
||||
"pin_high": "LL_GPIO_PIN_3",
|
||||
"gpio_low": "GPIOF",
|
||||
"pin_low": "LL_GPIO_PIN_4",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SH",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SI",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
4
|
||||
],
|
||||
"gpio_high": "GPIOF",
|
||||
"pin_high": "LL_GPIO_PIN_15",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_14",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SJ",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
1,
|
||||
4
|
||||
],
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_8",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SK",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
5
|
||||
],
|
||||
"gpio_high": "GPIOG",
|
||||
"pin_high": "LL_GPIO_PIN_13",
|
||||
"gpio_low": "GPIOG",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SL",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
1,
|
||||
5
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_9",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_8",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SM",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
6
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_15",
|
||||
"gpio_low": "GPIOA",
|
||||
"pin_low": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SN",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
1,
|
||||
6
|
||||
],
|
||||
"gpio_high": "GPIOB",
|
||||
"pin_high": "LL_GPIO_PIN_3",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_4",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SO",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
7
|
||||
],
|
||||
"gpio_high": "GPIOF",
|
||||
"pin_high": "LL_GPIO_PIN_7",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_10",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SP",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
1,
|
||||
7
|
||||
],
|
||||
"gpio_high": "GPIOF",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOF",
|
||||
"pin_low": "LL_GPIO_PIN_12",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SQ",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
0,
|
||||
8
|
||||
],
|
||||
"gpio_high": "GPIOF",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOF",
|
||||
"pin_low": "LL_GPIO_PIN_6",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SR",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "NONE",
|
||||
"display": [
|
||||
1,
|
||||
8
|
||||
],
|
||||
"gpio_high": "GPIOB",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOF",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOG",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"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_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 212,
|
||||
"h": 64,
|
||||
"phys_w": 212,
|
||||
"phys_h": 64,
|
||||
"depth": 4,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 1
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 0,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
{
|
||||
"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_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"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": "GPIOB",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_4",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_3",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 250000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,299 @@
|
||||
{
|
||||
"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_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1"
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3"
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT_CENTER"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"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": "GPIOB",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_4",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_3",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_MENU",
|
||||
"name": "MENU",
|
||||
"label": "MENU"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_PAGEDN",
|
||||
"name": "PAGEDN",
|
||||
"label": "PAGE>"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3",
|
||||
"dec": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T4",
|
||||
"dec": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_9",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOD",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 250000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,277 @@
|
||||
{
|
||||
"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_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"pwm_channel": 0
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"pwm_channel": 1,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"pwm_channel": 3,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"pwm_channel": 2
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOA",
|
||||
"pin_low": "LL_GPIO_PIN_6",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_3",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOB",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_4",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_UP",
|
||||
"name": "UP",
|
||||
"label": "Up"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true,
|
||||
"key": "KEY_DOWN",
|
||||
"name": "DOWN",
|
||||
"label": "Down"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true,
|
||||
"key": "KEY_LEFT",
|
||||
"name": "LEFT",
|
||||
"label": "Left"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_RIGHT",
|
||||
"name": "RIGHT",
|
||||
"label": "Right"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_SHIFT",
|
||||
"name": "SHIFT",
|
||||
"label": "Shift"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3"
|
||||
},
|
||||
{
|
||||
"name": "T4"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 250000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,305 @@
|
||||
{
|
||||
"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_0",
|
||||
"channel": "LL_ADC_CHANNEL_0",
|
||||
"pwm_channel": 0
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_1",
|
||||
"pwm_channel": 1,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"pwm_channel": 3,
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "RH",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2",
|
||||
"pwm_channel": 2
|
||||
},
|
||||
{
|
||||
"name": "P1",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"channel": "LL_ADC_CHANNEL_11",
|
||||
"inverted": true,
|
||||
"label": "S1",
|
||||
"short_label": "1",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_12",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"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": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_1",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOA",
|
||||
"pin_low": "LL_GPIO_PIN_6",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOE",
|
||||
"pin_high": "LL_GPIO_PIN_3",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_2",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SD",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"gpio_high": "GPIOB",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOB",
|
||||
"pin_low": "LL_GPIO_PIN_4",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SE",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_3",
|
||||
"is_cfs": false
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "EXIT"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_11",
|
||||
"active_low": true,
|
||||
"key": "KEY_ENTER",
|
||||
"name": "ENTER",
|
||||
"label": "Enter"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_10",
|
||||
"active_low": true,
|
||||
"key": "KEY_UP",
|
||||
"name": "UP",
|
||||
"label": "Up"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"active_low": true,
|
||||
"key": "KEY_DOWN",
|
||||
"name": "DOWN",
|
||||
"label": "Down"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_12",
|
||||
"active_low": true,
|
||||
"key": "KEY_LEFT",
|
||||
"name": "LEFT",
|
||||
"label": "Left"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"active_low": true,
|
||||
"key": "KEY_RIGHT",
|
||||
"name": "RIGHT",
|
||||
"label": "Right"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_8",
|
||||
"active_low": true,
|
||||
"key": "KEY_SHIFT",
|
||||
"name": "SHIFT",
|
||||
"label": "Shift"
|
||||
}
|
||||
],
|
||||
"trims": [
|
||||
{
|
||||
"name": "T1",
|
||||
"dec": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_4",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T2",
|
||||
"dec": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"active_low": true
|
||||
},
|
||||
"inc": {
|
||||
"gpio": "GPIOB",
|
||||
"pin": "LL_GPIO_PIN_0",
|
||||
"active_low": true
|
||||
},
|
||||
"active_low": true
|
||||
},
|
||||
{
|
||||
"name": "T3"
|
||||
},
|
||||
{
|
||||
"name": "T4"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 0,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 250000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,347 @@
|
||||
{
|
||||
"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_3",
|
||||
"channel": "LL_ADC_CHANNEL_3",
|
||||
"inverted": true
|
||||
},
|
||||
{
|
||||
"name": "LV",
|
||||
"type": "STICK",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"channel": "LL_ADC_CHANNEL_2"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "P2",
|
||||
"type": "FLEX",
|
||||
"adc": "MAIN",
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_6",
|
||||
"channel": "LL_ADC_CHANNEL_6",
|
||||
"label": "S2",
|
||||
"short_label": "2",
|
||||
"default": "POT"
|
||||
},
|
||||
{
|
||||
"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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SB",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOA",
|
||||
"pin_high": "LL_GPIO_PIN_5",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_15",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SC",
|
||||
"type": "3POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "3POS",
|
||||
"display": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"gpio_high": "GPIOD",
|
||||
"pin_high": "LL_GPIO_PIN_11",
|
||||
"gpio_low": "GPIOE",
|
||||
"pin_low": "LL_GPIO_PIN_0",
|
||||
"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": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_7",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SF",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "2POS",
|
||||
"display": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_1",
|
||||
"is_cfs": false
|
||||
},
|
||||
{
|
||||
"name": "SG",
|
||||
"type": "2POS",
|
||||
"flags": 0,
|
||||
"inverted": false,
|
||||
"default": "TOGGLE",
|
||||
"display": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"gpio": "GPIOE",
|
||||
"pin": "LL_GPIO_PIN_14",
|
||||
"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
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"gpio": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_5",
|
||||
"active_low": true,
|
||||
"key": "KEY_EXIT",
|
||||
"name": "EXIT",
|
||||
"label": "RTN"
|
||||
},
|
||||
{
|
||||
"gpio": "GPIOA",
|
||||
"pin": "LL_GPIO_PIN_13",
|
||||
"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": "GPIOC",
|
||||
"pin": "LL_GPIO_PIN_2",
|
||||
"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": {
|
||||
"w": 128,
|
||||
"h": 64,
|
||||
"phys_w": 128,
|
||||
"phys_h": 64,
|
||||
"depth": 1,
|
||||
"color": 0,
|
||||
"oled": 0,
|
||||
"backlight_color": 0
|
||||
},
|
||||
"custom_switches": {
|
||||
"rgb_led": 0,
|
||||
"groups": 0
|
||||
},
|
||||
"hardware": {
|
||||
"has_audio_mute": 1,
|
||||
"has_bling_leds": 0,
|
||||
"has_ext_module_support": 1,
|
||||
"has_int_module_support": 1,
|
||||
"sport_max_baudrate": 400000,
|
||||
"surface": 0
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
AddHardwareDefTarget(${HW_DESC_JSON})
|
||||
# AddHardwareDefTarget(${HW_DESC_JSON})
|
||||
AddHWGenTarget(${HW_DESC_JSON} hal_keys hal_keys.inc)
|
||||
|
||||
set(BOOTLOADER_SRC ${BOOTLOADER_SRC}
|
||||
|
||||
+1
-1
@@ -1442,7 +1442,7 @@ int cliDisplay(const char ** argv)
|
||||
|
||||
if (!strcmp(argv[1], "keys")) {
|
||||
for (int i = 0; i <= MAX_KEYS; i++) {
|
||||
if (keysGetSupported() & (1 << i)) {
|
||||
if (keyIsSupported(i)) {
|
||||
cliSerialPrint("[Key %s] = %s",
|
||||
keysGetLabel((EnumKeys)i),
|
||||
keysGetState(i) ? "on" : "off");
|
||||
|
||||
@@ -76,6 +76,12 @@ static void field_focus_leave(lv_event_t* e) { Keyboard::hide(false); }
|
||||
Keyboard::Keyboard(coord_t height) :
|
||||
NavWindow(MainWindow::instance(), {0, LCD_H - height, LCD_W, height})
|
||||
{
|
||||
#if defined(USE_HATS_AS_KEYS)
|
||||
hasTwoPageKeys = true;
|
||||
#else
|
||||
hasTwoPageKeys = keyIsSupported(KEY_PAGEUP);
|
||||
#endif
|
||||
|
||||
lv_obj_set_parent(lvobj, lv_layer_top()); // the keyboard is always on top
|
||||
|
||||
// use a separate group for the keyboard
|
||||
|
||||
@@ -36,8 +36,7 @@ class Keyboard : public NavWindow
|
||||
protected:
|
||||
static Keyboard *activeKeyboard;
|
||||
|
||||
void deleteLater() override;
|
||||
|
||||
bool hasTwoPageKeys;
|
||||
lv_group_t* group = nullptr;
|
||||
lv_obj_t* keyboard = nullptr;
|
||||
|
||||
@@ -48,4 +47,5 @@ class Keyboard : public NavWindow
|
||||
|
||||
void setField(FormField* newField);
|
||||
bool attachKeyboard();
|
||||
void deleteLater() override;
|
||||
};
|
||||
|
||||
@@ -112,36 +112,14 @@ void NumberKeyboard::changeSign()
|
||||
|
||||
#if defined(HARDWARE_KEYS)
|
||||
|
||||
#if (defined(KEYS_GPIO_REG_PAGEUP) || defined(USE_HATS_AS_KEYS)) && \
|
||||
!defined(PCBX12S)
|
||||
// Radios with both PGUP and PGDN buttons except X12S
|
||||
void NumberKeyboard::onPressSYS() { decLarge(); }
|
||||
void NumberKeyboard::onPressSYS() { if (hasTwoPageKeys) decLarge(); else decSmall(); }
|
||||
void NumberKeyboard::onLongPressSYS() { setMIN(); }
|
||||
void NumberKeyboard::onPressMDL() { incLarge(); }
|
||||
void NumberKeyboard::onLongPressMDL() { setMAX(); }
|
||||
void NumberKeyboard::onPressTELE() { changeSign(); }
|
||||
void NumberKeyboard::onLongPressTELE() { setDEF(); }
|
||||
void NumberKeyboard::onPressPGUP() { decSmall(); }
|
||||
void NumberKeyboard::onPressPGDN() { incSmall(); }
|
||||
void NumberKeyboard::onLongPressPGUP() {}
|
||||
void NumberKeyboard::onLongPressPGDN() {}
|
||||
#else
|
||||
// Radios witb only a single PGUP/DN button or X12S
|
||||
void NumberKeyboard::onPressSYS() { decSmall(); }
|
||||
void NumberKeyboard::onLongPressSYS() { setMIN(); }
|
||||
void NumberKeyboard::onPressMDL() { incLarge(); }
|
||||
void NumberKeyboard::onLongPressMDL() { changeSign(); }
|
||||
void NumberKeyboard::onPressTELE() { incSmall(); }
|
||||
void NumberKeyboard::onLongPressTELE() { setMAX(); }
|
||||
#if defined(PCBX12S)
|
||||
void NumberKeyboard::onPressPGUP() { decLarge(); }
|
||||
#else
|
||||
void NumberKeyboard::onPressPGUP() { setDEF(); }
|
||||
#endif
|
||||
void NumberKeyboard::onPressPGDN() { decLarge(); }
|
||||
void NumberKeyboard::onLongPressPGUP() { setDEF(); }
|
||||
void NumberKeyboard::onLongPressPGDN() { setDEF(); }
|
||||
#endif
|
||||
void NumberKeyboard::onLongPressMDL() { if (hasTwoPageKeys) setMAX(); else changeSign(); }
|
||||
void NumberKeyboard::onPressTELE() { if (hasTwoPageKeys) changeSign(); else incSmall(); }
|
||||
void NumberKeyboard::onLongPressTELE() { if (hasTwoPageKeys) setDEF(); else setMAX(); }
|
||||
void NumberKeyboard::onPressPGUP() { if (hasTwoPageKeys) decSmall(); else setDEF(); }
|
||||
void NumberKeyboard::onPressPGDN() { if (hasTwoPageKeys) incSmall(); else decLarge(); }
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -53,8 +53,6 @@ class NumberKeyboard : public Keyboard
|
||||
void onLongPressTELE() override;
|
||||
void onPressPGUP() override;
|
||||
void onPressPGDN() override;
|
||||
void onLongPressPGUP() override;
|
||||
void onLongPressPGDN() override;
|
||||
#endif
|
||||
|
||||
static NumberKeyboard* _instance;
|
||||
|
||||
@@ -95,36 +95,16 @@ void TextKeyboard::cursorEnd()
|
||||
lv_textarea_cursor_right(kb->ta);
|
||||
}
|
||||
|
||||
#if (defined(KEYS_GPIO_REG_PAGEUP) || defined(USE_HATS_AS_KEYS)) && \
|
||||
!defined(PCBX12S)
|
||||
// Radios with both PGUP and PGDN buttons except X12S
|
||||
void TextKeyboard::onPressSYS() { changeMode(); }
|
||||
void TextKeyboard::onLongPressSYS() {}
|
||||
void TextKeyboard::onPressMDL() {}
|
||||
void TextKeyboard::onPressSYS() { if (hasTwoPageKeys) changeMode(); else cursorLeft(); }
|
||||
void TextKeyboard::onLongPressSYS() { if (!hasTwoPageKeys) cursorStart(); }
|
||||
void TextKeyboard::onPressMDL() { if (!hasTwoPageKeys) changeMode(); }
|
||||
void TextKeyboard::onLongPressMDL() { backspace(); }
|
||||
void TextKeyboard::onPressTELE() { toggleCase(); }
|
||||
void TextKeyboard::onLongPressTELE() { deleteChar(); }
|
||||
void TextKeyboard::onPressPGUP() { cursorLeft(); }
|
||||
void TextKeyboard::onPressPGDN() { cursorRight(); }
|
||||
void TextKeyboard::onPressTELE() { if (hasTwoPageKeys) toggleCase(); else cursorRight(); }
|
||||
void TextKeyboard::onLongPressTELE() { if (hasTwoPageKeys) deleteChar(); else cursorEnd(); }
|
||||
void TextKeyboard::onPressPGUP() { if (hasTwoPageKeys) cursorLeft(); else deleteChar(); }
|
||||
void TextKeyboard::onPressPGDN() { if (hasTwoPageKeys) cursorRight(); else toggleCase(); }
|
||||
void TextKeyboard::onLongPressPGUP() { cursorStart(); }
|
||||
void TextKeyboard::onLongPressPGDN() { cursorEnd(); }
|
||||
#else
|
||||
// Radios witb only a single PGUP/DN button or X12S
|
||||
void TextKeyboard::onPressSYS() { cursorLeft(); }
|
||||
void TextKeyboard::onLongPressSYS() { cursorStart(); }
|
||||
void TextKeyboard::onPressMDL() { changeMode(); }
|
||||
void TextKeyboard::onLongPressMDL() { backspace(); }
|
||||
void TextKeyboard::onPressTELE() { cursorRight(); }
|
||||
void TextKeyboard::onLongPressTELE() { cursorEnd(); }
|
||||
#if defined(PCBX12S)
|
||||
void TextKeyboard::onPressPGUP() { toggleCase(); }
|
||||
#else
|
||||
void TextKeyboard::onPressPGUP() { deleteChar(); }
|
||||
#endif
|
||||
void TextKeyboard::onPressPGDN() { toggleCase(); }
|
||||
void TextKeyboard::onLongPressPGUP() {}
|
||||
void TextKeyboard::onLongPressPGDN() { deleteChar(); }
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void TextKeyboard::open(FormField* field)
|
||||
|
||||
@@ -38,26 +38,18 @@ void menuGhostModuleConfig(event_t event)
|
||||
moduleState[EXTERNAL_MODULE].counter = GHST_MENU_CONTROL;
|
||||
break;
|
||||
|
||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||
case EVT_ROTARY_LEFT:
|
||||
#elif defined(KEYS_GPIO_REG_UP)
|
||||
case EVT_KEY_BREAK(KEY_UP):
|
||||
#elif defined(KEYS_GPIO_REG_PLUS)
|
||||
case EVT_KEY_BREAK(KEY_PLUS):
|
||||
#endif
|
||||
case EVT_KEY_BREAK(KEY_UP):
|
||||
case EVT_KEY_BREAK(KEY_PLUS):
|
||||
reusableBuffer.ghostMenu.buttonAction = GHST_BTN_JOYUP;
|
||||
reusableBuffer.ghostMenu.menuAction = GHST_MENU_CTRL_NONE;
|
||||
moduleState[EXTERNAL_MODULE].counter = GHST_MENU_CONTROL;
|
||||
audioKeyPress();
|
||||
break;
|
||||
|
||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||
case EVT_ROTARY_RIGHT:
|
||||
#elif defined(KEYS_GPIO_REG_DOWN)
|
||||
case EVT_KEY_BREAK(KEY_DOWN):
|
||||
#elif defined(KEYS_GPIO_REG_MINUS)
|
||||
case EVT_KEY_BREAK(KEY_DOWN):
|
||||
case EVT_KEY_BREAK(KEY_MINUS):
|
||||
#endif
|
||||
reusableBuffer.ghostMenu.buttonAction = GHST_BTN_JOYDOWN;
|
||||
reusableBuffer.ghostMenu.menuAction = GHST_MENU_CTRL_NONE;
|
||||
moduleState[EXTERNAL_MODULE].counter = GHST_MENU_CONTROL;
|
||||
|
||||
@@ -304,14 +304,12 @@ void menuRadioSdManager(event_t _event)
|
||||
|
||||
switch (_event) {
|
||||
|
||||
#if defined(KEYS_GPIO_REG_MENU)
|
||||
case EVT_KEY_LONG(KEY_MENU):
|
||||
if (SD_CARD_PRESENT() && s_editMode == 0) {
|
||||
POPUP_MENU_ADD_ITEM(STR_SD_INFO);
|
||||
POPUP_MENU_START(onSdManagerMenu);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
case EVT_KEY_BREAK(KEY_EXIT):
|
||||
REFRESH_FILES();
|
||||
|
||||
@@ -21,18 +21,18 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
// Define navigation type based on available keys
|
||||
#if LCD_W == 212
|
||||
#define NAVIGATION_X9D
|
||||
#elif defined(KEYS_GPIO_REG_SHIFT)
|
||||
// Define navigation type if not defined already
|
||||
#if defined(RADIO_XLITE) || defined(RADIO_XLITES)
|
||||
#define NAVIGATION_XLITE
|
||||
#elif defined(KEYS_GPIO_REG_LEFT)
|
||||
#elif defined(RADIO_LR3PRO) || defined(RADIO_T12) || defined(RADIO_TLITE)
|
||||
#define NAVIGATION_9X
|
||||
#elif defined(KEYS_GPIO_REG_PAGEUP) && defined(KEYS_GPIO_REG_TELE)
|
||||
#define NAVIGATION_X7
|
||||
#define NAVIGATION_X7_TX12
|
||||
#elif defined(RADIO_X9D) || defined(RADIO_X9DP) || defined(RADIO_X9DP2019) || defined(RADIO_X9E)
|
||||
#define NAVIGATION_X9D
|
||||
#else
|
||||
#define NAVIGATION_X7
|
||||
#if defined(MANUFACTURER_RADIOMASTER) && !defined(RADIO_T8)
|
||||
#define NAVIGATION_X7_RM
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(NAVIGATION_X7) || defined(NAVIGATION_X9D)
|
||||
@@ -55,7 +55,7 @@
|
||||
#define EVT_KEY_MODEL_MENU EVT_KEY_BREAK(KEY_MODEL)
|
||||
#define EVT_KEY_GENERAL_MENU EVT_KEY_BREAK(KEY_SYS)
|
||||
#define EVT_KEY_TELEMETRY EVT_KEY_LONG(KEY_PAGEUP)
|
||||
#elif defined(NAVIGATION_X7_TX12)
|
||||
#elif defined(NAVIGATION_X7_RM)
|
||||
#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_PAGEUP)
|
||||
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGEDN)
|
||||
#define EVT_KEY_NEXT_PAGE EVT_ROTARY_RIGHT
|
||||
@@ -86,7 +86,7 @@
|
||||
#if defined(NAVIGATION_XLITE)
|
||||
#define EVT_KEY_PREVIOUS_TELEM_VIEW(evt) (evt == EVT_KEY_LONG(KEY_LEFT) && keysGetState(KEY_SHIFT))
|
||||
#define EVT_KEY_NEXT_TELEM_VIEW(evt) (evt == EVT_KEY_LONG(KEY_RIGHT) && keysGetState(KEY_SHIFT))
|
||||
#elif defined(KEYS_GPIO_REG_PAGEUP)
|
||||
#elif defined(NAVIGATION_X7_RM) || defined(RADIO_T8) || defined(RADIO_COMMANDO8)
|
||||
#define EVT_KEY_PREVIOUS_TELEM_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_PAGEUP))
|
||||
#define EVT_KEY_NEXT_TELEM_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_PAGEDN))
|
||||
#elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D)
|
||||
|
||||
@@ -78,6 +78,7 @@ struct etx_hal_adc_driver_t {
|
||||
potconfig_t default_pots_cfg;
|
||||
|
||||
bool (*init)();
|
||||
void (*deinit)();
|
||||
bool (*start_conversion)();
|
||||
void (*wait_completion)();
|
||||
|
||||
|
||||
@@ -65,8 +65,13 @@ uint32_t readTrims();
|
||||
// Init GPIO ports
|
||||
void keysInit();
|
||||
|
||||
// returns a bit field with each supported key
|
||||
uint32_t keysGetSupported();
|
||||
|
||||
static inline bool keyIsSupported(EnumKeys key) {
|
||||
return keysGetSupported() & (1 << key);
|
||||
}
|
||||
|
||||
uint8_t keysGetMaxKeys();
|
||||
uint8_t keysGetMaxTrims();
|
||||
|
||||
|
||||
+11
-8
@@ -452,24 +452,27 @@ static void transpose_trims(uint32_t *keys)
|
||||
// - radios with a SHIFT key
|
||||
uint16_t keyMapping(uint16_t event)
|
||||
{
|
||||
// TODO: this needs to be done in radio specific code!
|
||||
#if defined(RADIO_PA01)
|
||||
if (event == EVT_KEY_BREAK(KEY_MODEL)) return EVT_KEY_BREAK(KEY_SYS);
|
||||
#endif
|
||||
// TODO: this needs to be done in radio specific code!
|
||||
#if defined(RADIO_ST16)
|
||||
if (event == EVT_KEY_LONG(KEY_PAGEDN)) return EVT_KEY_BREAK(KEY_SYS);
|
||||
#endif
|
||||
#if defined(KEYS_GPIO_REG_PAGEDN) && !defined(KEYS_GPIO_REG_PAGEUP)
|
||||
|
||||
// Radio with single PAGEDN key
|
||||
if (event == EVT_KEY_LONG(KEY_PAGEDN)) {
|
||||
// Convert long press PAGEDN to short press PAGEUP
|
||||
killEvents(KEY_PAGEDN);
|
||||
return EVT_KEY_BREAK(KEY_PAGEUP);
|
||||
if (!keyIsSupported(KEY_PAGEUP)) {
|
||||
if (event == EVT_KEY_LONG(KEY_PAGEDN)) {
|
||||
// Convert long press PAGEDN to short press PAGEUP
|
||||
killEvents(KEY_PAGEDN);
|
||||
return EVT_KEY_BREAK(KEY_PAGEUP);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#if defined(KEYS_GPIO_REG_SHIFT)
|
||||
|
||||
// SHIFT key should not trigger REPT events
|
||||
if (event == EVT_KEY_REPT(KEY_SHIFT)) return 0;
|
||||
#endif
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
|
||||
@@ -1697,12 +1697,13 @@ Stops key state machine. See [Key Events](../key_events.md) for the detailed des
|
||||
*/
|
||||
static int luaKillEvents(lua_State * L)
|
||||
{
|
||||
#if defined(KEYS_GPIO_REG_MENU)
|
||||
#define IS_MASKABLE(key) \
|
||||
((key) != KEY_EXIT && (key) != KEY_ENTER && \
|
||||
((scriptInternalData[0].reference == SCRIPT_STANDALONE) || \
|
||||
(key) != KEY_PAGEDN))
|
||||
#if !defined(COLORLCD)
|
||||
#define IS_STANDALONE() (scriptInternalData[0].reference == SCRIPT_STANDALONE)
|
||||
#define IS_MASKABLE(key) \
|
||||
((key) != KEY_EXIT && (key) != KEY_ENTER && \
|
||||
(!keyIsSupported(KEY_MENU) || (IS_STANDALONE() || ((key) != KEY_PAGEDN))))
|
||||
#else
|
||||
#define IS_STANDALONE() (false)
|
||||
#define IS_MASKABLE(key) ((key) != KEY_EXIT && (key) != KEY_ENTER)
|
||||
#endif
|
||||
|
||||
@@ -1714,6 +1715,9 @@ static int luaKillEvents(lua_State * L)
|
||||
luaEmptyEventBuffer();
|
||||
}
|
||||
return 0;
|
||||
|
||||
#undef IS_MASKABLE
|
||||
#undef IS_STANDALONE
|
||||
}
|
||||
|
||||
#if LCD_DEPTH > 1 && !defined(COLORLCD)
|
||||
|
||||
@@ -1236,8 +1236,8 @@ static bool resumeLua(bool init, bool allowLcdUsage)
|
||||
luaState = INTERPRETER_RELOAD_PERMANENT_SCRIPTS;
|
||||
killEvents(evt.event);
|
||||
}
|
||||
#if defined(KEYS_GPIO_REG_MENU)
|
||||
// TODO find another key and add a #define
|
||||
#if !defined(COLORLCD)
|
||||
// TODO find another key
|
||||
else if (evt.event == EVT_KEY_LONG(KEY_MENU)) {
|
||||
luaEmptyEventBuffer();
|
||||
luaDisplayStatistics = !luaDisplayStatistics;
|
||||
|
||||
@@ -237,8 +237,10 @@ enum DisplayTrims
|
||||
DISPLAY_TRIMS_ALWAYS
|
||||
};
|
||||
|
||||
#if !defined(BOOT)
|
||||
extern RadioData g_eeGeneral;
|
||||
extern ModelData g_model;
|
||||
#endif
|
||||
|
||||
constexpr uint8_t EE_GENERAL = 0x01;
|
||||
constexpr uint8_t EE_MODEL = 0x02;
|
||||
|
||||
@@ -541,6 +541,16 @@ bool stm32_hal_adc_init(const stm32_adc_t* ADCs, uint8_t n_ADC,
|
||||
return true;
|
||||
}
|
||||
|
||||
void stm32_hal_adc_deinit(const stm32_adc_t* ADCs, uint8_t n_ADC)
|
||||
{
|
||||
const stm32_adc_t* adc = ADCs;
|
||||
|
||||
while (n_ADC > 0) {
|
||||
LL_ADC_Disable(adc->ADCx);
|
||||
adc++; n_ADC--;
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(STM32H7RS)
|
||||
|
||||
static inline DMA_Channel_TypeDef* _dma_get_stream(DMA_TypeDef *DMAx, uint32_t Channel)
|
||||
|
||||
@@ -56,6 +56,8 @@ bool stm32_hal_adc_init(const stm32_adc_t* ADCs, uint8_t n_ADC,
|
||||
const stm32_adc_input_t* inputs,
|
||||
const stm32_adc_gpio_t* ADC_GPIOs, uint8_t n_GPIO);
|
||||
|
||||
void stm32_hal_adc_deinit(const stm32_adc_t* ADCs, uint8_t n_ADC);
|
||||
|
||||
bool stm32_hal_adc_start_read(const stm32_adc_t* ADCs, uint8_t n_ADC,
|
||||
const stm32_adc_input_t* inputs, uint8_t n_inputs);
|
||||
|
||||
|
||||
@@ -55,11 +55,9 @@ if (PCB STREQUAL X10)
|
||||
set(BLUETOOTH ON)
|
||||
set(AUX_SERIAL OFF)
|
||||
add_definitions(-DHARDWARE_POWER_MANAGEMENT_UNIT)
|
||||
add_definitions(-DRADIO_X10E)
|
||||
add_definitions(-DMANUFACTURER_FRSKY)
|
||||
elseif (PCBREV STREQUAL T15)
|
||||
set(FLAVOUR t15)
|
||||
add_definitions(-DRADIO_T15)
|
||||
add_definitions(-DRADIO_FAMILY_T16)
|
||||
set(FUNCTION_SWITCHES ON)
|
||||
set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module")
|
||||
@@ -76,7 +74,6 @@ if (PCB STREQUAL X10)
|
||||
set(LCD_DRIVER lcd_st7796s_driver.cpp)
|
||||
elseif (PCBREV STREQUAL T16)
|
||||
set(FLAVOUR t16)
|
||||
add_definitions(-DRADIO_T16)
|
||||
add_definitions(-DRADIO_FAMILY_T16)
|
||||
set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module")
|
||||
option(BLUETOOTH "Support for bluetooth module" OFF)
|
||||
@@ -87,7 +84,6 @@ if (PCB STREQUAL X10)
|
||||
set(FLYSKY_GIMBAL ON)
|
||||
elseif (PCBREV STREQUAL TX16S)
|
||||
set(FLAVOUR tx16s)
|
||||
add_definitions(-DRADIO_TX16S)
|
||||
add_definitions(-DRADIO_FAMILY_T16)
|
||||
|
||||
# Uncomment the line below to enable bootloader support for SPI flash
|
||||
@@ -105,7 +101,6 @@ if (PCB STREQUAL X10)
|
||||
set(FLEXSW "2" CACHE STRING "Max flex inputs usable as switches")
|
||||
elseif (PCBREV STREQUAL F16)
|
||||
set(FLAVOUR f16)
|
||||
add_definitions(-DRADIO_F16)
|
||||
add_definitions(-DRADIO_FAMILY_T16)
|
||||
set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module")
|
||||
option(BLUETOOTH "Support for bluetooth module" OFF)
|
||||
@@ -114,7 +109,6 @@ if (PCB STREQUAL X10)
|
||||
set(VIDEO_SWITCH ON)
|
||||
elseif (PCBREV STREQUAL V16)
|
||||
set(FLAVOUR v16)
|
||||
add_definitions(-DRADIO_V16)
|
||||
add_definitions(-DRADIO_FAMILY_T16)
|
||||
set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module")
|
||||
option(BLUETOOTH "Support for bluetooth module" OFF)
|
||||
@@ -129,7 +123,6 @@ if (PCB STREQUAL X10)
|
||||
endif()
|
||||
elseif (PCBREV STREQUAL T18)
|
||||
set(FLAVOUR t18)
|
||||
add_definitions(-DRADIO_T18)
|
||||
add_definitions(-DRADIO_FAMILY_T16)
|
||||
set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module")
|
||||
option(BLUETOOTH "Support for bluetooth module" OFF)
|
||||
@@ -142,7 +135,6 @@ if (PCB STREQUAL X10)
|
||||
set(FLAVOUR x10)
|
||||
set(DEFAULT_INTERNAL_MODULE XJT_PXX1 CACHE STRING "Default internal module")
|
||||
set(BLUETOOTH ON)
|
||||
add_definitions(-DRADIO_X10)
|
||||
add_definitions(-DMANUFACTURER_FRSKY)
|
||||
endif()
|
||||
elseif (PCB STREQUAL X12S)
|
||||
|
||||
@@ -29,65 +29,6 @@
|
||||
|
||||
#define TELEMETRY_EXTI_PRIO 0 // required for soft serial
|
||||
|
||||
// Keys
|
||||
#if defined(PCBX12S)
|
||||
#define KEYS_GPIO_REG_PAGEUP GPIOC
|
||||
#define KEYS_GPIO_PIN_PAGEUP LL_GPIO_PIN_13 // PC.13
|
||||
#define KEYS_GPIO_REG_PAGEDN GPIOI
|
||||
#define KEYS_GPIO_PIN_PAGEDN LL_GPIO_PIN_8 // PI.08
|
||||
#define KEYS_GPIO_REG_SYS GPIOI
|
||||
#define KEYS_GPIO_PIN_SYS LL_GPIO_PIN_7 // PI.07
|
||||
#define KEYS_GPIO_REG_ENTER GPIOC
|
||||
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_1 // PC.01
|
||||
#define KEYS_GPIO_REG_MDL GPIOG
|
||||
#define KEYS_GPIO_PIN_MDL LL_GPIO_PIN_13 // PG.13
|
||||
#define KEYS_GPIO_REG_EXIT GPIOI
|
||||
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_6 // PI.06
|
||||
#define KEYS_GPIO_REG_TELE GPIOC
|
||||
#define KEYS_GPIO_PIN_TELE LL_GPIO_PIN_4 // PC.04
|
||||
#elif defined(RADIO_TX16S) || defined(RADIO_F16) || defined(RADIO_V16)
|
||||
#define KEYS_GPIO_REG_ENTER GPIOI
|
||||
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_8 // PI.08
|
||||
#define KEYS_GPIO_REG_PAGEUP GPIOC
|
||||
#define KEYS_GPIO_PIN_PAGEUP LL_GPIO_PIN_13 // PC.13
|
||||
#define KEYS_GPIO_REG_PAGEDN GPIOI
|
||||
#define KEYS_GPIO_PIN_PAGEDN LL_GPIO_PIN_11 // PI.11
|
||||
#define KEYS_GPIO_REG_MDL GPIOI
|
||||
#define KEYS_GPIO_PIN_MDL LL_GPIO_PIN_6 // PI.06
|
||||
#define KEYS_GPIO_REG_EXIT GPIOI
|
||||
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_4 // PI.04
|
||||
#define KEYS_GPIO_REG_SYS GPIOI
|
||||
#define KEYS_GPIO_PIN_SYS LL_GPIO_PIN_7 // PI.07
|
||||
#define KEYS_GPIO_REG_TELE GPIOI
|
||||
#define KEYS_GPIO_PIN_TELE LL_GPIO_PIN_5 // PI.05
|
||||
#elif defined(RADIO_T15)
|
||||
#define KEYS_GPIO_REG_ENTER GPIOI
|
||||
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_8 // PI.08
|
||||
#define KEYS_GPIO_REG_PAGEDN GPIOI
|
||||
#define KEYS_GPIO_PIN_PAGEDN LL_GPIO_PIN_11 // PI.11
|
||||
#define KEYS_GPIO_REG_MDL GPIOI
|
||||
#define KEYS_GPIO_PIN_MDL LL_GPIO_PIN_6 // PI.06
|
||||
#define KEYS_GPIO_REG_EXIT GPIOI
|
||||
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_5 // PI.05
|
||||
#define KEYS_GPIO_REG_SYS GPIOI
|
||||
#define KEYS_GPIO_PIN_SYS LL_GPIO_PIN_7 // PI.07
|
||||
#define KEYS_GPIO_REG_TELE GPIOI
|
||||
#define KEYS_GPIO_PIN_TELE LL_GPIO_PIN_4 // PI.04
|
||||
#elif defined(PCBX10)
|
||||
#define KEYS_GPIO_REG_ENTER GPIOI
|
||||
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_8 // PI.08
|
||||
#define KEYS_GPIO_REG_PAGEDN GPIOI
|
||||
#define KEYS_GPIO_PIN_PAGEDN LL_GPIO_PIN_11 // PI.11
|
||||
#define KEYS_GPIO_REG_MDL GPIOI
|
||||
#define KEYS_GPIO_PIN_MDL LL_GPIO_PIN_4 // PI.04
|
||||
#define KEYS_GPIO_REG_EXIT GPIOI
|
||||
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_6 // PI.06
|
||||
#define KEYS_GPIO_REG_SYS GPIOI
|
||||
#define KEYS_GPIO_PIN_SYS LL_GPIO_PIN_7 // PI.07
|
||||
#define KEYS_GPIO_REG_TELE GPIOI
|
||||
#define KEYS_GPIO_PIN_TELE LL_GPIO_PIN_5 // PI.05
|
||||
#endif
|
||||
|
||||
// Rotary Encoder
|
||||
#define ROTARY_ENCODER_GPIO GPIOH
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_11 // PH.11
|
||||
@@ -107,168 +48,7 @@
|
||||
#define ROTARY_ENCODER_TIMER_IRQHandler TIM8_BRK_TIM12_IRQHandler
|
||||
|
||||
#if defined(RADIO_T15)
|
||||
#define ROTARY_ENCODER_INVERTED
|
||||
#endif
|
||||
|
||||
// Switches
|
||||
#if defined(RADIO_T15)
|
||||
#define STORAGE_SWITCH_A
|
||||
#define HARDWARE_SWITCH_A
|
||||
#define SWITCHES_GPIO_REG_A_H GPIOG
|
||||
#define SWITCHES_GPIO_PIN_A_H LL_GPIO_PIN_3 // PG.03
|
||||
#define SWITCHES_GPIO_REG_A_L GPIOD
|
||||
#define SWITCHES_GPIO_PIN_A_L LL_GPIO_PIN_11 // PD.11
|
||||
#define SWITCHES_A_INVERTED
|
||||
|
||||
#define STORAGE_SWITCH_B
|
||||
#define HARDWARE_SWITCH_B
|
||||
#define SWITCHES_GPIO_REG_B_H GPIOB
|
||||
#define SWITCHES_GPIO_PIN_B_H LL_GPIO_PIN_12 // PB.12
|
||||
#define SWITCHES_GPIO_REG_B_L GPIOH
|
||||
#define SWITCHES_GPIO_PIN_B_L LL_GPIO_PIN_9 // PH.09
|
||||
|
||||
#define STORAGE_SWITCH_C
|
||||
#define HARDWARE_SWITCH_C
|
||||
#define SWITCHES_GPIO_REG_C_H GPIOG
|
||||
#define SWITCHES_GPIO_PIN_C_H LL_GPIO_PIN_2 // PG.02
|
||||
#define SWITCHES_GPIO_REG_C_L GPIOH
|
||||
#define SWITCHES_GPIO_PIN_C_L LL_GPIO_PIN_14 // PH.14
|
||||
#define SWITCHES_C_INVERTED
|
||||
|
||||
#define STORAGE_SWITCH_D
|
||||
#define HARDWARE_SWITCH_D
|
||||
#define SWITCHES_GPIO_REG_D_H GPIOI
|
||||
#define SWITCHES_GPIO_PIN_D_H LL_GPIO_PIN_15 // PI.15
|
||||
#define SWITCHES_GPIO_REG_D_L GPIOH
|
||||
#define SWITCHES_GPIO_PIN_D_L LL_GPIO_PIN_15 // PH.15
|
||||
|
||||
#define STORAGE_SWITCH_E
|
||||
#define HARDWARE_SWITCH_E
|
||||
#define SWITCHES_GPIO_REG_E GPIOB
|
||||
#define SWITCHES_GPIO_PIN_E LL_GPIO_PIN_15 // PB.15
|
||||
#define STORAGE_SWITCH_F
|
||||
#define HARDWARE_SWITCH_F
|
||||
#define SWITCHES_GPIO_REG_F GPIOH
|
||||
#define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_12 // PH.12
|
||||
//SW1
|
||||
#define FUNCTION_SWITCH_1 SG
|
||||
#define STORAGE_SWITCH_G
|
||||
#define HARDWARE_SWITCH_G
|
||||
#define SWITCHES_GPIO_REG_G GPIOB
|
||||
#define SWITCHES_GPIO_PIN_G LL_GPIO_PIN_14 // PB.14
|
||||
#define SWITCHES_G_CFS_IDX 0
|
||||
//SW2
|
||||
#define FUNCTION_SWITCH_2 SH
|
||||
#define STORAGE_SWITCH_H
|
||||
#define HARDWARE_SWITCH_H
|
||||
#define SWITCHES_GPIO_REG_H GPIOD
|
||||
#define SWITCHES_GPIO_PIN_H LL_GPIO_PIN_13 // PD.13
|
||||
#define SWITCHES_H_CFS_IDX 1
|
||||
//SW3
|
||||
#define FUNCTION_SWITCH_3 SI
|
||||
#define STORAGE_SWITCH_I
|
||||
#define HARDWARE_SWITCH_I
|
||||
#define SWITCHES_GPIO_REG_I GPIOJ
|
||||
#define SWITCHES_GPIO_PIN_I LL_GPIO_PIN_7 // PJ.07
|
||||
#define SWITCHES_I_CFS_IDX 2
|
||||
//SW4
|
||||
#define FUNCTION_SWITCH_4 SJ
|
||||
#define STORAGE_SWITCH_J
|
||||
#define HARDWARE_SWITCH_J
|
||||
#define SWITCHES_GPIO_REG_J GPIOG
|
||||
#define SWITCHES_GPIO_PIN_J LL_GPIO_PIN_13 // PG.13
|
||||
#define SWITCHES_J_CFS_IDX 3
|
||||
//SW5
|
||||
#define FUNCTION_SWITCH_5 SK
|
||||
#define STORAGE_SWITCH_K
|
||||
#define HARDWARE_SWITCH_K
|
||||
#define SWITCHES_GPIO_REG_K GPIOJ
|
||||
#define SWITCHES_GPIO_PIN_K LL_GPIO_PIN_8 // PJ.08
|
||||
#define SWITCHES_K_CFS_IDX 4
|
||||
//SW6
|
||||
#define FUNCTION_SWITCH_6 SL
|
||||
#define STORAGE_SWITCH_L
|
||||
#define HARDWARE_SWITCH_L
|
||||
#define SWITCHES_GPIO_REG_L GPIOB
|
||||
#define SWITCHES_GPIO_PIN_L LL_GPIO_PIN_13 // PB.13
|
||||
#define SWITCHES_L_CFS_IDX 5
|
||||
#else
|
||||
#define STORAGE_SWITCH_A
|
||||
#define HARDWARE_SWITCH_A
|
||||
#define SWITCHES_GPIO_REG_A_H GPIOH
|
||||
#define SWITCHES_GPIO_PIN_A_H LL_GPIO_PIN_9 // PH.09
|
||||
#define SWITCHES_GPIO_REG_A_L GPIOI
|
||||
#define SWITCHES_GPIO_PIN_A_L LL_GPIO_PIN_15 // PI.15
|
||||
#define STORAGE_SWITCH_B
|
||||
#define HARDWARE_SWITCH_B
|
||||
#define SWITCHES_GPIO_REG_B_H GPIOH
|
||||
#define SWITCHES_GPIO_PIN_B_H LL_GPIO_PIN_12 // PH.12
|
||||
#define SWITCHES_GPIO_REG_B_L GPIOB
|
||||
#define SWITCHES_GPIO_PIN_B_L LL_GPIO_PIN_12 // PB.12
|
||||
#define STORAGE_SWITCH_C
|
||||
#define HARDWARE_SWITCH_C
|
||||
#define SWITCHES_GPIO_REG_C_H GPIOD
|
||||
#define SWITCHES_GPIO_PIN_C_H LL_GPIO_PIN_11 // PD.11
|
||||
#define SWITCHES_GPIO_REG_C_L GPIOB
|
||||
#define SWITCHES_GPIO_PIN_C_L LL_GPIO_PIN_15 // PB.15
|
||||
#define STORAGE_SWITCH_D
|
||||
#define HARDWARE_SWITCH_D
|
||||
#define SWITCHES_GPIO_REG_D_H GPIOJ
|
||||
#define SWITCHES_GPIO_PIN_D_H LL_GPIO_PIN_7 // PJ.07
|
||||
#define SWITCHES_GPIO_REG_D_L GPIOG
|
||||
#define SWITCHES_GPIO_PIN_D_L LL_GPIO_PIN_2 // PG.02
|
||||
#define STORAGE_SWITCH_E
|
||||
#define HARDWARE_SWITCH_E
|
||||
#define SWITCHES_GPIO_REG_E_H GPIOH
|
||||
#define SWITCHES_GPIO_PIN_E_H LL_GPIO_PIN_4 // PH.04
|
||||
#define SWITCHES_GPIO_REG_E_L GPIOE
|
||||
#define SWITCHES_GPIO_PIN_E_L LL_GPIO_PIN_3 // PE.03
|
||||
#define STORAGE_SWITCH_F
|
||||
#define HARDWARE_SWITCH_F
|
||||
#define SWITCHES_GPIO_REG_F GPIOH
|
||||
#define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_3 // PH.03
|
||||
#define STORAGE_SWITCH_G
|
||||
#define HARDWARE_SWITCH_G
|
||||
#define SWITCHES_GPIO_REG_G_H GPIOG
|
||||
#define SWITCHES_GPIO_PIN_G_H LL_GPIO_PIN_6 // PG.06
|
||||
#define SWITCHES_GPIO_REG_G_L GPIOG
|
||||
#define SWITCHES_GPIO_PIN_G_L LL_GPIO_PIN_3 // PG.03
|
||||
#define STORAGE_SWITCH_H
|
||||
#define HARDWARE_SWITCH_H
|
||||
#define SWITCHES_GPIO_REG_H GPIOG
|
||||
#define SWITCHES_GPIO_PIN_H LL_GPIO_PIN_7 // PG.07
|
||||
|
||||
#if defined(PCBX12S)
|
||||
#define SWITCHES_F_INVERTED
|
||||
#elif defined(PCBX10)
|
||||
#define SWITCHES_B_INVERTED
|
||||
#define SWITCHES_D_INVERTED
|
||||
#define SWITCHES_E_INVERTED
|
||||
#endif
|
||||
|
||||
#if defined(PCBX10) && !defined(RADIO_F16)
|
||||
// Gimbal switch left
|
||||
#define STORAGE_SWITCH_I
|
||||
#define HARDWARE_SWITCH_I
|
||||
#define SWITCHES_GPIO_REG_I GPIOH
|
||||
#define SWITCHES_GPIO_PIN_I LL_GPIO_PIN_14 // PH.14
|
||||
// Gimbal switch right
|
||||
#define STORAGE_SWITCH_J
|
||||
#define HARDWARE_SWITCH_J
|
||||
#define SWITCHES_GPIO_REG_J GPIOH
|
||||
#define SWITCHES_GPIO_PIN_J LL_GPIO_PIN_15 // PH.15
|
||||
#elif defined(PCBX12S)
|
||||
// Gimbal switch left
|
||||
#define STORAGE_SWITCH_I
|
||||
#define HARDWARE_SWITCH_I
|
||||
#define SWITCHES_GPIO_REG_I GPIOB
|
||||
#define SWITCHES_GPIO_PIN_I LL_GPIO_PIN_1 // PB.01
|
||||
// Gimbal switch right
|
||||
#define STORAGE_SWITCH_J
|
||||
#define HARDWARE_SWITCH_J
|
||||
#define SWITCHES_GPIO_REG_J GPIOB
|
||||
#define SWITCHES_GPIO_PIN_J LL_GPIO_PIN_0 // PB.00
|
||||
#endif
|
||||
#define ROTARY_ENCODER_INVERTED
|
||||
#endif
|
||||
|
||||
// 6POS SW
|
||||
@@ -279,231 +59,13 @@
|
||||
#define SIXPOS_LED_BLUE 0
|
||||
#endif
|
||||
|
||||
// Trims
|
||||
#if defined(RADIO_T15)
|
||||
#define TRIMS_GPIO_REG_LHL GPIOD
|
||||
#define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_3 // PD.03
|
||||
#define TRIMS_GPIO_REG_LHR GPIOD
|
||||
#define TRIMS_GPIO_PIN_LHR LL_GPIO_PIN_7 // PD.07
|
||||
#define TRIMS_GPIO_REG_LVU GPIOJ
|
||||
#define TRIMS_GPIO_PIN_LVU LL_GPIO_PIN_12 // PJ.12
|
||||
#define TRIMS_GPIO_REG_LVD GPIOJ
|
||||
#define TRIMS_GPIO_PIN_LVD LL_GPIO_PIN_13 // PJ.13
|
||||
#define TRIMS_GPIO_REG_RVD GPIOG
|
||||
#define TRIMS_GPIO_PIN_RVD LL_GPIO_PIN_12 // PG.12
|
||||
#define TRIMS_GPIO_REG_RHL GPIOA
|
||||
#define TRIMS_GPIO_PIN_RHL LL_GPIO_PIN_6 // PA.06
|
||||
#define TRIMS_GPIO_REG_RVU GPIOJ
|
||||
#define TRIMS_GPIO_PIN_RVU LL_GPIO_PIN_14 // PJ.14
|
||||
#define TRIMS_GPIO_REG_RHR GPIOC
|
||||
#define TRIMS_GPIO_PIN_RHR LL_GPIO_PIN_4 // PC.04
|
||||
#elif defined(PCBX12S)
|
||||
#define TRIMS_GPIO_REG_RHL GPIOC
|
||||
#define TRIMS_GPIO_PIN_RHL LL_GPIO_PIN_0 // PC.00
|
||||
#define TRIMS_GPIO_REG_RHR GPIOI
|
||||
#define TRIMS_GPIO_PIN_RHR LL_GPIO_PIN_4 // PI.04
|
||||
#define TRIMS_GPIO_REG_RVD GPIOG
|
||||
#define TRIMS_GPIO_PIN_RVD LL_GPIO_PIN_12 // PG.12
|
||||
#define TRIMS_GPIO_REG_RVU GPIOJ
|
||||
#define TRIMS_GPIO_PIN_RVU LL_GPIO_PIN_14 // PJ.14
|
||||
#define TRIMS_GPIO_REG_LVD GPIOJ
|
||||
#define TRIMS_GPIO_PIN_LVD LL_GPIO_PIN_13 // PJ.13
|
||||
#define TRIMS_GPIO_REG_LHL GPIOD
|
||||
#define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_3 // PD.03
|
||||
#define TRIMS_GPIO_REG_LVU GPIOJ
|
||||
#define TRIMS_GPIO_PIN_LVU LL_GPIO_PIN_12 // PJ.12
|
||||
#define TRIMS_GPIO_REG_LHR GPIOD
|
||||
#define TRIMS_GPIO_PIN_LHR LL_GPIO_PIN_7 // PD.07
|
||||
#define TRIMS_GPIO_REG_RSD GPIOJ
|
||||
#define TRIMS_GPIO_PIN_RSD LL_GPIO_PIN_8 // PJ.08
|
||||
#define TRIMS_GPIO_REG_RSU GPIOD
|
||||
#define TRIMS_GPIO_PIN_RSU LL_GPIO_PIN_13 // PD.13
|
||||
#define TRIMS_GPIO_REG_LSD GPIOB
|
||||
#define TRIMS_GPIO_PIN_LSD LL_GPIO_PIN_14 // PB.14
|
||||
#define TRIMS_GPIO_REG_LSU GPIOB
|
||||
#define TRIMS_GPIO_PIN_LSU LL_GPIO_PIN_13 // PB.13
|
||||
#elif defined(PCBX10)
|
||||
// Left/Right Horizontal trims (LHL/LHR)
|
||||
#if defined(RADIO_TX16S) || defined(RADIO_F16) || defined(RADIO_V16)
|
||||
#define TRIMS_GPIO_REG_LHL GPIOA
|
||||
#define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_6 // PA.06
|
||||
#define TRIMS_GPIO_REG_LHR GPIOC
|
||||
#define TRIMS_GPIO_PIN_LHR LL_GPIO_PIN_4 // PC.04
|
||||
#else
|
||||
#define TRIMS_GPIO_REG_LHL GPIOB
|
||||
#define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_8 // PB.08
|
||||
#define TRIMS_GPIO_REG_LHR GPIOB
|
||||
#define TRIMS_GPIO_PIN_LHR LL_GPIO_PIN_9 // PB.09
|
||||
#endif
|
||||
|
||||
// Vertical trims - common across all PCBX10 variants
|
||||
#define TRIMS_GPIO_REG_LVD GPIOG
|
||||
#define TRIMS_GPIO_PIN_LVD LL_GPIO_PIN_12 // PG.12
|
||||
#define TRIMS_GPIO_REG_LVU GPIOJ
|
||||
#define TRIMS_GPIO_PIN_LVU LL_GPIO_PIN_14 // PJ.14
|
||||
#define TRIMS_GPIO_REG_RVD GPIOJ
|
||||
#define TRIMS_GPIO_PIN_RVD LL_GPIO_PIN_13 // PJ.13
|
||||
#define TRIMS_GPIO_REG_RVU GPIOJ
|
||||
#define TRIMS_GPIO_PIN_RVU LL_GPIO_PIN_12 // PJ.12
|
||||
|
||||
// Right Horizontal trims - common across all PCBX10 variants
|
||||
#define TRIMS_GPIO_REG_RHL GPIOD
|
||||
#define TRIMS_GPIO_PIN_RHL LL_GPIO_PIN_3 // PD.03
|
||||
#define TRIMS_GPIO_REG_RHR GPIOD
|
||||
#define TRIMS_GPIO_PIN_RHR LL_GPIO_PIN_7 // PD.07
|
||||
|
||||
// T5/T6 trim assignments
|
||||
#if defined(RADIO_V16)
|
||||
// T5/T6 trims are in exchanged positions to other handsets
|
||||
#define TRIMS_GPIO_REG_LSU GPIOB
|
||||
#define TRIMS_GPIO_PIN_LSU LL_GPIO_PIN_14 // PB.14
|
||||
#define TRIMS_GPIO_REG_LSD GPIOB
|
||||
#define TRIMS_GPIO_PIN_LSD LL_GPIO_PIN_13 // PB.13
|
||||
#define TRIMS_GPIO_REG_RSU GPIOD
|
||||
#define TRIMS_GPIO_PIN_RSU LL_GPIO_PIN_13 // PD.13
|
||||
#define TRIMS_GPIO_REG_RSD GPIOJ
|
||||
#define TRIMS_GPIO_PIN_RSD LL_GPIO_PIN_8 // PJ.08
|
||||
#elif defined(RADIO_FAMILY_T16)
|
||||
#define TRIMS_GPIO_REG_LSU GPIOD
|
||||
#define TRIMS_GPIO_PIN_LSU LL_GPIO_PIN_13 // PD.13
|
||||
#define TRIMS_GPIO_REG_LSD GPIOJ
|
||||
#define TRIMS_GPIO_PIN_LSD LL_GPIO_PIN_8 // PJ.08
|
||||
#define TRIMS_GPIO_REG_RSU GPIOB
|
||||
#define TRIMS_GPIO_PIN_RSU LL_GPIO_PIN_14 // PB.14
|
||||
#define TRIMS_GPIO_REG_RSD GPIOB
|
||||
#define TRIMS_GPIO_PIN_RSD LL_GPIO_PIN_13 // PB.13
|
||||
#else // Other PCBX10 variants
|
||||
#define TRIMS_GPIO_REG_LSU GPIOJ
|
||||
#define TRIMS_GPIO_PIN_LSU LL_GPIO_PIN_8 // PJ.08
|
||||
#define TRIMS_GPIO_REG_LSD GPIOD
|
||||
#define TRIMS_GPIO_PIN_LSD LL_GPIO_PIN_13 // PD.13
|
||||
#define TRIMS_GPIO_REG_RSU GPIOB
|
||||
#define TRIMS_GPIO_PIN_RSU LL_GPIO_PIN_14 // PB.14
|
||||
#define TRIMS_GPIO_REG_RSD GPIOB
|
||||
#define TRIMS_GPIO_PIN_RSD LL_GPIO_PIN_13 // PB.13
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
// ADC
|
||||
#if defined(PCBX12S)
|
||||
#define ADC_SPI SPI4
|
||||
#define ADC_SPI_GPIO_PIN_SCK GPIO_PIN(GPIOE, 2) // PE.02
|
||||
#define ADC_SPI_GPIO_PIN_CS GPIO_PIN(GPIOE, 4) // PE.04
|
||||
#define ADC_SPI_GPIO_PIN_MOSI GPIO_PIN(GPIOE, 6) // PE.06
|
||||
#define ADC_SPI_GPIO_PIN_MISO GPIO_PIN(GPIOE, 5) // PE.05
|
||||
|
||||
#define ADC_SPI_STICK_LH 0
|
||||
#define ADC_SPI_STICK_LV 1
|
||||
#define ADC_SPI_STICK_RV 2
|
||||
#define ADC_SPI_STICK_RH 3
|
||||
#define ADC_SPI_POT1 4
|
||||
#define ADC_SPI_POT2 5
|
||||
#define ADC_SPI_POT3 6
|
||||
#define ADC_SPI_SLIDER1 7
|
||||
#define ADC_SPI_SLIDER2 8
|
||||
#define ADC_SPI_BATT 9
|
||||
#define ADC_SPI_SLIDER3 11
|
||||
#define ADC_SPI_SLIDER4 10
|
||||
|
||||
#define ADC_MAIN ADC3
|
||||
#define ADC_GPIO_PIN_MOUSE1 LL_GPIO_PIN_8 // PF.08 ADC3_IN6 J5 MOUSE_X
|
||||
#define ADC_GPIO_PIN_MOUSE2 LL_GPIO_PIN_9 // PF.09 ADC3_IN7 J6 MOUSE_Y
|
||||
#define ADC_GPIO_MOUSE GPIOF
|
||||
#define ADC_CHANNEL_MOUSE1 6
|
||||
#define ADC_CHANNEL_MOUSE2 7
|
||||
#define ADC_GPIOF_PINS (ADC_GPIO_PIN_MOUSE1 | ADC_GPIO_PIN_MOUSE2)
|
||||
#define ADC_EXT ADC1
|
||||
#define ADC_EXT_SAMPTIME LL_ADC_SAMPLINGTIME_56CYCLES
|
||||
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC1_IN16
|
||||
#define ADC_EXT_CHANNELS { ADC_CHANNEL_RTC_BATT }
|
||||
#define ADC_DMA DMA2
|
||||
#define ADC_DMA_CHANNEL LL_DMA_CHANNEL_2
|
||||
// TODO: use for SPI1_RX instead?
|
||||
#define ADC_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define ADC_DMA_STREAM_IRQ DMA2_Stream0_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler DMA2_Stream0_IRQHandler
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_56CYCLES
|
||||
#define USE_ADS79XX
|
||||
#define ADC_VREF_PREC2 300
|
||||
#elif defined(RADIO_V16)
|
||||
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_0 // PA.00
|
||||
#define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_1 // PA.01
|
||||
#define ADC_GPIO_PIN_STICK_RV LL_GPIO_PIN_3 // PA.03
|
||||
#define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_2 // PA.02
|
||||
#define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_2 // PC.00 // ADC123_IN10 -> ADC3_IN10
|
||||
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_1 // PC.02 // ADC123_IN12 -> ADC3_IN12
|
||||
#define ADC_GPIO_PIN_POT3 LL_GPIO_PIN_0 // PC.01 // ADC123_IN11 -> ADC3_IN11
|
||||
#define ADC_GPIO_PIN_SLIDER1 LL_GPIO_PIN_5 // PA.05
|
||||
#define ADC_GPIO_PIN_SLIDER2 LL_GPIO_PIN_3 // PC.03
|
||||
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_7 // PF.07
|
||||
#define ADC_GPIO_PIN_EXT1 LL_GPIO_PIN_8 // PF.08
|
||||
#define ADC_GPIO_PIN_EXT2 LL_GPIO_PIN_9 // PF.09
|
||||
#define ADC_GPIO_PIN_EXT3 ADC_GPIO_PIN_STICK_RH
|
||||
#define ADC_GPIO_PIN_EXT4 ADC_GPIO_PIN_STICK_RV
|
||||
#define ADC_GPIOA_PINS_FS (LL_GPIO_PIN_2 | LL_GPIO_PIN_3)
|
||||
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_SLIDER1)
|
||||
#define ADC_GPIOC_PINS (ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_POT3 | ADC_GPIO_PIN_SLIDER2)
|
||||
#define ADC_GPIOF_PINS (ADC_GPIO_PIN_EXT1 | ADC_GPIO_PIN_EXT2)
|
||||
#define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_0 // ADC123_IN0 -> ADC3_IN0
|
||||
#define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_1 // ADC123_IN1 -> ADC3_IN1
|
||||
#define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_2 // ADC123_IN2 -> ADC3_IN2
|
||||
#define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_3 // ADC123_IN3 -> ADC3_IN3
|
||||
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_12 // ADC123_IN10 -> ADC3_IN10
|
||||
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_11 // ADC123_IN12 -> ADC3_IN12
|
||||
#define ADC_CHANNEL_POT3 LL_ADC_CHANNEL_10 // ADC123_IN11 -> ADC3_IN11
|
||||
#define ADC_CHANNEL_SLIDER1 LL_ADC_CHANNEL_5 // ADC12_IN5 -> ADC1_IN5
|
||||
#define ADC_CHANNEL_SLIDER2 LL_ADC_CHANNEL_13 // ADC123_IN13 -> ADC1_IN13
|
||||
#define ADC_CHANNEL_EXT1 LL_ADC_CHANNEL_6 // ADC3_IN6 -> ADC3_IN6
|
||||
#define ADC_CHANNEL_EXT2 LL_ADC_CHANNEL_7 // ADC3_IN7 -> ADC3_IN7
|
||||
#define ADC_CHANNEL_EXT3 LL_ADC_CHANNEL_2 // ADC3_IN2: same as RH
|
||||
#define ADC_CHANNEL_EXT4 LL_ADC_CHANNEL_3 // ADC3_IN3: same as RV
|
||||
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC1_IN18
|
||||
#define ADC_MAIN ADC3
|
||||
#define ADC_EXT ADC1
|
||||
#define ADC_EXT_CHANNELS { ADC_CHANNEL_SLIDER1, ADC_CHANNEL_SLIDER2, ADC_CHANNEL_RTC_BAT }
|
||||
#define ADC_EXT_DMA DMA2
|
||||
#define ADC_EXT_DMA_CHANNEL LL_DMA_CHANNEL_0
|
||||
#define ADC_EXT_DMA_STREAM LL_DMA_STREAM_4
|
||||
#define ADC_EXT_DMA_STREAM_IRQ DMA2_Stream4_IRQn
|
||||
#define ADC_EXT_DMA_STREAM_IRQHandler DMA2_Stream4_IRQHandler
|
||||
#define ADC_EXT_SAMPTIME LL_ADC_SAMPLINGTIME_56CYCLES
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_56CYCLES
|
||||
#define ADC_DMA DMA2
|
||||
#define ADC_DMA_CHANNEL LL_DMA_CHANNEL_2
|
||||
#define ADC_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define ADC_DMA_STREAM_IRQ DMA2_Stream0_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler DMA2_Stream0_IRQHandler
|
||||
#define ADC_VREF_PREC2 330
|
||||
#elif defined(PCBX10)
|
||||
#if defined(RADIO_T15)
|
||||
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_1 // PA.01
|
||||
#define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_0 // PA.00
|
||||
#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_GPIO_PIN_POT1 LL_GPIO_PIN_2 // PC.02
|
||||
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_0 // PC.00
|
||||
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_12 // ADC3_IN12
|
||||
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_10 // ADC3_IN10
|
||||
#else
|
||||
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_0 // PA.00
|
||||
#define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_1 // PA.01
|
||||
#define ADC_GPIO_PIN_STICK_RV LL_GPIO_PIN_3 // PA.03
|
||||
#define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_2 // PA.02
|
||||
#define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_0 // PC.00
|
||||
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_1 // PC.01
|
||||
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_10 // ADC3_IN10
|
||||
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_11 // ADC3_IN11
|
||||
#endif
|
||||
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_7 // PF.07
|
||||
#if !defined(RADIO_T15)
|
||||
#define ADC_GPIO_PIN_POT3 LL_GPIO_PIN_2 // PC.02 //
|
||||
#define ADC_GPIO_PIN_SLIDER1 LL_GPIO_PIN_6 // PF.06
|
||||
#define ADC_GPIO_PIN_SLIDER2 LL_GPIO_PIN_3 // PC.03 //
|
||||
#define ADC_GPIO_PIN_EXT1 LL_GPIO_PIN_8 // PF.08
|
||||
#define ADC_GPIO_PIN_EXT2 LL_GPIO_PIN_9 // PF.09
|
||||
#define ADC_GPIO_PIN_EXT3 ADC_GPIO_PIN_STICK_RH
|
||||
#define ADC_GPIO_PIN_EXT4 ADC_GPIO_PIN_STICK_RV
|
||||
#endif
|
||||
#if defined(RADIO_X10) || defined(RADIO_X10E)
|
||||
#define PWM_STICKS
|
||||
#define PWM_TIMER TIM5
|
||||
@@ -512,66 +74,8 @@
|
||||
#define PWM_GPIO_AF GPIO_AF2
|
||||
#define PWM_IRQHandler TIM5_IRQHandler
|
||||
#define PWM_IRQn TIM5_IRQn
|
||||
#define PWM_GPIOA_PINS (ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_RV)
|
||||
#define STICK_PWM_CHANNEL_LH 0
|
||||
#define STICK_PWM_CHANNEL_LV 1
|
||||
#define STICK_PWM_CHANNEL_RV 3
|
||||
#define STICK_PWM_CHANNEL_RH 2
|
||||
#define PWM_GPIOA_PINS (LL_GPIO_PIN_0 | LL_GPIO_PIN_1 | LL_GPIO_PIN_2 | LL_GPIO_PIN_3)
|
||||
#endif
|
||||
#if defined(RADIO_T15)
|
||||
#define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_1 // ADC3_IN1
|
||||
#define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_0 // ADC3_IN0
|
||||
#define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_3 // ADC3_IN3
|
||||
#define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_2 // ADC3_IN2
|
||||
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_5 // ADC3_IN5
|
||||
#else
|
||||
#define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_0 // ADC3_IN0
|
||||
#define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_1 // ADC3_IN1
|
||||
#define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_2 // ADC3_IN2
|
||||
#define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_3 // ADC3_IN3
|
||||
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_5 // ADC3_IN5
|
||||
#endif
|
||||
#if !defined(RADIO_T15)
|
||||
#define ADC_CHANNEL_POT3 LL_ADC_CHANNEL_12 // ADC3_IN12
|
||||
#define ADC_CHANNEL_SLIDER1 LL_ADC_CHANNEL_4 // ADC3_IN4
|
||||
#define ADC_CHANNEL_SLIDER2 LL_ADC_CHANNEL_13 // ADC3_IN13
|
||||
#define ADC_CHANNEL_EXT1 LL_ADC_CHANNEL_6 // ADC3_IN6
|
||||
#define ADC_CHANNEL_EXT2 LL_ADC_CHANNEL_7 // ADC3_IN7
|
||||
#define ADC_CHANNEL_EXT3 LL_ADC_CHANNEL_2 // ADC3_IN2: same as RH
|
||||
#define ADC_CHANNEL_EXT4 LL_ADC_CHANNEL_3 // ADC3_IN3: same as RV
|
||||
#endif
|
||||
#if defined(RADIO_T15)
|
||||
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_RV)
|
||||
#define ADC_GPIOC_PINS (ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_POT2)
|
||||
#define ADC_GPIOF_PINS (ADC_GPIO_PIN_BATT)
|
||||
#else
|
||||
#define ADC_GPIOA_PINS_FS (LL_GPIO_PIN_2 | LL_GPIO_PIN_3)
|
||||
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_RV)
|
||||
#define ADC_GPIOC_PINS (ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_POT3 | ADC_GPIO_PIN_SLIDER2)
|
||||
#define ADC_GPIOF_PINS (ADC_GPIO_PIN_SLIDER1 | ADC_GPIO_PIN_BATT | ADC_GPIO_PIN_EXT1 | ADC_GPIO_PIN_EXT2)
|
||||
#endif
|
||||
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC1_IN18
|
||||
#define ADC_MAIN ADC3
|
||||
#define ADC_EXT ADC1
|
||||
#if defined(RADIO_V16)
|
||||
#define ADC_EXT_CHANNELS { ADC_CHANNEL_SLIDER1, ADC_CHANNEL_SLIDER2, ADC_CHANNEL_RTC_BAT }
|
||||
// Required DMA for more than one channel for EXT_ADC
|
||||
#define ADC_EXT_DMA DMA2
|
||||
#define ADC_EXT_DMA_CHANNEL LL_DMA_CHANNEL_0
|
||||
#define ADC_EXT_DMA_STREAM LL_DMA_STREAM_4
|
||||
#define ADC_EXT_DMA_STREAM_IRQ DMA2_Stream4_IRQn
|
||||
#define ADC_EXT_DMA_STREAM_IRQHandler DMA2_Stream4_IRQHandler
|
||||
#else
|
||||
#define ADC_EXT_CHANNELS { ADC_CHANNEL_RTC_BAT }
|
||||
#endif
|
||||
#define ADC_EXT_SAMPTIME LL_ADC_SAMPLINGTIME_56CYCLES
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_56CYCLES
|
||||
#define ADC_DMA DMA2
|
||||
#define ADC_DMA_CHANNEL LL_DMA_CHANNEL_2
|
||||
#define ADC_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define ADC_DMA_STREAM_IRQ DMA2_Stream0_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler DMA2_Stream0_IRQHandler
|
||||
|
||||
// VBat divider is /4 on F42x and F43x devices
|
||||
#if defined(RADIO_TX16S) || defined(RADIO_T15) || defined(RADIO_F16) || defined(RADIO_V16) || defined(RADIO_T18)
|
||||
#define ADC_VREF_PREC2 330
|
||||
@@ -582,29 +86,10 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(RADIO_T15)
|
||||
#define ADC_DIRECTION {1,-1,1,-1, 1,1}
|
||||
#elif defined(RADIO_T16)
|
||||
#define ADC_DIRECTION {1,-1,1,-1, 1,1,1, -1,1,1,1, -1,1 }
|
||||
#elif defined(RADIO_T18)
|
||||
#define ADC_DIRECTION {1,-1,1,-1, -1,1,-1, -1,1,1,1, -1,1 }
|
||||
#elif defined(RADIO_TX16S) || defined(RADIO_F16)
|
||||
#define ADC_DIRECTION {1,-1,1,-1, 1,1,1, -1,1,1,1, -1,1 }
|
||||
#elif defined(RADIO_V16)
|
||||
#define ADC_DIRECTION {1,-1,1,-1, -1,1,-1, -1,1,1,1, -1,1 }
|
||||
#elif defined(PCBX10)
|
||||
#define ADC_DIRECTION {1,-1,1,-1, -1,1,-1, 1,-1,1,1, 1,-1 }
|
||||
#elif defined(PCBX12S)
|
||||
#define ADC_DIRECTION {1,-1,1,-1, -1,1,-1, 1,-1, -1,-1, 0,0,0}
|
||||
#else
|
||||
#error "Missing ADC_DIRECTION array"
|
||||
#endif
|
||||
|
||||
#if defined(RADIO_TX16S)
|
||||
#define DEFAULT_6POS_CALIB {3, 12, 21, 30, 38}
|
||||
#define DEFAULT_6POS_IDX 5
|
||||
#endif
|
||||
|
||||
|
||||
// Power
|
||||
#if defined(RADIO_T18)
|
||||
|
||||
@@ -46,7 +46,6 @@ add_definitions(-DFIRMWARE_FORMAT_UF2)
|
||||
add_definitions(-DUSE_CUSTOM_EXTI_IRQ)
|
||||
|
||||
set(FLAVOUR pa01)
|
||||
add_definitions(-DRADIO_PA01)
|
||||
|
||||
# Defines internal modules for PL18 via UART7
|
||||
set(INTERNAL_MODULES AFHDS3;CRSF CACHE STRING "Internal modules")
|
||||
|
||||
@@ -39,173 +39,9 @@
|
||||
/* DMA Allocation:
|
||||
*/
|
||||
|
||||
// Keys
|
||||
#define KEYS_GPIO_REG_ENTER
|
||||
#define KEYS_GPIO_PIN_ENTER
|
||||
#define KEYS_GPIO_ENTER GPIO_PIN(GPIOG, 13) // PG.13
|
||||
|
||||
// Keys in bsp matrix
|
||||
#define KEYS_GPIO_REG_PAGEUP
|
||||
#define KEYS_GPIO_PIN_PAGEUP
|
||||
#define KEYS_GPIO_REG_PAGEDN
|
||||
#define KEYS_GPIO_PIN_PAGEDN
|
||||
#define KEYS_GPIO_REG_MDL
|
||||
#define KEYS_GPIO_PIN_MDL
|
||||
#define KEYS_GPIO_REG_EXIT
|
||||
#define KEYS_GPIO_PIN_EXIT
|
||||
|
||||
// Trims in bsp matrix
|
||||
#define TRIMS_GPIO_REG_LHL
|
||||
#define TRIMS_GPIO_PIN_LHL
|
||||
|
||||
#define TRIMS_GPIO_REG_LHR
|
||||
#define TRIMS_GPIO_PIN_LHR
|
||||
|
||||
#define TRIMS_GPIO_REG_LVD
|
||||
#define TRIMS_GPIO_PIN_LVD
|
||||
|
||||
#define TRIMS_GPIO_REG_LVU
|
||||
#define TRIMS_GPIO_PIN_LVU
|
||||
|
||||
#define TRIMS_GPIO_REG_RHL
|
||||
#define TRIMS_GPIO_PIN_RHL
|
||||
|
||||
#define TRIMS_GPIO_REG_RHR
|
||||
#define TRIMS_GPIO_PIN_RHR
|
||||
|
||||
#define TRIMS_GPIO_REG_RVD
|
||||
#define TRIMS_GPIO_PIN_RVD
|
||||
|
||||
#define TRIMS_GPIO_REG_RVU
|
||||
#define TRIMS_GPIO_PIN_RVU
|
||||
|
||||
// function switches
|
||||
#define FUNCTION_SWITCH_1 SK
|
||||
#define SWITCHES_GPIO_REG_K
|
||||
#define SWITCHES_GPIO_PIN_K AW9523B_PIN_0
|
||||
#define SWITCHES_K_CFS_IDX 0
|
||||
#define FUNCTION_SWITCH_2 SL
|
||||
#define SWITCHES_GPIO_REG_L
|
||||
#define SWITCHES_GPIO_PIN_L AW9523B_PIN_1
|
||||
#define SWITCHES_L_CFS_IDX 1
|
||||
#define FUNCTION_SWITCH_3 SM
|
||||
#define SWITCHES_GPIO_REG_M
|
||||
#define SWITCHES_GPIO_PIN_M AW9523B_PIN_2
|
||||
#define SWITCHES_M_CFS_IDX 2
|
||||
#define FUNCTION_SWITCH_4 SN
|
||||
#define SWITCHES_GPIO_REG_N
|
||||
#define SWITCHES_GPIO_PIN_N AW9523B_PIN_3
|
||||
#define SWITCHES_N_CFS_IDX 3
|
||||
|
||||
// Direct switches
|
||||
// SWA
|
||||
#define STORAGE_SWITCH_A
|
||||
#define HARDWARE_SWITCH_A
|
||||
#define SWITCHES_GPIO_REG_A GPIOA
|
||||
#define SWITCHES_GPIO_PIN_A LL_GPIO_PIN_2 // PA.02
|
||||
|
||||
// SWD
|
||||
#define STORAGE_SWITCH_D
|
||||
#define HARDWARE_SWITCH_D
|
||||
#define SWITCHES_GPIO_REG_D GPIOF
|
||||
#define SWITCHES_GPIO_PIN_D LL_GPIO_PIN_8 // PF.08
|
||||
|
||||
// SWE
|
||||
#define STORAGE_SWITCH_E
|
||||
#define HARDWARE_SWITCH_E
|
||||
#define SWITCHES_GPIO_REG_E GPIOG
|
||||
#define SWITCHES_GPIO_PIN_E LL_GPIO_PIN_3 // PG.03
|
||||
|
||||
// SWF
|
||||
#define STORAGE_SWITCH_F
|
||||
#define HARDWARE_SWITCH_F
|
||||
#define SWITCHES_GPIO_REG_F GPIOG
|
||||
#define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_2 // PG.02
|
||||
|
||||
#define KEYS_GPIOB_PINS (LL_GPIO_PIN_15)
|
||||
|
||||
// PC8 allocated to SDIO D0, is not required to sample SWA !
|
||||
#define KEYS_GPIOC_PINS (LL_GPIO_PIN_13)
|
||||
|
||||
#define KEYS_GPIOD_PINS ()
|
||||
|
||||
#define KEYS_GPIOH_PINS \
|
||||
(LL_GPIO_PIN_8 | LL_GPIO_PIN_9 | LL_GPIO_PIN_10 | LL_GPIO_PIN_11)
|
||||
|
||||
#define KEYS_GPIOJ_PINS (LL_GPIO_PIN_12)
|
||||
|
||||
#define KEYS_OUT_GPIOG_PINS (LL_GPIO_PIN_2 )
|
||||
|
||||
#define KEYS_OUT_GPIOH_PINS (LL_GPIO_PIN_7)
|
||||
|
||||
// ADC
|
||||
#define ADC_GPIO_PIN_STICK_LH
|
||||
#define ADC_GPIO_PIN_STICK_LV
|
||||
#define ADC_GPIO_PIN_STICK_RV
|
||||
#define ADC_GPIO_PIN_STICK_RH
|
||||
|
||||
#define ADC_GPIO_PIN_SLIDER1 LL_GPIO_PIN_3 // PA.03 S1
|
||||
#define ADC_GPIO_PIN_SLIDER2 LL_GPIO_PIN_5 // PA.05 S2
|
||||
|
||||
#define ADC_GPIO_PIN_SWB LL_GPIO_PIN_5 // PC.05
|
||||
#define ADC_GPIO_PIN_SWC LL_GPIO_PIN_7 // PF.07
|
||||
|
||||
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_1 // PC.01
|
||||
|
||||
#define ADC_GPIOA_PINS ( ADC_GPIO_PIN_SLIDER1 | ADC_GPIO_PIN_SLIDER2 )
|
||||
|
||||
#define ADC_GPIOC_PINS ( ADC_GPIO_PIN_BATT | ADC_GPIO_PIN_SWB )
|
||||
|
||||
#define ADC_GPIOF_PINS ( ADC_GPIO_PIN_SWC )
|
||||
|
||||
#define ADC_CHANNEL_STICK_LH
|
||||
#define ADC_CHANNEL_STICK_LV
|
||||
#define ADC_CHANNEL_STICK_RV
|
||||
#define ADC_CHANNEL_STICK_RH
|
||||
|
||||
// Sliders
|
||||
#define ADC_CHANNEL_SLIDER1 LL_ADC_CHANNEL_15 // ADC12_INP15
|
||||
#define ADC_CHANNEL_SLIDER2 LL_ADC_CHANNEL_19 // ADC12_INP19
|
||||
|
||||
// Analog switches
|
||||
#define ADC_CHANNEL_SWB LL_ADC_CHANNEL_8 // ADC12_INP8
|
||||
#define ADC_CHANNEL_SWC LL_ADC_CHANNEL_3 // ADC3_INP3
|
||||
|
||||
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_11 // ADC123_INP11
|
||||
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC12_IN16
|
||||
|
||||
#define ADC_MAIN ADC1
|
||||
#define ADC_DMA DMA2
|
||||
#define ADC_DMA_CHANNEL LL_DMAMUX1_REQ_ADC1
|
||||
#define ADC_DMA_STREAM LL_DMA_STREAM_4
|
||||
#define ADC_DMA_STREAM_IRQ DMA2_Stream4_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler DMA2_Stream4_IRQHandler
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_64CYCLES_5
|
||||
|
||||
#define ADC_EXT ADC3
|
||||
#define ADC_EXT_CHANNELS \
|
||||
{ ADC_CHANNEL_SWC, ADC_CHANNEL_SWD, ADC_CHANNEL_RTC_BAT }
|
||||
|
||||
#define ADC_EXT_DMA DMA2
|
||||
#define ADC_EXT_DMA_CHANNEL LL_DMAMUX1_REQ_ADC3
|
||||
#define ADC_EXT_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define ADC_EXT_DMA_STREAM_IRQ DMA2_Stream0_IRQn
|
||||
#define ADC_EXT_DMA_STREAM_IRQHandler DMA2_Stream0_IRQHandler
|
||||
#define ADC_EXT_SAMPTIME LL_ADC_SAMPLINGTIME_64CYCLES_5
|
||||
|
||||
#define ADC_VREF_PREC2 329
|
||||
|
||||
#define ADC_DIRECTION { \
|
||||
0,0,0,0, /* gimbals */ \
|
||||
0,0, /* sliders */ \
|
||||
0, /* vbat */ \
|
||||
0, /* rtc_bat */ \
|
||||
-1, /* SWB */ \
|
||||
-1, /* SWC */ \
|
||||
0, /* SWE */ \
|
||||
0 /* SWF */ \
|
||||
}
|
||||
|
||||
// Power
|
||||
#define PWR_SWITCH_GPIO GPIO_PIN(GPIOE, 6) // PE.06
|
||||
#define PWR_ON_GPIO GPIO_PIN(GPIOE, 3) // PE.03
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
#define BSP_KEY_OUT_MASK \
|
||||
(BSP_KEY_OUT1 | BSP_KEY_OUT2 | BSP_KEY_OUT3 | BSP_KEY_OUT4)
|
||||
|
||||
#define KEYS_GPIO_ENTER GPIO_PIN(GPIOG, 13) // PG.13
|
||||
|
||||
/* The output bit-order has to be:
|
||||
0 LHL TR3L (Left equals down)
|
||||
1 LHR TR3R
|
||||
|
||||
@@ -45,7 +45,6 @@ add_definitions(-DSTM32_SUPPORT_32BIT_TIMERS)
|
||||
|
||||
if(PCBREV STREQUAL PL18U)
|
||||
set(FLAVOUR pl18u)
|
||||
add_definitions(-DRADIO_PL18U)
|
||||
set(DISK_CACHE ON)
|
||||
set(WIRELESS_CHARGER YES)
|
||||
set(FLYSKY_GIMBAL ON)
|
||||
@@ -58,7 +57,7 @@ if(PCBREV STREQUAL PL18U)
|
||||
set(DEFAULT_INTERNAL_MODULE FLYSKY_AFHDS3 CACHE STRING "Default internal module")
|
||||
elseif (PCBREV STREQUAL EL18)
|
||||
set(FLAVOUR el18)
|
||||
add_definitions(-DRADIO_EL18 -DRADIO_NV14_FAMILY -DUSE_HATS_AS_KEYS)
|
||||
add_definitions(-DRADIO_NV14_FAMILY -DUSE_HATS_AS_KEYS)
|
||||
set(DISK_CACHE ON)
|
||||
set(FLYSKY_GIMBAL ON)
|
||||
set(USE_VS1053B ON)
|
||||
@@ -69,7 +68,7 @@ elseif (PCBREV STREQUAL EL18)
|
||||
set(DEFAULT_INTERNAL_MODULE FLYSKY_AFHDS3 CACHE STRING "Default internal module")
|
||||
elseif(PCBREV STREQUAL NV14)
|
||||
set(FLAVOUR nv14)
|
||||
add_definitions(-DRADIO_NV14 -DRADIO_NV14_FAMILY)
|
||||
add_definitions(-DRADIO_NV14_FAMILY)
|
||||
add_definitions(-DUSE_HATS_AS_KEYS -DAFHDS2_BAUDRATE=${PCB_RF_BAUD})
|
||||
set(DISK_CACHE ON)
|
||||
set(FLYSKY_GIMBAL ON)
|
||||
@@ -82,7 +81,7 @@ elseif(PCBREV STREQUAL NV14)
|
||||
set(DEFAULT_INTERNAL_MODULE FLYSKY_AFHDS2A CACHE STRING "Default internal module")
|
||||
elseif(PCBREV STREQUAL NB4P)
|
||||
set(FLAVOUR nb4p)
|
||||
add_definitions(-DRADIO_NB4P -DSPI_FLASH)
|
||||
add_definitions(-DSPI_FLASH)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(LED_STRIP ON)
|
||||
set(AFHDS3 ON)
|
||||
@@ -93,7 +92,7 @@ elseif(PCBREV STREQUAL NB4P)
|
||||
set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module")
|
||||
elseif(PCBREV STREQUAL PL18EV)
|
||||
set(FLAVOUR pl18ev)
|
||||
add_definitions(-DRADIO_PL18EV -DSPI_FLASH -DUSE_HATS_AS_KEYS)
|
||||
add_definitions(-DSPI_FLASH -DUSE_HATS_AS_KEYS)
|
||||
set(WIRELESS_CHARGER YES)
|
||||
set(FLYSKY_GIMBAL ON)
|
||||
set(LED_STRIP ON)
|
||||
@@ -101,7 +100,7 @@ elseif(PCBREV STREQUAL PL18EV)
|
||||
set(KEY_DRIVER key_driver.cpp)
|
||||
else()
|
||||
set(FLAVOUR pl18)
|
||||
add_definitions(-DRADIO_PL18 -DSPI_FLASH -DUSE_HATS_AS_KEYS)
|
||||
add_definitions(-DSPI_FLASH -DUSE_HATS_AS_KEYS)
|
||||
set(WIRELESS_CHARGER YES)
|
||||
set(FLYSKY_GIMBAL ON)
|
||||
set(LED_STRIP ON)
|
||||
@@ -201,6 +200,14 @@ add_library(board_bl OBJECT EXCLUDE_FROM_ALL
|
||||
targets/common/arm/stm32/sdram_driver.cpp
|
||||
)
|
||||
add_dependencies(board_bl ${BITMAPS_TARGET})
|
||||
|
||||
if(PCBREV STREQUAL NB4P)
|
||||
target_sources(board_bl PUBLIC
|
||||
${CMAKE_CURRENT_BINARY_DIR}/stm32_adc_inputs.inc
|
||||
boards/generic_stm32/analog_inputs.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
set(BOOTLOADER_SRC ${BOOTLOADER_SRC} $<TARGET_OBJECTS:board_bl>)
|
||||
|
||||
# Firmware board library
|
||||
|
||||
@@ -181,7 +181,7 @@ void boardBLPreJump()
|
||||
{
|
||||
SDRAM_Init();
|
||||
#if defined(RADIO_NB4P)
|
||||
LL_ADC_Disable(ADC_MAIN);
|
||||
_adc_driver.deinit();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
#include "hal/serial_port.h"
|
||||
#include "hal/watchdog_driver.h"
|
||||
|
||||
#if defined(ADC_GPIO_PIN_STICK_TH)
|
||||
#define SURFACE_RADIO true
|
||||
#if defined(RADIO_NB4P)
|
||||
#define SURFACE_RADIO true
|
||||
#endif
|
||||
|
||||
#define FLASHSIZE 0x200000
|
||||
|
||||
@@ -47,252 +47,18 @@
|
||||
2/3/4 SDIO
|
||||
*/
|
||||
|
||||
// Keys
|
||||
// PL18/PL18EV only has virtual keys via trim buttons
|
||||
// #define KEYS_GPIO_PIN_PGUP /* for activating PGUP in keys diagnose screen */
|
||||
|
||||
#if defined(RADIO_NV14_FAMILY)
|
||||
// Trims
|
||||
#define TRIMS_GPIO_REG_RHL GPIOD
|
||||
#define TRIMS_GPIO_PIN_RHL LL_GPIO_PIN_7 // PD.07
|
||||
#define TRIMS_GPIO_REG_RHR GPIOG
|
||||
#define TRIMS_GPIO_PIN_RHR LL_GPIO_PIN_10 // PG.10
|
||||
#define TRIMS_GPIO_REG_RVD GPIOJ
|
||||
#define TRIMS_GPIO_PIN_RVD LL_GPIO_PIN_0 // PJ.00
|
||||
#define TRIMS_GPIO_REG_RVU GPIOB
|
||||
#define TRIMS_GPIO_PIN_RVU LL_GPIO_PIN_15 // PB.15
|
||||
|
||||
#define TRIMS_GPIO_REG_LHL GPIOH
|
||||
#define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_2 // PH.02
|
||||
#define TRIMS_GPIO_REG_LHR GPIOG
|
||||
#define TRIMS_GPIO_PIN_LHR LL_GPIO_PIN_2 // PG.02
|
||||
#define TRIMS_GPIO_REG_LVU GPIOH
|
||||
#define TRIMS_GPIO_PIN_LVU LL_GPIO_PIN_7 // PH.07
|
||||
#define TRIMS_GPIO_REG_LVD GPIOJ
|
||||
#define TRIMS_GPIO_PIN_LVD LL_GPIO_PIN_12 // PJ.12
|
||||
|
||||
// Keys
|
||||
#define KEYS_GPIO_REG_ENTER GPIOC
|
||||
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_13 // PC.13
|
||||
#define KEYS_GPIO_REG_EXIT GPIOG
|
||||
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_11 // PG.11
|
||||
|
||||
// Monitor pin
|
||||
#define VBUS_MONITOR_GPIO GPIO_PIN(GPIOJ, 14) // PJ.14
|
||||
|
||||
// Switches
|
||||
#define HARDWARE_SWITCH_A
|
||||
#define STORAGE_SWITCH_A
|
||||
#define HARDWARE_SWITCH_B
|
||||
#define STORAGE_SWITCH_B
|
||||
#define HARDWARE_SWITCH_C
|
||||
#define STORAGE_SWITCH_C
|
||||
#define HARDWARE_SWITCH_D
|
||||
#define STORAGE_SWITCH_D
|
||||
#define HARDWARE_SWITCH_E
|
||||
#define STORAGE_SWITCH_E
|
||||
#define HARDWARE_SWITCH_F
|
||||
#define STORAGE_SWITCH_F
|
||||
#define HARDWARE_SWITCH_G
|
||||
#define STORAGE_SWITCH_G
|
||||
#define HARDWARE_SWITCH_H
|
||||
#define STORAGE_SWITCH_H
|
||||
|
||||
// Index of all switches / trims
|
||||
#define KEYS_GPIO_ACTIVE_HIGH
|
||||
#define TRIMS_GPIO_ACTIVE_HIGH
|
||||
|
||||
// ADC
|
||||
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_2 // PA.02
|
||||
#define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_3 // PA.03
|
||||
#define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_4 // PA.04
|
||||
#define ADC_GPIO_PIN_STICK_RV LL_GPIO_PIN_5 // PA.05
|
||||
|
||||
#define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_6 // PA.06 VRA
|
||||
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_4 // PC.04 VRB
|
||||
#define ADC_GPIO_PIN_SWA LL_GPIO_PIN_1 // PB.01
|
||||
#define ADC_GPIO_PIN_SWB LL_GPIO_PIN_8 // PF.08
|
||||
#define ADC_GPIO_PIN_SWC LL_GPIO_PIN_0 // PB.00
|
||||
#define ADC_GPIO_PIN_SWD LL_GPIO_PIN_10 // PF.10
|
||||
#define ADC_GPIO_PIN_SWE LL_GPIO_PIN_0 // PC.00
|
||||
#define ADC_GPIO_PIN_SWF LL_GPIO_PIN_1 // PC.01
|
||||
#define ADC_GPIO_PIN_SWG LL_GPIO_PIN_2 // PC.02
|
||||
#define ADC_GPIO_PIN_SWH LL_GPIO_PIN_7 // PA.07
|
||||
|
||||
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_5 // PC.05
|
||||
|
||||
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_RH \
|
||||
| ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_SWH)
|
||||
#define ADC_GPIOB_PINS (ADC_GPIO_PIN_SWA | ADC_GPIO_PIN_SWC)
|
||||
#define ADC_GPIOC_PINS (ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_SWE | ADC_GPIO_PIN_SWF | ADC_GPIO_PIN_SWG | ADC_GPIO_PIN_BATT)
|
||||
#define ADC_GPIOF_PINS (ADC_GPIO_PIN_SWB | ADC_GPIO_PIN_SWD)
|
||||
|
||||
#define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_2 // ADC123_IN2 -> ADC1_IN2
|
||||
#define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_3 // ADC123_IN3 -> ADC1_IN3
|
||||
#define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_4 // ADC12_IN4 -> ADC1_IN4
|
||||
#define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_5 // ADC12_IN5 -> ADC1_IN5
|
||||
|
||||
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_6 // ADC12_IN6 -> ADC1_IN6
|
||||
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_14 // ADC12_IN14 -> ADC1_IN14
|
||||
#define ADC_CHANNEL_SWA LL_ADC_CHANNEL_9 // ADC12_IN9 -> ADC1_IN9
|
||||
#define ADC_CHANNEL_SWB LL_ADC_CHANNEL_6 // ADC3_IN6 -> ADC3_IN6
|
||||
#define ADC_CHANNEL_SWC LL_ADC_CHANNEL_8 // ADC12_IN8 -> ADC1_IN8
|
||||
#define ADC_CHANNEL_SWD LL_ADC_CHANNEL_8 // ADC3_IN8 -> ADC3_IN8
|
||||
#define ADC_CHANNEL_SWE LL_ADC_CHANNEL_10 // ADC123_IN10-> ADC1_IN10
|
||||
#define ADC_CHANNEL_SWF LL_ADC_CHANNEL_11 // ADC123_IN11-> ADC1_IN11
|
||||
#define ADC_CHANNEL_SWG LL_ADC_CHANNEL_12 // ADC123_IN12-> ADC1_IN12
|
||||
#define ADC_CHANNEL_SWH LL_ADC_CHANNEL_7 // ADC12_IN7 -> ADC1_IN7
|
||||
|
||||
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_15 // ADC12_IN15 -> ADC1_IN15
|
||||
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC1_IN18
|
||||
|
||||
#define ADC_MAIN ADC1
|
||||
#define ADC_EXT ADC3
|
||||
#define ADC_EXT_CHANNELS { ADC_CHANNEL_SWB, ADC_CHANNEL_SWD }
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_28CYCLES
|
||||
#define ADC_DMA DMA2
|
||||
#define ADC_DMA_CHANNEL LL_DMA_CHANNEL_0
|
||||
#define ADC_DMA_STREAM LL_DMA_STREAM_4
|
||||
#define ADC_DMA_STREAM_IRQ DMA2_Stream4_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler DMA2_Stream4_IRQHandler
|
||||
|
||||
#define ADC_EXT_DMA DMA2
|
||||
#define ADC_EXT_DMA_CHANNEL LL_DMA_CHANNEL_2
|
||||
#define ADC_EXT_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define ADC_EXT_DMA_STREAM_IRQ DMA2_Stream0_IRQn
|
||||
#define ADC_EXT_DMA_STREAM_IRQHandler DMA2_Stream0_IRQHandler
|
||||
#define ADC_EXT_SAMPTIME LL_ADC_SAMPLINGTIME_28CYCLES
|
||||
#define ADC_VREF_PREC2 330
|
||||
|
||||
#define ADC_DIRECTION \
|
||||
{ 0 /*STICK1*/, 0 /*STICK2*/, 0 /*STICK3*/, 0 /*STICK4*/, \
|
||||
-1 /*POT1*/, 0 /*POT2*/, 0 /*TX_VOLTAGE*/, 0 /*TX_VBAT*/, \
|
||||
0 /*SWA*/, 0 /*SWB*/, 0 /*SWC*/, 0 /*SWD*/, 0 /*SWE*/, \
|
||||
-1 /*SWF*/, -1 /*SWG*/, 0 /*SWH*/ \
|
||||
}
|
||||
|
||||
#elif defined(RADIO_NB4P)
|
||||
// Trims
|
||||
#define TRIMS_GPIO_REG_T1L
|
||||
#define TRIMS_GPIO_PIN_T1L
|
||||
#define TRIMS_GPIO_REG_T1R
|
||||
#define TRIMS_GPIO_PIN_T1R
|
||||
#define TRIMS_GPIO_REG_T2L
|
||||
#define TRIMS_GPIO_PIN_T2L
|
||||
#define TRIMS_GPIO_REG_T2R
|
||||
#define TRIMS_GPIO_PIN_T2R
|
||||
|
||||
// Switches
|
||||
#define SWITCHES_A_2POS
|
||||
#define SWITCHES_B_2POS
|
||||
|
||||
// Keys
|
||||
#define KEYS_GPIO_PIN_ENTER
|
||||
#define KEYS_GPIO_REG_ENTER
|
||||
#define KEYS_GPIO_PIN_EXIT
|
||||
#define KEYS_GPIO_REG_EXIT
|
||||
|
||||
#define ADC_GPIO_PIN_STICK_TH LL_GPIO_PIN_3 // PA.03
|
||||
#define ADC_GPIO_PIN_STICK_ST LL_GPIO_PIN_2 // PA.02
|
||||
#define ADC_CHANNEL_STICK_TH LL_ADC_CHANNEL_3 // ADC123_IN3 -> ADC1_IN3
|
||||
#define ADC_CHANNEL_STICK_ST LL_ADC_CHANNEL_2 // ADC123_IN2 -> ADC1_IN2
|
||||
#define ADC_GPIO_RAW1 GPIOC
|
||||
#define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_2 // PC.02
|
||||
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_7 // PA.07
|
||||
#define ADC_GPIO_PIN_RAW1 LL_GPIO_PIN_1 // PC.01 (SW1)
|
||||
#define ADC_GPIO_PIN_RAW2 LL_GPIO_PIN_0 // PC.00 (SW2 SW3)
|
||||
#define ADC_GPIO_PIN_RAW3 LL_GPIO_PIN_6 // PA.06 (TR1)
|
||||
#define ADC_GPIO_PIN_RAW4 LL_GPIO_PIN_4 // PC.04 (TR2)
|
||||
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_5 // PC.05
|
||||
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_12 // ADC123_IN12 -> ADC1_IN12
|
||||
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_7 // ADC12_IN7 -> ADC1_IN7
|
||||
#define ADC_CHANNEL_RAW1 LL_ADC_CHANNEL_11 // ADC123_IN11 -> ADC1_IN11
|
||||
#define ADC_CHANNEL_RAW2 LL_ADC_CHANNEL_10 // ADC123_IN10 -> ADC1_IN10
|
||||
#define ADC_CHANNEL_RAW3 LL_ADC_CHANNEL_6 // ADC12_IN6 -> ADC1_IN6
|
||||
#define ADC_CHANNEL_RAW4 LL_ADC_CHANNEL_14 // ADC12_IN14 -> ADC1_IN14
|
||||
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_15 // ADC12_IN15 -> ADC1_IN15
|
||||
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC1_IN18
|
||||
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_TH | ADC_GPIO_PIN_STICK_ST | ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_RAW3)
|
||||
#define ADC_GPIOC_PINS (ADC_GPIO_PIN_RAW1 | ADC_GPIO_PIN_RAW2 | ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_RAW4 | ADC_GPIO_PIN_BATT)
|
||||
|
||||
#define ADC_MAIN ADC1
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_28CYCLES
|
||||
#define ADC_DMA DMA2
|
||||
#define ADC_DMA_CHANNEL LL_DMA_CHANNEL_0
|
||||
#define ADC_DMA_STREAM LL_DMA_STREAM_4
|
||||
#define ADC_DMA_STREAM_IRQ DMA2_Stream4_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler DMA2_Stream4_IRQHandler
|
||||
|
||||
#define ADC_VREF_PREC2 330
|
||||
|
||||
#define ADC_DIRECTION { \
|
||||
0,0, /* gimbals */ \
|
||||
0,0, /* pots */ \
|
||||
0,0,0,0, /* raw1-4 */ \
|
||||
0, /* vbat */ \
|
||||
0 /* rtc_bat */ \
|
||||
}
|
||||
|
||||
#else // !defined(RADIO_NB4P) && !defined(RADIO_NV14_FAMILY)
|
||||
|
||||
// Keys
|
||||
#if defined(RADIO_PL18U)
|
||||
#define KEYS_GPIO_PIN_ENTER
|
||||
#define KEYS_GPIO_REG_ENTER
|
||||
#define KEYS_GPIO_PIN_EXIT
|
||||
#define KEYS_GPIO_REG_EXIT
|
||||
#endif
|
||||
|
||||
// Trims
|
||||
#define TRIMS_GPIO_REG_LHL
|
||||
#define TRIMS_GPIO_PIN_LHL
|
||||
|
||||
#define TRIMS_GPIO_REG_LHR
|
||||
#define TRIMS_GPIO_PIN_LHR
|
||||
|
||||
#define TRIMS_GPIO_REG_LVD
|
||||
#define TRIMS_GPIO_PIN_LVD
|
||||
|
||||
#define TRIMS_GPIO_REG_LVU
|
||||
#define TRIMS_GPIO_PIN_LVU
|
||||
|
||||
#define TRIMS_GPIO_REG_RHL
|
||||
#define TRIMS_GPIO_PIN_RHL
|
||||
|
||||
#define TRIMS_GPIO_REG_RHR
|
||||
#define TRIMS_GPIO_PIN_RHR
|
||||
|
||||
#define TRIMS_GPIO_REG_RVD
|
||||
#define TRIMS_GPIO_PIN_RVD
|
||||
|
||||
#define TRIMS_GPIO_REG_RVU
|
||||
#define TRIMS_GPIO_PIN_RVU
|
||||
|
||||
#define TRIMS_GPIO_REG_LSD
|
||||
#define TRIMS_GPIO_PIN_LSD
|
||||
|
||||
#define TRIMS_GPIO_REG_LSU
|
||||
#define TRIMS_GPIO_PIN_LSU
|
||||
|
||||
#define TRIMS_GPIO_REG_RSD
|
||||
#define TRIMS_GPIO_PIN_RSD
|
||||
|
||||
#define TRIMS_GPIO_REG_RSU
|
||||
#define TRIMS_GPIO_PIN_RSU
|
||||
|
||||
#if !defined(RADIO_PL18U)
|
||||
#define TRIMS_GPIO_REG_T7L
|
||||
#define TRIMS_GPIO_PIN_T7L
|
||||
|
||||
#define TRIMS_GPIO_REG_T7R
|
||||
#define TRIMS_GPIO_PIN_T7R
|
||||
|
||||
#define TRIMS_GPIO_REG_T8D
|
||||
#define TRIMS_GPIO_PIN_T8D
|
||||
|
||||
#define TRIMS_GPIO_REG_T8U
|
||||
#define TRIMS_GPIO_PIN_T8U
|
||||
|
||||
#define TRIMS_GPIO_REG_TR1U GPIOH->IDR
|
||||
#define TRIMS_GPIO_PIN_TR1U LL_GPIO_PIN_8 // PH.08
|
||||
#define TRIMS_GPIO_REG_TR1D GPIOH->IDR
|
||||
@@ -336,7 +102,6 @@
|
||||
#define TRIMS_GPIO_PIN_IN4 LL_GPIO_PIN_12 // PJ.12
|
||||
|
||||
// Index of all trims
|
||||
|
||||
#define KEYS_GPIOB_PINS (LL_GPIO_PIN_15)
|
||||
|
||||
// PC8 allocated to SDIO D0, is not required to sample SWA !
|
||||
@@ -365,181 +130,9 @@
|
||||
// #define VBUS_MONITOR_GPIO (GPIOJ)
|
||||
// #define VBUS_MONITOR_PIN (LL_GPIO_PIN_14)
|
||||
|
||||
// Switches:
|
||||
// Switches A and C on PL18/PL18EV are 2-position switches,
|
||||
// so there is no NEED to configure two pins for Switches A and C.
|
||||
//
|
||||
// Especially, as on current dev. state, using PC8 for SDIO D0.
|
||||
// (happy coincidence ;)
|
||||
//
|
||||
#if defined(RADIO_PL18U)
|
||||
#define SWITCHES_GPIO_REG_A_H GPIOD
|
||||
#define SWITCHES_GPIO_PIN_A_H LL_GPIO_PIN_3 // PD.03
|
||||
#define SWITCHES_GPIO_REG_A_L GPIOB
|
||||
#define SWITCHES_GPIO_PIN_A_L LL_GPIO_PIN_6 // PB.06
|
||||
#else
|
||||
#define SWITCHES_GPIO_REG_A GPIOC
|
||||
#define SWITCHES_GPIO_PIN_A LL_GPIO_PIN_9 // PC.09
|
||||
#endif
|
||||
|
||||
// High rail of Switch C is not required and thus PC10 is free to use for
|
||||
// customizations.
|
||||
//
|
||||
// #define SWITCHES_GPIO_REG_C_H GPIOC
|
||||
// #define SWITCHES_GPIO_PIN_C_H LL_GPIO_PIN_10 // PC.10
|
||||
// #define SWITCHES_GPIO_REG_C_L GPIOC
|
||||
// #define SWITCHES_GPIO_PIN_C_L LL_GPIO_PIN_11 // PC.11
|
||||
|
||||
#if defined(RADIO_PL18U)
|
||||
#define SWITCHES_GPIO_REG_C_H GPIOJ
|
||||
#define SWITCHES_GPIO_PIN_C_H LL_GPIO_PIN_14 // PJ.14
|
||||
#define SWITCHES_GPIO_REG_C_L GPIOH
|
||||
#define SWITCHES_GPIO_PIN_C_L LL_GPIO_PIN_2 // PH.02
|
||||
#else
|
||||
#define SWITCHES_GPIO_REG_C GPIOC
|
||||
#define SWITCHES_GPIO_PIN_C LL_GPIO_PIN_11 // PC.11
|
||||
#endif
|
||||
|
||||
// ADC
|
||||
|
||||
#define ADC_GPIO_PIN_STICK_LH
|
||||
#define ADC_GPIO_PIN_STICK_LV
|
||||
#define ADC_GPIO_PIN_STICK_RV
|
||||
#define ADC_GPIO_PIN_STICK_RH
|
||||
|
||||
#define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_6 // PA.06 VRA
|
||||
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_4 // PC.04 VRB
|
||||
#define ADC_GPIO_PIN_POT3 LL_GPIO_PIN_8 // PF.08 VRC
|
||||
#define ADC_GPIO_PIN_SLIDER1 LL_GPIO_PIN_9 // PF.09 VRD/LS
|
||||
#define ADC_GPIO_PIN_SLIDER2 LL_GPIO_PIN_7 // PA.07 VRE/RS
|
||||
|
||||
#if defined(RADIO_PL18EV)
|
||||
#define ADC_GPIO_PIN_EXT1 LL_GPIO_PIN_5 // PA.05
|
||||
#define ADC_GPIO_PIN_EXT2 LL_GPIO_PIN_2 // PA.02
|
||||
#define ADC_GPIO_PIN_EXT3 LL_GPIO_PIN_6 // PF.06
|
||||
#define ADC_GPIO_PIN_EXT4 LL_GPIO_PIN_3 // PA.03
|
||||
#endif
|
||||
|
||||
#define ADC_GPIO_PIN_SWB LL_GPIO_PIN_1 // PC.01
|
||||
#define ADC_GPIO_PIN_SWD LL_GPIO_PIN_0 // PC.00
|
||||
#define ADC_GPIO_PIN_SWE LL_GPIO_PIN_2 // PC.02
|
||||
#define ADC_GPIO_PIN_SWF LL_GPIO_PIN_0 // PB.00
|
||||
#define ADC_GPIO_PIN_SWG LL_GPIO_PIN_1 // PB.01
|
||||
#define ADC_GPIO_PIN_SWH LL_GPIO_PIN_10 // PF.10
|
||||
|
||||
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_5 // PC.05
|
||||
|
||||
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_SLIDER2 | \
|
||||
ADC_GPIO_PIN_EXT1 | ADC_GPIO_PIN_EXT2 | ADC_GPIO_PIN_EXT4)
|
||||
#define ADC_GPIOB_PINS (ADC_GPIO_PIN_SWF | ADC_GPIO_PIN_SWG)
|
||||
#define ADC_GPIOC_PINS (ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_BATT | \
|
||||
ADC_GPIO_PIN_SWB | ADC_GPIO_PIN_SWD | ADC_GPIO_PIN_SWE)
|
||||
#define ADC_GPIOF_PINS (ADC_GPIO_PIN_POT3 | ADC_GPIO_PIN_SLIDER1 | \
|
||||
ADC_GPIO_PIN_EXT3 | ADC_GPIO_PIN_SWH)
|
||||
|
||||
#define ADC_CHANNEL_STICK_LH
|
||||
#define ADC_CHANNEL_STICK_LV
|
||||
#define ADC_CHANNEL_STICK_RV
|
||||
#define ADC_CHANNEL_STICK_RH
|
||||
|
||||
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_6 // ADC12_IN6 -> ADC1_IN6
|
||||
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_14 // ADC12_IN14 -> ADC1_IN14
|
||||
#define ADC_CHANNEL_POT3 LL_ADC_CHANNEL_6 // ADC3_IN6 -> ADC3_IN6
|
||||
#define ADC_CHANNEL_SLIDER1 LL_ADC_CHANNEL_7 // ADC3_IN7 -> ADC3_IN7
|
||||
#define ADC_CHANNEL_SLIDER2 LL_ADC_CHANNEL_7 // ADC12_IN7 -> ADC1_IN7
|
||||
|
||||
#if defined(RADIO_PL18EV)
|
||||
// Left, right stick end pot on PL18EV
|
||||
#define ADC_CHANNEL_EXT1 LL_ADC_CHANNEL_5 // ADC12_IN5 -> ADC1_IN5
|
||||
#define ADC_CHANNEL_EXT2 LL_ADC_CHANNEL_2 // ADC123_IN2 -> ADC1_IN2
|
||||
|
||||
// Left, right stick end buttons on PL18EV
|
||||
#define ADC_CHANNEL_EXT3 LL_ADC_CHANNEL_4 // ADC3_IN4 -> ADC3_IN4
|
||||
#define ADC_CHANNEL_EXT4 LL_ADC_CHANNEL_3 // ADC123_IN3 -> ADC3_IN3
|
||||
#endif
|
||||
|
||||
// Analog switches
|
||||
#define ADC_CHANNEL_SWB LL_ADC_CHANNEL_11 // ADC123_IN11 -> ADC3_IN11
|
||||
#define ADC_CHANNEL_SWD LL_ADC_CHANNEL_10 // ADC123_IN10 -> ADC3_IN10
|
||||
#define ADC_CHANNEL_SWE LL_ADC_CHANNEL_12 // ADC123_IN12 -> ADC3_IN12
|
||||
#define ADC_CHANNEL_SWF LL_ADC_CHANNEL_8 // ADC12_IN8 -> ADC1_IN8
|
||||
#define ADC_CHANNEL_SWG LL_ADC_CHANNEL_9 // ADC12_IN9 -> ADC1_IN9
|
||||
#define ADC_CHANNEL_SWH LL_ADC_CHANNEL_8 // ADC3_IN8 -> ADC3_IN8
|
||||
|
||||
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_15 // ADC12_IN15 -> ADC1_IN15
|
||||
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC1_IN18
|
||||
|
||||
#define ADC_MAIN ADC1
|
||||
#define ADC_EXT ADC3
|
||||
|
||||
#define ADC_EXT_CHANNELS \
|
||||
{ ADC_CHANNEL_POT3, ADC_CHANNEL_SLIDER1, ADC_CHANNEL_EXT3, ADC_CHANNEL_EXT4, \
|
||||
ADC_CHANNEL_SWB, ADC_CHANNEL_SWD, ADC_CHANNEL_SWE, ADC_CHANNEL_SWH \
|
||||
}
|
||||
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_28CYCLES
|
||||
#define ADC_DMA DMA2
|
||||
#define ADC_DMA_CHANNEL LL_DMA_CHANNEL_0
|
||||
#define ADC_DMA_STREAM LL_DMA_STREAM_4
|
||||
#define ADC_DMA_STREAM_IRQ DMA2_Stream4_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler DMA2_Stream4_IRQHandler
|
||||
|
||||
#define ADC_EXT_DMA DMA2
|
||||
#define ADC_EXT_DMA_CHANNEL LL_DMA_CHANNEL_2
|
||||
#define ADC_EXT_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define ADC_EXT_DMA_STREAM_IRQ DMA2_Stream0_IRQn
|
||||
#define ADC_EXT_DMA_STREAM_IRQHandler DMA2_Stream0_IRQHandler
|
||||
#define ADC_EXT_SAMPTIME LL_ADC_SAMPLINGTIME_28CYCLES
|
||||
|
||||
#define ADC_VREF_PREC2 330
|
||||
|
||||
#if defined(RADIO_PL18EV)
|
||||
#define ADC_DIRECTION { \
|
||||
0,0,0,0, /* gimbals */ \
|
||||
0,0,0, /* pots */ \
|
||||
-1,-1, /* sliders */ \
|
||||
0,0,0,0, /* ext1-4 */ \
|
||||
0, /* vbat */ \
|
||||
0, /* rtc_bat */ \
|
||||
-1, /* SWB */ \
|
||||
-1, /* SWD */ \
|
||||
0, /* SWE */ \
|
||||
0, /* SWF */ \
|
||||
0, /* SWG */ \
|
||||
0 /* SWH */ \
|
||||
}
|
||||
#elif defined(RADIO_PL18U)
|
||||
#define ADC_DIRECTION { \
|
||||
0,0,0,0, /* gimbals */ \
|
||||
0,0,0, /* pots */ \
|
||||
-1,1, /* sliders */ \
|
||||
0, /* vbat */ \
|
||||
0, /* rtc_bat */ \
|
||||
-1, /* SWB */ \
|
||||
0, /* SWD */ \
|
||||
-1, /* SWE */ \
|
||||
0, /* SWF */ \
|
||||
-1, /* SWG */ \
|
||||
0 /* SWH */ \
|
||||
}
|
||||
#else
|
||||
#define ADC_DIRECTION { \
|
||||
0,0,0,0, /* gimbals */ \
|
||||
0,0,0, /* pots */ \
|
||||
-1,-1, /* sliders */ \
|
||||
0, /* vbat */ \
|
||||
0, /* rtc_bat */ \
|
||||
-1, /* SWB */ \
|
||||
-1, /* SWD */ \
|
||||
0, /* SWE */ \
|
||||
0, /* SWF */ \
|
||||
0, /* SWG */ \
|
||||
0 /* SWH */ \
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// Power
|
||||
#define PWR_SWITCH_GPIO GPIO_PIN(GPIOI, 11) // PI.11
|
||||
#define PWR_ON_GPIO GPIO_PIN(GPIOI, 14) // PI.14
|
||||
|
||||
@@ -28,11 +28,15 @@
|
||||
#include "delays_driver.h"
|
||||
#include "keys.h"
|
||||
|
||||
#if !defined(BOOT)
|
||||
#include "hal/adc_driver.h"
|
||||
#include "hal/adc_driver.h"
|
||||
|
||||
#if defined(BOOT)
|
||||
#include "stm32_adc.h"
|
||||
#include "boards/generic_stm32/analog_inputs.h"
|
||||
#endif
|
||||
|
||||
#define BOOTLOADER_KEYS 0x42
|
||||
#define BOOTLOADER_KEYS 0x42
|
||||
#define ADC_KEYS_INDEX 4
|
||||
|
||||
/* The output bit-order has to be:
|
||||
0 LHL STD (Left equals down)
|
||||
@@ -47,92 +51,51 @@ enum PhysicalTrims
|
||||
STU,
|
||||
THD = 2,
|
||||
THU,
|
||||
/* TR2L = 4,
|
||||
/*
|
||||
TR2L = 4,
|
||||
TR2R,
|
||||
TR2D = 8,
|
||||
TR2U,*/
|
||||
TR2U,
|
||||
*/
|
||||
};
|
||||
|
||||
void keysInit()
|
||||
{
|
||||
#if defined(BOOT)
|
||||
LL_GPIO_InitTypeDef pinInit;
|
||||
LL_GPIO_StructInit(&pinInit);
|
||||
|
||||
pinInit.Pin = ADC_GPIO_PIN_RAW1;
|
||||
pinInit.Mode = LL_GPIO_MODE_ANALOG;
|
||||
pinInit.Pull = LL_GPIO_PULL_NO;
|
||||
stm32_gpio_enable_clock(ADC_GPIO_RAW1);
|
||||
LL_GPIO_Init(ADC_GPIO_RAW1, &pinInit);
|
||||
|
||||
// Init ADC clock
|
||||
uint32_t adc_idx = (((uint32_t) ADC_MAIN) - ADC1_BASE) / 0x100UL;
|
||||
uint32_t adc_msk = RCC_APB2ENR_ADC1EN << adc_idx;
|
||||
LL_APB2_GRP1_EnableClock(adc_msk);
|
||||
|
||||
// Init common to all ADCs
|
||||
LL_ADC_CommonInitTypeDef commonInit;
|
||||
LL_ADC_CommonStructInit(&commonInit);
|
||||
|
||||
commonInit.CommonClock = LL_ADC_CLOCK_SYNC_PCLK_DIV4;
|
||||
LL_ADC_CommonInit(__LL_ADC_COMMON_INSTANCE(ADC_MAIN), &commonInit);
|
||||
|
||||
// ADC must be disabled for the functions used here
|
||||
LL_ADC_Disable(ADC_MAIN);
|
||||
|
||||
LL_ADC_InitTypeDef adcInit;
|
||||
LL_ADC_StructInit(&adcInit);
|
||||
adcInit.SequencersScanMode = LL_ADC_SEQ_SCAN_DISABLE;
|
||||
adcInit.DataAlignment = LL_ADC_DATA_ALIGN_RIGHT;
|
||||
adcInit.Resolution = LL_ADC_RESOLUTION_12B;
|
||||
LL_ADC_Init(ADC_MAIN, &adcInit);
|
||||
|
||||
LL_ADC_REG_InitTypeDef adcRegInit;
|
||||
LL_ADC_REG_StructInit(&adcRegInit);
|
||||
adcRegInit.TriggerSource = LL_ADC_REG_TRIG_SOFTWARE;
|
||||
adcRegInit.ContinuousMode = LL_ADC_REG_CONV_SINGLE;
|
||||
LL_ADC_REG_Init(ADC_MAIN, &adcRegInit);
|
||||
|
||||
// Enable ADC
|
||||
LL_ADC_Enable(ADC_MAIN);
|
||||
_adc_driver.init();
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(BOOT)
|
||||
uint16_t _adcRead()
|
||||
static uint16_t _adc_values[MAX_ADC_INPUTS];
|
||||
|
||||
uint16_t* getAnalogValues() { return _adc_values; }
|
||||
|
||||
static uint16_t _adcRead(uint8_t index)
|
||||
{
|
||||
// Configure ADC channel
|
||||
LL_ADC_REG_SetSequencerRanks(ADC_MAIN, LL_ADC_REG_RANK_1, ADC_CHANNEL_RAW1);
|
||||
LL_ADC_SetChannelSamplingTime(ADC_MAIN, ADC_CHANNEL_RAW1, LL_ADC_SAMPLINGTIME_3CYCLES);
|
||||
|
||||
// Start ADC conversion
|
||||
LL_ADC_REG_StartConversionSWStart(ADC_MAIN);
|
||||
|
||||
// Wait until ADC conversion is complete
|
||||
while (!LL_ADC_IsActiveFlag_EOCS(ADC_MAIN));
|
||||
|
||||
// Read ADC converted value
|
||||
return LL_ADC_REG_ReadConversionData12(ADC_MAIN);
|
||||
if (!_adc_driver.start_conversion()) {
|
||||
return ADC_MAX_VALUE / 2;
|
||||
}
|
||||
_adc_driver.wait_completion();
|
||||
return _adc_values[4];
|
||||
}
|
||||
#endif
|
||||
|
||||
uint32_t readKeys()
|
||||
{
|
||||
uint16_t value;
|
||||
uint32_t result = 0;
|
||||
|
||||
#if defined(BOOT)
|
||||
uint16_t value = _adcRead();
|
||||
if (value >= 3584)
|
||||
result |= 1 << KEY_EXIT;
|
||||
else if (value < 512)
|
||||
result |= 1 << KEY_ENTER;
|
||||
value = _adcRead(ADC_KEYS_INDEX);
|
||||
#else
|
||||
uint16_t value = getAnalogValue(4);
|
||||
value = getAnalogValue(ADC_KEYS_INDEX);
|
||||
#endif
|
||||
|
||||
if (value >= 3584)
|
||||
result |= 1 << KEY_EXIT;
|
||||
else if (value < 512)
|
||||
result |= 1 << KEY_ENTER;
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -142,12 +105,12 @@ uint32_t readTrims()
|
||||
uint32_t result = 0;
|
||||
|
||||
#if defined(BOOT)
|
||||
uint16_t value = _adcRead();
|
||||
uint16_t value = _adcRead(ADC_KEYS_INDEX);
|
||||
if (value >= 1536 && value < 2560)
|
||||
result = BOOTLOADER_KEYS;
|
||||
#else
|
||||
uint16_t tr1Val = getAnalogValue(6);
|
||||
uint16_t tr2Val = getAnalogValue(7);
|
||||
uint16_t tr1Val = getAnalogValue(6); // TODO: define constant
|
||||
uint16_t tr2Val = getAnalogValue(7); // TODO: define constant
|
||||
if (tr1Val < 500) // Physical TR1 Left
|
||||
// result |= 1 << TR1L;
|
||||
;
|
||||
@@ -171,4 +134,4 @@ uint32_t readTrims()
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ set(SIMU_DRIVERS
|
||||
)
|
||||
|
||||
set(HW_DESC_JSON ${FLAVOUR}.json)
|
||||
AddHardwareDefTarget(${HW_DESC_JSON})
|
||||
# AddHardwareDefTarget(${HW_DESC_JSON})
|
||||
AddHWGenTarget(${HW_DESC_JSON} simu_keys simu_keys.inc)
|
||||
AddHWGenTarget(${HW_DESC_JSON} simu_switches simu_switches.inc)
|
||||
AddHWGenTarget(${HW_DESC_JSON} hal_adc_inputs hal_adc_inputs.inc)
|
||||
@@ -32,8 +32,8 @@ set(SIMU_DRIVERS ${SIMU_DRIVERS}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/simu_keys.inc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/simu_switches.inc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/hal_adc_inputs.inc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${HW_DESC_JSON}
|
||||
)
|
||||
${RADIO_SRC_DIR}/boards/hw_defs/${HW_DESC_JSON}
|
||||
)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
if(SIMU_LUA_COMPILER)
|
||||
|
||||
@@ -413,6 +413,8 @@ extern volatile uint32_t rotencDt;
|
||||
|
||||
void OpenTxSimulator::rotaryEncoderEvent(int steps)
|
||||
{
|
||||
if (steps == 0) return;
|
||||
|
||||
#if defined(ROTARY_ENCODER_NAVIGATION) && !defined(USE_HATS_AS_KEYS)
|
||||
static uint32_t last_tick = 0;
|
||||
if (steps != 0) {
|
||||
@@ -426,22 +428,14 @@ void OpenTxSimulator::rotaryEncoderEvent(int steps)
|
||||
last_tick = now;
|
||||
}
|
||||
#else
|
||||
// TODO : this should probably be handled in the GUI
|
||||
int key;
|
||||
#if defined(PCBXLITE)
|
||||
if (steps > 0)
|
||||
key = KEY_DOWN;
|
||||
else if (steps < 0)
|
||||
key = KEY_UP;
|
||||
#elif defined(KEYS_GPIO_REG_PLUS) && defined(KEYS_GPIO_REG_MINUS)
|
||||
if (steps > 0)
|
||||
key = KEY_MINUS;
|
||||
else if (steps < 0)
|
||||
key = KEY_PLUS;
|
||||
else
|
||||
#endif
|
||||
// Should not happen but Clang complains that key is unset otherwise
|
||||
return;
|
||||
if (keyIsSupported(KEY_UP) | keyIsSupported(KEY_DOWN)) {
|
||||
key = steps > 0 ? KEY_DOWN : KEY_UP;
|
||||
} else if (keyIsSupported(KEY_PLUS) | keyIsSupported(KEY_MINUS)) {
|
||||
key = steps > 0 ? KEY_MINUS : KEY_PLUS;
|
||||
} else {
|
||||
return; // not supposed to happen???
|
||||
}
|
||||
|
||||
setKey(key, 1);
|
||||
QTimer::singleShot(10, [this, key]() { setKey(key, 0); });
|
||||
|
||||
@@ -47,7 +47,6 @@ add_definitions(-DFIRMWARE_FORMAT_UF2)
|
||||
add_definitions(-DUSE_CUSTOM_EXTI_IRQ)
|
||||
|
||||
set(FLAVOUR st16)
|
||||
add_definitions(-DRADIO_ST16)
|
||||
|
||||
# Defines internal modules for PL18 via UART7
|
||||
# set(INTERNAL_MODULES MULTI CACHE STRING "Internal modules")
|
||||
|
||||
@@ -44,198 +44,7 @@
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
|
||||
// Keys
|
||||
#define KEYS_GPIO_REG_ENTER GPIOG
|
||||
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_14 // PG.14
|
||||
#define KEYS_GPIO_REG_PAGEDN GPIOA
|
||||
#define KEYS_GPIO_PIN_PAGEDN LL_GPIO_PIN_8 // PA.08
|
||||
#define KEYS_GPIO_REG_EXIT GPIOC
|
||||
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_5 // PC.05
|
||||
|
||||
// Trims
|
||||
#define TRIMS_GPIO_REG_LHL
|
||||
#define TRIMS_GPIO_PIN_LHL
|
||||
|
||||
#define TRIMS_GPIO_REG_LHR
|
||||
#define TRIMS_GPIO_PIN_LHR
|
||||
|
||||
#define TRIMS_GPIO_REG_LVD
|
||||
#define TRIMS_GPIO_PIN_LVD
|
||||
|
||||
#define TRIMS_GPIO_REG_LVU
|
||||
#define TRIMS_GPIO_PIN_LVU
|
||||
|
||||
#define TRIMS_GPIO_REG_RHL
|
||||
#define TRIMS_GPIO_PIN_RHL
|
||||
|
||||
#define TRIMS_GPIO_REG_RHR
|
||||
#define TRIMS_GPIO_PIN_RHR
|
||||
|
||||
#define TRIMS_GPIO_REG_RVD
|
||||
#define TRIMS_GPIO_PIN_RVD
|
||||
|
||||
#define TRIMS_GPIO_REG_RVU
|
||||
#define TRIMS_GPIO_PIN_RVU
|
||||
|
||||
|
||||
// function switches
|
||||
#define FUNCTION_SWITCH_1 SK
|
||||
#define SWITCHES_GPIO_REG_K
|
||||
#define SWITCHES_GPIO_PIN_K PCA95XX_PIN_0
|
||||
#define SWITCHES_K_CFS_IDX 0
|
||||
#define FUNCTION_SWITCH_2 SL
|
||||
#define SWITCHES_GPIO_REG_L
|
||||
#define SWITCHES_GPIO_PIN_L PCA95XX_PIN_1
|
||||
#define SWITCHES_L_CFS_IDX 1
|
||||
#define FUNCTION_SWITCH_3 SM
|
||||
#define SWITCHES_GPIO_REG_M
|
||||
#define SWITCHES_GPIO_PIN_M PCA95XX_PIN_2
|
||||
#define SWITCHES_M_CFS_IDX 2
|
||||
#define FUNCTION_SWITCH_4 SN
|
||||
#define SWITCHES_GPIO_REG_N
|
||||
#define SWITCHES_GPIO_PIN_N PCA95XX_PIN_3
|
||||
#define SWITCHES_N_CFS_IDX 3
|
||||
#define FUNCTION_SWITCH_5 SO
|
||||
#define SWITCHES_GPIO_REG_O
|
||||
#define SWITCHES_GPIO_PIN_O PCA95XX_PIN_4
|
||||
#define SWITCHES_O_CFS_IDX 4
|
||||
#define FUNCTION_SWITCH_6 SP
|
||||
#define SWITCHES_GPIO_REG_P
|
||||
#define SWITCHES_GPIO_PIN_P PCA95XX_PIN_5
|
||||
#define SWITCHES_P_CFS_IDX 5
|
||||
|
||||
// Direct switches
|
||||
|
||||
// Key 1
|
||||
#define STORAGE_SWITCH_G
|
||||
#define HARDWARE_SWITCH_G
|
||||
#define SWITCHES_G_2POS
|
||||
#define SWITCHES_GPIO_REG_G
|
||||
#define SWITCHES_GPIO_PIN_G PCA95XX_PIN_6
|
||||
|
||||
// Key 2
|
||||
#define STORAGE_SWITCH_H
|
||||
#define HARDWARE_SWITCH_H
|
||||
#define SWITCHES_H_2POS
|
||||
#define SWITCHES_GPIO_REG_H
|
||||
#define SWITCHES_GPIO_PIN_H PCA95XX_PIN_7
|
||||
|
||||
|
||||
// Key 3
|
||||
#define STORAGE_SWITCH_I
|
||||
#define HARDWARE_SWITCH_I
|
||||
#define SWITCHES_GPIO_REG_I GPIOI
|
||||
#define SWITCHES_GPIO_PIN_I LL_GPIO_PIN_3 // PI.03
|
||||
|
||||
// Key 4
|
||||
#define STORAGE_SWITCH_J
|
||||
#define HARDWARE_SWITCH_J
|
||||
#define SWITCHES_GPIO_REG_J GPIOI
|
||||
#define SWITCHES_GPIO_PIN_J LL_GPIO_PIN_11 // PI.11
|
||||
|
||||
|
||||
// ADC
|
||||
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_0 // PA.00
|
||||
#define ADC_GPIO_PIN_STICK_LV 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_GPIO_PIN_POT1 LL_GPIO_PIN_6 // PA.06 VRA
|
||||
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_1 // PB.01 VRB
|
||||
#define ADC_GPIO_PIN_SLIDER1 LL_GPIO_PIN_0 // PB.00 VRC/LS
|
||||
#define ADC_GPIO_PIN_SLIDER2 LL_GPIO_PIN_7 // PA.07 VRD/RS
|
||||
|
||||
// If serial gimbals are used, we can reuse the channels
|
||||
#define ADC_GPIO_PIN_EXT1 LL_GPIO_PIN_0 // PA.00 EXT1
|
||||
#define ADC_GPIO_PIN_EXT2 LL_GPIO_PIN_1 // PA.01 EXT2
|
||||
#define ADC_GPIO_PIN_EXT3 LL_GPIO_PIN_2 // PA.02 EXT3
|
||||
#define ADC_GPIO_PIN_EXT4 LL_GPIO_PIN_3 // PA.03 EXT4
|
||||
|
||||
#define ADC_GPIO_PIN_SWA LL_GPIO_PIN_2 // PC.02_C
|
||||
#define ADC_GPIO_PIN_SWB LL_GPIO_PIN_3 // PC.03_C
|
||||
#define ADC_GPIO_PIN_SWC LL_GPIO_PIN_9 // PF.09
|
||||
#define ADC_GPIO_PIN_SWD LL_GPIO_PIN_7 // PF.07
|
||||
#define ADC_GPIO_PIN_SWE LL_GPIO_PIN_8 // PF.08
|
||||
#define ADC_GPIO_PIN_SWF LL_GPIO_PIN_6 // PF.06
|
||||
|
||||
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_1 // PC.01
|
||||
|
||||
#define ADC_GPIOA_PINS \
|
||||
(ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_SLIDER2 | ADC_GPIO_PIN_STICK_LH | \
|
||||
ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_RV)
|
||||
|
||||
#define ADC_GPIOB_PINS (ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_SLIDER1)
|
||||
|
||||
#define ADC_GPIOC_PINS (ADC_GPIO_PIN_SWA | ADC_GPIO_PIN_SWB | ADC_GPIO_PIN_BATT)
|
||||
|
||||
#define ADC_GPIOF_PINS \
|
||||
(ADC_GPIO_PIN_SWC | ADC_GPIO_PIN_SWD | ADC_GPIO_PIN_SWE | ADC_GPIO_PIN_SWF)
|
||||
|
||||
#define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_14 // ADC12_INP14
|
||||
#define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_15 // ADC12_INP15
|
||||
#define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_16 // ADC12_INP16
|
||||
#define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_17 // ADC12_INP17
|
||||
|
||||
// Each ADC cannot map more than 8 channels, otherwise it will cause problems
|
||||
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_3 // ADC12_INP3
|
||||
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_5 // ADC12_INP5
|
||||
#define ADC_CHANNEL_SLIDER1 LL_ADC_CHANNEL_9 // ADC12_INP9
|
||||
#define ADC_CHANNEL_SLIDER2 LL_ADC_CHANNEL_7 // ADC12_INP7
|
||||
|
||||
// Ext inputs: analog gimbal channel re-use
|
||||
#define ADC_CHANNEL_EXT1 LL_ADC_CHANNEL_14 // ADC12_INP14
|
||||
#define ADC_CHANNEL_EXT2 LL_ADC_CHANNEL_15 // ADC12_INP15
|
||||
#define ADC_CHANNEL_EXT3 LL_ADC_CHANNEL_16 // ADC12_INP16
|
||||
#define ADC_CHANNEL_EXT4 LL_ADC_CHANNEL_17 // ADC12_INP17
|
||||
|
||||
// Analog switches
|
||||
#define ADC_CHANNEL_SWA LL_ADC_CHANNEL_0 // ADC3_INP0
|
||||
#define ADC_CHANNEL_SWB LL_ADC_CHANNEL_1 // ADC3_INP1
|
||||
#define ADC_CHANNEL_SWC LL_ADC_CHANNEL_2 // ADC3_INP2
|
||||
#define ADC_CHANNEL_SWD LL_ADC_CHANNEL_3 // ADC3_INP3
|
||||
#define ADC_CHANNEL_SWE LL_ADC_CHANNEL_8 // ADC3_INP8
|
||||
#define ADC_CHANNEL_SWF LL_ADC_CHANNEL_7 // ADC3_INP7
|
||||
|
||||
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_11 // ADC123_INP11
|
||||
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC12_IN16
|
||||
|
||||
#define ADC_MAIN ADC1
|
||||
#define ADC_DMA DMA2
|
||||
#define ADC_DMA_CHANNEL LL_DMAMUX1_REQ_ADC1
|
||||
#define ADC_DMA_STREAM LL_DMA_STREAM_4
|
||||
#define ADC_DMA_STREAM_IRQ DMA2_Stream4_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler DMA2_Stream4_IRQHandler
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_8CYCLES_5
|
||||
|
||||
#define ADC_EXT ADC3
|
||||
#define ADC_EXT_CHANNELS \
|
||||
{ \
|
||||
ADC_CHANNEL_SWA, ADC_CHANNEL_SWB, ADC_CHANNEL_SWC, ADC_CHANNEL_SWD, \
|
||||
ADC_CHANNEL_SWE, ADC_CHANNEL_SWF, ADC_CHANNEL_BATT, ADC_CHANNEL_RTC_BAT \
|
||||
}
|
||||
|
||||
#define ADC_EXT_DMA DMA2
|
||||
#define ADC_EXT_DMA_CHANNEL LL_DMAMUX1_REQ_ADC3
|
||||
#define ADC_EXT_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define ADC_EXT_DMA_STREAM_IRQ DMA2_Stream0_IRQn
|
||||
#define ADC_EXT_DMA_STREAM_IRQHandler DMA2_Stream0_IRQHandler
|
||||
#define ADC_EXT_SAMPTIME LL_ADC_SAMPLINGTIME_8CYCLES_5
|
||||
|
||||
#define ADC_VREF_PREC2 329
|
||||
|
||||
#define ADC_DIRECTION { \
|
||||
0,0,0,0, /* gimbals */ \
|
||||
0,0, /* pots */ \
|
||||
0,0, /* sliders */ \
|
||||
0, /* vbat */ \
|
||||
0, /* rtc_bat */ \
|
||||
0, /* SWA */ \
|
||||
0, /* SWB */ \
|
||||
0, /* SWC */ \
|
||||
0, /* SWD */ \
|
||||
0, /* SWE */ \
|
||||
0 /* SWF */ \
|
||||
}
|
||||
#define ADC_VREF_PREC2 329
|
||||
|
||||
#define USE_EXTI9_5_IRQ // used for I2C port extender interrupt
|
||||
#define EXTI9_5_IRQ_Priority 5
|
||||
|
||||
@@ -49,60 +49,8 @@
|
||||
|
||||
|
||||
// ADC
|
||||
|
||||
#define ADC_VREF_PREC2 1024 // fake
|
||||
|
||||
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_0
|
||||
#define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_2
|
||||
#define ADC_GPIO_PIN_STICK_RV
|
||||
#define ADC_GPIO_PIN_STICK_RH
|
||||
#define ADC_GPIO_PIN_BATT // fake
|
||||
|
||||
// #define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_0 // PA0_C VR1
|
||||
// #define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_1 // PA1_C VR2
|
||||
|
||||
// #define ADC_GPIOA_PINS (ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_POT2)
|
||||
#define ADC_GPIOC_PINS (ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV)
|
||||
|
||||
// Fake gimbal channels
|
||||
#define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_10
|
||||
#define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_12
|
||||
#define ADC_CHANNEL_STICK_RV
|
||||
#define ADC_CHANNEL_STICK_RH
|
||||
#define ADC_CHANNEL_BATT // fake
|
||||
#define ADC_CHANNEL_RTC_BAT // fake
|
||||
|
||||
// #define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_0 // ADC12_INP0
|
||||
// #define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_1 // ADC12_INP1
|
||||
|
||||
#define ADC_MAIN ADC1
|
||||
#define ADC_DMA GPDMA1
|
||||
#define ADC_DMA_CHANNEL LL_GPDMA1_REQUEST_ADC1
|
||||
#define ADC_DMA_STREAM LL_DMA_CHANNEL_0
|
||||
#define ADC_DMA_STREAM_IRQ GPDMA1_Channel0_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler GPDMA1_Channel0_IRQHandler
|
||||
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_92CYCLES_5
|
||||
#define ADC_DIRECTION {0,0,0,0,0,0}
|
||||
|
||||
// Power
|
||||
// #define PWR_SWITCH_GPIO GPIO_PIN(GPIOI, 11) // PI.11
|
||||
// #define PWR_ON_GPIO GPIO_PIN(GPIOI, 14) // PI.14
|
||||
|
||||
// Chargers (USB and wireless)
|
||||
// #define UCHARGER_GPIO GPIO_PIN(GPIOB, 14) // PB.14 input
|
||||
// #define UCHARGER_CHARGE_END_GPIO GPIO_PIN(GPIOB, 13) // PB.13 input
|
||||
// #define UCHARGER_EN_GPIO GPIO_PIN(GPIOG, 3) // PG.03 output
|
||||
|
||||
// #if defined (WIRELESS_CHARGER)
|
||||
// #define WCHARGER_GPIO GPIO_PIN(GPIOI, 9) // PI.09 input
|
||||
// #define WCHARGER_CHARGE_END_GPIO GPIO_PIN(GPIOI, 10) // PI.10 input
|
||||
// #define WCHARGER_EN_GPIO GPIO_PIN(GPIOH, 4) // PH.04 output
|
||||
// #define WCHARGER_I_CONTROL_GPIO GPIO_PIN(GPIOH, 13) // PH.13 output
|
||||
// #endif
|
||||
|
||||
// TODO! Check IOLL1 to PI.01 connectivity!
|
||||
|
||||
// S.Port update connector
|
||||
// #define SPORT_MAX_BAUDRATE 400000
|
||||
// #define SPORT_UPDATE_RCC_AHB1Periph 0
|
||||
|
||||
@@ -63,7 +63,6 @@ elseif(PCB STREQUAL X9D+)
|
||||
set(FLAVOUR x9d+2019)
|
||||
set(CPU_TYPE_FULL STM32F407xE)
|
||||
set(PWR_BUTTON "PRESS" CACHE STRING "Pwr button type (PRESS/SWITCH)")
|
||||
add_definitions(-DRADIO_X9DP2019)
|
||||
add_definitions(-DSOFTWARE_VOLUME -DPWR_BUTTON_${PWR_BUTTON} -DHARDWARE_POWER_MANAGEMENT_UNIT)
|
||||
set(STATUS_LEDS YES)
|
||||
set(PXX2 ON)
|
||||
@@ -113,7 +112,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(MODULE_SIZE_STD YES)
|
||||
set(FLAVOUR t12)
|
||||
set(CPU_TYPE_FULL STM32F205xE)
|
||||
add_definitions(-DRADIO_T12)
|
||||
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
elseif(PCBREV STREQUAL TPRO)
|
||||
@@ -124,7 +122,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(CPU_TYPE_FULL STM32F205xE)
|
||||
set(FUNCTION_SWITCHES ON)
|
||||
add_definitions(-DRADIO_TPRO)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
elseif(PCBREV STREQUAL TPROV2)
|
||||
@@ -135,7 +132,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xE)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(FUNCTION_SWITCHES ON)
|
||||
add_definitions(-DRADIO_TPROV2)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
elseif(PCBREV STREQUAL TPROS)
|
||||
@@ -146,7 +142,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xG)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(USB_CHARGE_LED YES)
|
||||
add_definitions(-DRADIO_TPROS)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
elseif(PCBREV STREQUAL BUMBLEBEE)
|
||||
@@ -158,7 +153,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xG)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(FUNCTION_SWITCHES YES)
|
||||
add_definitions(-DRADIO_BUMBLEBEE)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
set(AUX_SERIAL ON)
|
||||
@@ -171,7 +165,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xG)
|
||||
set(PXX2 ON)
|
||||
set(USB_CHARGE_LED YES)
|
||||
add_definitions(-DRADIO_T14)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
elseif (PCBREV STREQUAL T12MAX)
|
||||
@@ -182,7 +175,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(USB_CHARGE_LED YES)
|
||||
set(CPU_TYPE_FULL STM32F407xG)
|
||||
add_definitions(-DRADIO_T12MAX)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
elseif(PCBREV STREQUAL T20)
|
||||
@@ -194,7 +186,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xE)
|
||||
set(FLYSKY_GIMBAL ON)
|
||||
set(FUNCTION_SWITCHES ON)
|
||||
add_definitions(-DRADIO_T20)
|
||||
add_definitions(-DRADIO_FAMILY_T20)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -208,7 +199,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(FLYSKY_GIMBAL ON)
|
||||
set(PXX2 ON)
|
||||
set(FUNCTION_SWITCHES ON)
|
||||
add_definitions(-DRADIO_T20V2)
|
||||
add_definitions(-DRADIO_FAMILY_T20)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -218,17 +208,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(MODULE_SIZE_SML YES)
|
||||
set(FLAVOUR tlite)
|
||||
set(CPU_TYPE_FULL STM32F205xE)
|
||||
add_definitions(-DRADIO_TLITE)
|
||||
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
elseif(PCBREV STREQUAL TLITEF4)
|
||||
set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module")
|
||||
set(INTERNAL_MODULE_SERIAL YES)
|
||||
set(MODULE_SIZE_SML YES)
|
||||
set(FLAVOUR tlitef4)
|
||||
set(CPU_TYPE_FULL STM32F407xE) # for size report
|
||||
add_definitions(-DRADIO_TLITE)
|
||||
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
|
||||
add_definitions(-DMANUFACTURER_JUMPER)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -238,7 +217,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(MODULE_SIZE_SML YES)
|
||||
set(FLAVOUR lr3pro)
|
||||
set(CPU_TYPE_FULL STM32F205xE)
|
||||
add_definitions(-DRADIO_LR3PRO)
|
||||
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
|
||||
add_definitions(-DMANUFACTURER_BETAFPV)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -251,7 +229,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(BLUETOOTH NO)
|
||||
set(USB_CHARGER YES)
|
||||
add_definitions(-DRADIO_TX12)
|
||||
add_definitions(-DMANUFACTURER_RADIOMASTER)
|
||||
elseif(PCBREV STREQUAL TX12MK2)
|
||||
set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module")
|
||||
@@ -264,7 +241,6 @@ elseif(PCB STREQUAL X7)
|
||||
if (NOT BLUETOOTH)
|
||||
set(AUX_SERIAL ON)
|
||||
endif()
|
||||
add_definitions(-DRADIO_TX12MK2)
|
||||
add_definitions(-DMANUFACTURER_RADIOMASTER)
|
||||
set(PXX2 ON)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -278,7 +254,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(BLUETOOTH NO)
|
||||
set(USB_CHARGER YES)
|
||||
set(HELI NO)
|
||||
add_definitions(-DRADIO_MT12)
|
||||
add_definitions(-DMANUFACTURER_RADIOMASTER)
|
||||
set(PXX2 ON)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -295,7 +270,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xG)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(USB_CHARGER YES)
|
||||
add_definitions(-DRADIO_BOXER)
|
||||
add_definitions(-DMANUFACTURER_RADIOMASTER)
|
||||
set(PXX2 ON)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -312,7 +286,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xG)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(USB_CHARGER YES)
|
||||
add_definitions(-DRADIO_GX12)
|
||||
add_definitions(-DMANUFACTURER_RADIOMASTER)
|
||||
set(PXX2 ON)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -331,7 +304,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xE)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(USB_CHARGER YES)
|
||||
add_definitions(-DRADIO_ZORRO)
|
||||
add_definitions(-DMANUFACTURER_RADIOMASTER)
|
||||
set(PXX2 ON)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -346,7 +318,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xE)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(USB_CHARGER YES)
|
||||
add_definitions(-DRADIO_POCKET)
|
||||
add_definitions(-DMANUFACTURER_RADIOMASTER)
|
||||
set(PXX2 ON)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -364,7 +335,6 @@ elseif(PCB STREQUAL X7)
|
||||
if(RADIOMASTER_RELEASE)
|
||||
set(BIND_KEY YES)
|
||||
endif()
|
||||
add_definitions(-DRADIO_T8)
|
||||
add_definitions(-DMANUFACTURER_RADIOMASTER)
|
||||
elseif(PCBREV STREQUAL COMMANDO8)
|
||||
set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module")
|
||||
@@ -376,7 +346,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(ROTARY_ENCODER NO)
|
||||
set(BLUETOOTH NO)
|
||||
set(USE_RTC_CLOCK NO)
|
||||
add_definitions(-DRADIO_COMMANDO8)
|
||||
add_definitions(-DMUTUALLY_EXCLUSIVE_MODULES)
|
||||
add_definitions(-DMANUFACTURER_IFLIGHT)
|
||||
elseif(PCBREV STREQUAL ACCESS)
|
||||
@@ -385,7 +354,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(MODULE_SIZE_STD YES)
|
||||
set(FLAVOUR x7access)
|
||||
set(CPU_TYPE_FULL STM32F407xE)
|
||||
add_definitions(-DRADIO_X7ACCESS)
|
||||
add_definitions(-DPCBREV=${PCBREV})
|
||||
add_definitions(-DPCBX7ACCESS)
|
||||
add_definitions(-DHARDWARE_POWER_MANAGEMENT_UNIT)
|
||||
@@ -402,7 +370,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xG)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(USB_CHARGER YES)
|
||||
add_definitions(-DRADIO_V12)
|
||||
add_definitions(-DSTM32_SUPPORT_32BIT_TIMERS)
|
||||
set(PXX2 ON)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -418,7 +385,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(CPU_TYPE_FULL STM32F407xG)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(USB_CHARGER YES)
|
||||
add_definitions(-DRADIO_V14)
|
||||
add_definitions(-DSTM32_SUPPORT_32BIT_TIMERS)
|
||||
set(PXX2 ON)
|
||||
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
|
||||
@@ -431,7 +397,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(DEFAULT_INTERNAL_MODULE XJT_PXX1 CACHE STRING "Default internal module")
|
||||
set(FLAVOUR x7)
|
||||
set(CPU_TYPE_FULL STM32F205xE)
|
||||
add_definitions(-DRADIO_X7)
|
||||
set(BLUETOOTH YES)
|
||||
add_definitions(-DBLUETOOTH_PROBE)
|
||||
set(ROTARY_ENCODER YES)
|
||||
|
||||
@@ -110,7 +110,7 @@ enum {
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(ADC_GPIO_PIN_STICK_TH)
|
||||
#if defined(RADIO_MT12)
|
||||
#define SURFACE_RADIO true
|
||||
#endif
|
||||
|
||||
|
||||
+3
-1698
File diff suppressed because it is too large
Load Diff
@@ -62,7 +62,6 @@ add_definitions(-DUSE_CUSTOM_EXTI_IRQ)
|
||||
add_definitions(-DUSB_CHARGER)
|
||||
|
||||
set(FLAVOUR tx15)
|
||||
add_definitions(-DRADIO_TX15)
|
||||
add_definitions(-DMANUFACTURER_RADIOMASTER)
|
||||
|
||||
# defines existing internal modules
|
||||
|
||||
+15
-166
@@ -70,112 +70,6 @@ TIM17: ROTARY_ENCODER_TIMER
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
|
||||
// Keys
|
||||
#define KEYS_GPIO_REG_PAGEDN GPIOA
|
||||
#define KEYS_GPIO_PIN_PAGEDN LL_GPIO_PIN_8 // PA.08
|
||||
#define KEYS_GPIO_REG_PAGEUP GPIOG
|
||||
#define KEYS_GPIO_PIN_PAGEUP LL_GPIO_PIN_7 // PG.07
|
||||
#define KEYS_GPIO_REG_SYS GPIOB
|
||||
#define KEYS_GPIO_PIN_SYS LL_GPIO_PIN_2 // PB.02
|
||||
#define KEYS_GPIO_REG_ENTER GPIOG
|
||||
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_12 // PG.12
|
||||
#define KEYS_GPIO_REG_MDL GPIOE
|
||||
#define KEYS_GPIO_PIN_MDL LL_GPIO_PIN_3 // PE.03
|
||||
#define KEYS_GPIO_REG_EXIT GPIOG
|
||||
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_3 // PG.03
|
||||
#define KEYS_GPIO_REG_TELE GPIOG
|
||||
#define KEYS_GPIO_PIN_TELE LL_GPIO_PIN_2 // PG.02
|
||||
|
||||
// Trims
|
||||
#define TRIMS_GPIO_REG_LHL
|
||||
#define TRIMS_GPIO_PIN_LHL
|
||||
|
||||
#define TRIMS_GPIO_REG_LHR
|
||||
#define TRIMS_GPIO_PIN_LHR
|
||||
|
||||
#define TRIMS_GPIO_REG_LVD
|
||||
#define TRIMS_GPIO_PIN_LVD
|
||||
|
||||
#define TRIMS_GPIO_REG_LVU
|
||||
#define TRIMS_GPIO_PIN_LVU
|
||||
|
||||
#define TRIMS_GPIO_REG_RHL
|
||||
#define TRIMS_GPIO_PIN_RHL
|
||||
|
||||
#define TRIMS_GPIO_REG_RHR
|
||||
#define TRIMS_GPIO_PIN_RHR
|
||||
|
||||
#define TRIMS_GPIO_REG_RVD
|
||||
#define TRIMS_GPIO_PIN_RVD
|
||||
|
||||
#define TRIMS_GPIO_REG_RVU
|
||||
#define TRIMS_GPIO_PIN_RVU
|
||||
|
||||
|
||||
// function switches
|
||||
//SW1
|
||||
#define SWITCHES_GPIO_REG_G
|
||||
#define SWITCHES_GPIO_PIN_G PCA95XX_P0
|
||||
#define SWITCHES_G_CFS_IDX 0
|
||||
#define FUNCTION_SWITCH_1 SG
|
||||
//SW2
|
||||
#define SWITCHES_GPIO_REG_H
|
||||
#define SWITCHES_GPIO_PIN_H PCA95XX_P1
|
||||
#define SWITCHES_H_CFS_IDX 1
|
||||
#define FUNCTION_SWITCH_2 SH
|
||||
//SW3
|
||||
#define SWITCHES_GPIO_REG_I
|
||||
#define SWITCHES_GPIO_PIN_I PCA95XX_P2
|
||||
#define SWITCHES_I_CFS_IDX 2
|
||||
#define FUNCTION_SWITCH_3 SI
|
||||
//SW4
|
||||
#define SWITCHES_GPIO_REG_J
|
||||
#define SWITCHES_GPIO_PIN_J PCA95XX_P3
|
||||
#define SWITCHES_J_CFS_IDX 3
|
||||
#define FUNCTION_SWITCH_4 SJ
|
||||
//SW5
|
||||
#define SWITCHES_GPIO_REG_K
|
||||
#define SWITCHES_GPIO_PIN_K PCA95XX_P4
|
||||
#define SWITCHES_K_CFS_IDX 4
|
||||
#define FUNCTION_SWITCH_5 SK
|
||||
//SW6
|
||||
#define SWITCHES_GPIO_REG_L
|
||||
#define SWITCHES_GPIO_PIN_L PCA95XX_P5
|
||||
#define SWITCHES_L_CFS_IDX 5
|
||||
#define FUNCTION_SWITCH_6 SL
|
||||
|
||||
// Extender Switches
|
||||
#define SWITCHES_A_3POS
|
||||
#define SWITCHES_GPIO_REG_A_H
|
||||
#define SWITCHES_GPIO_PIN_A_H PCA95XX_P15
|
||||
#define SWITCHES_GPIO_REG_A_L
|
||||
#define SWITCHES_GPIO_PIN_A_L PCA95XX_P14
|
||||
#define SWITCHES_B_3POS
|
||||
#define SWITCHES_GPIO_REG_B_H
|
||||
#define SWITCHES_GPIO_PIN_B_H PCA95XX_P13
|
||||
#define SWITCHES_GPIO_REG_B_L
|
||||
#define SWITCHES_GPIO_PIN_B_L PCA95XX_P12
|
||||
#define SWITCHES_C_3POS
|
||||
#define SWITCHES_GPIO_REG_C_H
|
||||
#define SWITCHES_GPIO_PIN_C_H PCA95XX_P11
|
||||
#define SWITCHES_GPIO_REG_C_L
|
||||
#define SWITCHES_GPIO_PIN_C_L PCA95XX_P10
|
||||
#define SWITCHES_D_3POS
|
||||
#define SWITCHES_GPIO_REG_D_H
|
||||
#define SWITCHES_GPIO_PIN_D_H PCA95XX_P7
|
||||
#define SWITCHES_GPIO_REG_D_L
|
||||
#define SWITCHES_GPIO_PIN_D_L PCA95XX_P6
|
||||
#define SWITCHES_E_3POS
|
||||
#define SWITCHES_GPIO_REG_E_H
|
||||
#define SWITCHES_GPIO_PIN_E_H PCA95XX_P17
|
||||
#define SWITCHES_GPIO_REG_E_L
|
||||
#define SWITCHES_GPIO_PIN_E_L PCA95XX_P16
|
||||
#define SWITCHES_F_3POS
|
||||
#define SWITCHES_GPIO_REG_F_H
|
||||
#define SWITCHES_GPIO_PIN_F_H PCA95XX_P4
|
||||
#define SWITCHES_GPIO_REG_F_L
|
||||
#define SWITCHES_GPIO_PIN_F_L PCA95XX_P5
|
||||
|
||||
// Expanders
|
||||
#define IO_INT_GPIO GPIO_PIN(GPIOD, 3)
|
||||
#define IO_RESET_GPIO GPIO_PIN(GPIOG, 10)
|
||||
@@ -185,55 +79,10 @@ TIM17: ROTARY_ENCODER_TIMER
|
||||
#endif
|
||||
|
||||
// ADC
|
||||
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_6 // PA.06
|
||||
#define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_3 // PC.03
|
||||
#define ADC_GPIO_PIN_STICK_RV LL_GPIO_PIN_4 // PC.04
|
||||
#define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_5 // PC.05
|
||||
|
||||
#define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_1 // PC.01 POT1
|
||||
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_1 // PB.01 POT2
|
||||
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_3 // PH.03
|
||||
|
||||
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_LH)
|
||||
#define ADC_GPIOB_PINS (ADC_GPIO_PIN_POT2)
|
||||
#define ADC_GPIOC_PINS (ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_POT1)
|
||||
#define ADC_GPIOH_PINS (ADC_GPIO_PIN_BATT)
|
||||
|
||||
|
||||
#define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_3 // ADC12_INP3
|
||||
#define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_13 // ADC12_INP13
|
||||
#define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_4 // ADC12_INP4
|
||||
#define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_8 // ADC12_INP8
|
||||
|
||||
// Each ADC cannot map more than 8 channels, otherwise it will cause problems
|
||||
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_11 // ADC12_INP11
|
||||
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_5 // ADC12_INP5
|
||||
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_14 // ADC3_INP14
|
||||
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC3_INP17
|
||||
|
||||
#define ADC_MAIN ADC1
|
||||
#define ADC_DMA DMA2
|
||||
#define ADC_DMA_CHANNEL LL_DMAMUX1_REQ_ADC1
|
||||
#define ADC_DMA_STREAM LL_DMA_STREAM_4
|
||||
#define ADC_DMA_STREAM_IRQ DMA2_Stream4_IRQn
|
||||
#define ADC_DMA_STREAM_IRQHandler DMA2_Stream4_IRQHandler
|
||||
#define ADC_SAMPTIME LL_ADC_SAMPLINGTIME_8CYCLES_5
|
||||
|
||||
#define ADC_EXT ADC3
|
||||
#define ADC_EXT_CHANNELS { ADC_CHANNEL_BATT , ADC_CHANNEL_RTC_BAT }
|
||||
#define ADC_EXT_DMA DMA2
|
||||
#define ADC_EXT_DMA_CHANNEL LL_DMAMUX1_REQ_ADC3
|
||||
#define ADC_EXT_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define ADC_EXT_DMA_STREAM_IRQ DMA2_Stream0_IRQn
|
||||
#define ADC_EXT_DMA_STREAM_IRQHandler DMA2_Stream0_IRQHandler
|
||||
#define ADC_EXT_SAMPTIME LL_ADC_SAMPLINGTIME_8CYCLES_5
|
||||
|
||||
#define ADC_VREF_PREC2 330
|
||||
|
||||
#define ADC_DIRECTION { \
|
||||
0,-1,0,-1, /* gimbals */ \
|
||||
-1,-1 /* pots */ \
|
||||
}
|
||||
// Serial gimbal sync port
|
||||
#define HALL_SYNC GPIO_PIN(GPIOH, 11)
|
||||
|
||||
#define USE_EXTI9_5_IRQ // used for I2C port extender interrupt
|
||||
#define EXTI9_5_IRQ_Priority 5
|
||||
@@ -252,19 +101,19 @@ TIM17: ROTARY_ENCODER_TIMER
|
||||
#define HAS_SPORT_UPDATE_CONNECTOR() (false)
|
||||
|
||||
// Telemetry
|
||||
#define TELEMETRY_SET_INPUT 0
|
||||
#define TELEMETRY_TX_GPIO GPIO_PIN(GPIOA, 9)
|
||||
#define TELEMETRY_RX_GPIO GPIO_UNDEF
|
||||
#define TELEMETRY_USART USART1
|
||||
#define TELEMETRY_USART_IRQn USART1_IRQn
|
||||
#define TELEMETRY_DMA DMA1
|
||||
#define TELEMETRY_DMA_Stream_TX LL_DMA_STREAM_7
|
||||
#define TELEMETRY_DMA_Channel_TX LL_DMAMUX1_REQ_USART1_TX
|
||||
#define TELEMETRY_DMA_TX_Stream_IRQ DMA1_Stream7_IRQn
|
||||
#define TELEMETRY_DMA_TX_IRQHandler DMA1_Stream7_IRQHandler
|
||||
#define TELEMETRY_DMA_Stream_RX LL_DMA_STREAM_3
|
||||
#define TELEMETRY_DMA_Channel_RX LL_DMAMUX1_REQ_USART1_RX
|
||||
#define TELEMETRY_USART_IRQHandler USART1_IRQHandler
|
||||
#define TELEMETRY_SET_INPUT 0
|
||||
#define TELEMETRY_TX_GPIO GPIO_PIN(GPIOA, 9)
|
||||
#define TELEMETRY_RX_GPIO GPIO_UNDEF
|
||||
#define TELEMETRY_USART USART1
|
||||
#define TELEMETRY_USART_IRQn USART1_IRQn
|
||||
#define TELEMETRY_DMA DMA1
|
||||
#define TELEMETRY_DMA_Stream_TX LL_DMA_STREAM_7
|
||||
#define TELEMETRY_DMA_Channel_TX LL_DMAMUX1_REQ_USART1_TX
|
||||
#define TELEMETRY_DMA_TX_Stream_IRQ DMA1_Stream7_IRQn
|
||||
#define TELEMETRY_DMA_TX_IRQHandler DMA1_Stream7_IRQHandler
|
||||
#define TELEMETRY_DMA_Stream_RX LL_DMA_STREAM_3
|
||||
#define TELEMETRY_DMA_Channel_RX LL_DMAMUX1_REQ_USART1_RX
|
||||
#define TELEMETRY_USART_IRQHandler USART1_IRQHandler
|
||||
|
||||
// Software IRQ (Prio 5 -> FreeRTOS compatible)
|
||||
#define TELEMETRY_USE_CUSTOM_EXTI
|
||||
|
||||
@@ -1,43 +1,18 @@
|
||||
# Hardware Definitions
|
||||
|
||||
The Python scripts in this directory are responsible for 2 different tasks:
|
||||
- generating a JSON definition file for each target,
|
||||
- and generating different include files used to describe the hardware to the software.
|
||||
The Python scripts in this directory are responsible for generating different
|
||||
include files used to describe the hardware to the software.
|
||||
|
||||
While the exact format is still moving, the goal of this file is to replace the various
|
||||
hardware definitions used in EdgeTx at various places and offer a simpler way to define
|
||||
new targets.
|
||||
## Data model
|
||||
|
||||
At the end of the process, the JSON definition will be the *master copy* used by:
|
||||
- radio firmware,
|
||||
- radio simlator,
|
||||
- and Companion.
|
||||
The data model supported is described `models.py`. A script
|
||||
(`json_validator.py`) is available that validates the JSON files based on this
|
||||
model.
|
||||
|
||||
## JSON Definition
|
||||
## Code generator
|
||||
|
||||
Currently, the JSON definition file is still generated during the build process using
|
||||
the target's `hal.h` and various Python scripts:
|
||||
The various include files are generated based on Jinja2 templates and `generator.py`
|
||||
provided with a JSON target definition.
|
||||
|
||||
- `generate_hw_def.py`: command line to generate JSON file as well as process
|
||||
the JSON file into include files.
|
||||
|
||||
- `hal_json.py`: reads the `#define ...` definitions coming from `hal.h` into a dictionary (AVPs).
|
||||
|
||||
- `hal_adc.py`: parse ADC definitions and related analog inputs.
|
||||
|
||||
- `legacy_names.py`: hard-coded definitions providing additional information not present in `hal.h`
|
||||
related to analog inputs (by target; mostly names and labels).
|
||||
|
||||
- `pot_config.py`: provides default configuration of pots and sliders for each target.
|
||||
|
||||
- `hal_keys.py`: parse keys & trims.
|
||||
|
||||
- `hal_switches.py`: parse switches.
|
||||
|
||||
- `switch_config.py`: default switch configuration (all targets) as well as display positions
|
||||
(only `stdlcd` targets).
|
||||
|
||||
Once the format is stable enough and does not require editing each target separately
|
||||
to add or rename each attribute, the JSON definition for each target will be generated
|
||||
and added to version control. Then the Python scripts will obsoleted and removed. The
|
||||
target's `hal.h` should be cleaned-up as well with the definitions present in JSON removed.
|
||||
`legacy_names.py` contains some hard-coded definitions providing additional
|
||||
information related to analog inputs (by target; mostly names and labels).
|
||||
|
||||
@@ -1,101 +1,77 @@
|
||||
|
||||
import json
|
||||
import jinja2
|
||||
|
||||
import legacy_names
|
||||
import json_index
|
||||
|
||||
from models import KeyEnum
|
||||
|
||||
MAIN_CONTROL_LUT = {
|
||||
# 2 Gimbal radios
|
||||
"LH": { "str": "Rud", "local": "STR_STICK_NAMES0" },
|
||||
"LV": { "str": "Ele", "local": "STR_STICK_NAMES1" },
|
||||
"RV": { "str": "Thr", "local": "STR_STICK_NAMES2" },
|
||||
"RH": { "str": "Ail", "local": "STR_STICK_NAMES3" },
|
||||
"LH": {"str": "Rud", "local": "STR_STICK_NAMES0"},
|
||||
"LV": {"str": "Ele", "local": "STR_STICK_NAMES1"},
|
||||
"RV": {"str": "Thr", "local": "STR_STICK_NAMES2"},
|
||||
"RH": {"str": "Ail", "local": "STR_STICK_NAMES3"},
|
||||
# Surface radios
|
||||
"ST": { "str": "ST", "local": "STR_SURFACE_NAMES0" },
|
||||
"TH": { "str": "TH", "local": "STR_SURFACE_NAMES1" },
|
||||
"ST": {"str": "ST", "local": "STR_SURFACE_NAMES0"},
|
||||
"TH": {"str": "TH", "local": "STR_SURFACE_NAMES1"},
|
||||
}
|
||||
|
||||
# MUST be the same order as 'EnumKeys'
|
||||
KEYS_LUT = [
|
||||
"KEY_MENU",
|
||||
"KEY_EXIT",
|
||||
"KEY_ENTER",
|
||||
|
||||
"KEY_PAGEUP",
|
||||
"KEY_PAGEDN",
|
||||
|
||||
"KEY_UP",
|
||||
"KEY_DOWN",
|
||||
|
||||
"KEY_LEFT",
|
||||
"KEY_RIGHT",
|
||||
|
||||
"KEY_PLUS",
|
||||
"KEY_MINUS",
|
||||
|
||||
"KEY_MODEL",
|
||||
"KEY_TELE",
|
||||
"KEY_SYS",
|
||||
|
||||
"KEY_SHIFT",
|
||||
"KEY_BIND",
|
||||
]
|
||||
|
||||
# def eprint(*args, **kwargs):
|
||||
# from sys import stderr
|
||||
# print(*args, file=stderr, **kwargs)
|
||||
|
||||
def is_ext_input(input):
|
||||
|
||||
if input.get('type') != 'FLEX':
|
||||
def is_ext_input(input):
|
||||
if input.get("type") != "FLEX":
|
||||
return False
|
||||
|
||||
name = input.get('name')
|
||||
if name and name.startswith('EXT'):
|
||||
name = input.get("name")
|
||||
if name and name.startswith("EXT"):
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
def generate_from_template(json_filename, template_filename, target):
|
||||
|
||||
with open(json_filename) as json_file:
|
||||
with open(template_filename) as template_file:
|
||||
|
||||
root_obj = json.load(json_file)
|
||||
|
||||
adc_inputs = root_obj.get('adc_inputs')
|
||||
adc_inputs = root_obj.get("adc_inputs")
|
||||
adc_index = json_index.build_adc_index(adc_inputs)
|
||||
adc_gpios = json_index.build_adc_gpio_port_index(adc_inputs)
|
||||
|
||||
switches = root_obj.get('switches')
|
||||
switches = root_obj.get("switches")
|
||||
switch_gpios = json_index.build_switch_gpio_port_index(switches)
|
||||
|
||||
keys = root_obj.get('keys')
|
||||
keys = root_obj.get("keys")
|
||||
key_gpios = json_index.build_key_gpio_port_index(keys)
|
||||
|
||||
trims = root_obj.get('trims')
|
||||
trims = root_obj.get("trims")
|
||||
trim_gpios = json_index.build_trim_gpio_port_index(trims)
|
||||
|
||||
legacy_inputs = legacy_names.inputs_by_target(target)
|
||||
|
||||
env = jinja2.Environment(
|
||||
lstrip_blocks=True,
|
||||
trim_blocks=True
|
||||
)
|
||||
|
||||
env.tests['ext_input'] = is_ext_input
|
||||
legacy_inputs = legacy_names.inputs_by_target(target)
|
||||
|
||||
env = jinja2.Environment(lstrip_blocks=True, trim_blocks=True)
|
||||
|
||||
env.tests["ext_input"] = is_ext_input
|
||||
|
||||
template_str = template_file.read()
|
||||
template = env.from_string(template_str)
|
||||
|
||||
print(template.render(root_obj,
|
||||
adc_index=adc_index,
|
||||
adc_gpios=adc_gpios,
|
||||
switch_gpios=switch_gpios,
|
||||
key_gpios=key_gpios,
|
||||
trim_gpios=trim_gpios,
|
||||
legacy_inputs=legacy_inputs,
|
||||
main_labels=MAIN_CONTROL_LUT,
|
||||
key_index=KEYS_LUT))
|
||||
key_index = list([str(i) for i in KeyEnum])
|
||||
|
||||
print(
|
||||
template.render(
|
||||
root_obj,
|
||||
adc_index=adc_index,
|
||||
adc_gpios=adc_gpios,
|
||||
switch_gpios=switch_gpios,
|
||||
key_gpios=key_gpios,
|
||||
trim_gpios=trim_gpios,
|
||||
legacy_inputs=legacy_inputs,
|
||||
main_labels=MAIN_CONTROL_LUT,
|
||||
key_index=key_index,
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1,291 +0,0 @@
|
||||
from pot_config import pot_cfg_by_target
|
||||
|
||||
MAX_POTS = 4
|
||||
MAX_SLIDERS = 4
|
||||
MAX_EXTS = 4
|
||||
MAX_RAWS = 4
|
||||
|
||||
|
||||
def eprint(*args, **kwargs):
|
||||
from sys import stderr
|
||||
print(*args, file=stderr, **kwargs)
|
||||
|
||||
class ADCInput:
|
||||
|
||||
TYPE_STICK = 'STICK'
|
||||
TYPE_FLEX = 'FLEX'
|
||||
TYPE_SWITCH = 'SWITCH'
|
||||
TYPE_RAW = 'RAW'
|
||||
# TYPE_BATT = 'BATT'
|
||||
|
||||
def __init__(self, name, adc_input_type, adc, gpio, pin, channel):
|
||||
self.name = name
|
||||
self.type = adc_input_type
|
||||
self.adc = adc
|
||||
self.gpio = gpio
|
||||
self.pin = pin
|
||||
self.channel = channel
|
||||
|
||||
class SPI_ADCInput:
|
||||
|
||||
def __init__(self, name, adc_input_type, channel):
|
||||
self.name = name
|
||||
self.type = adc_input_type
|
||||
self.adc = 'SPI'
|
||||
self.channel = channel
|
||||
|
||||
class ADC:
|
||||
def __init__(self, name, adc):
|
||||
self.name = name
|
||||
self.adc = adc
|
||||
|
||||
class MouseName:
|
||||
AXIS = ['x','y']
|
||||
def format(self, idx):
|
||||
axis = self.AXIS[idx - 1]
|
||||
return f'JS{axis}'
|
||||
|
||||
def AZ_seq():
|
||||
return [chr(i) for i in range(ord('A'), ord('Z') + 1)]
|
||||
|
||||
class ADCInputParser:
|
||||
|
||||
ADC_MAIN = 'MAIN'
|
||||
ADC_EXT = 'EXT'
|
||||
|
||||
ADC_INPUTS = [
|
||||
{
|
||||
'range': ['LH','LV','RV','RH','ST','TH'],
|
||||
'type': ADCInput.TYPE_STICK,
|
||||
'suffix': 'STICK_{}',
|
||||
'name': '{}',
|
||||
},
|
||||
{
|
||||
'range': range(1, MAX_POTS + 1),
|
||||
'type': ADCInput.TYPE_FLEX,
|
||||
'suffix': 'POT{}',
|
||||
'name': 'P{}',
|
||||
},
|
||||
{
|
||||
'range': range(1, MAX_SLIDERS + 1),
|
||||
'type': ADCInput.TYPE_FLEX,
|
||||
'suffix': 'SLIDER{}',
|
||||
'name': 'SL{}',
|
||||
},
|
||||
{
|
||||
'range': range(1, MAX_EXTS + 1),
|
||||
'type': ADCInput.TYPE_FLEX,
|
||||
'suffix': 'EXT{}',
|
||||
'name': 'EXT{}',
|
||||
},
|
||||
{
|
||||
'range': range(1, MAX_RAWS + 1),
|
||||
'type': ADCInput.TYPE_RAW,
|
||||
'suffix': 'RAW{}',
|
||||
'name': 'RAW{}',
|
||||
},
|
||||
{
|
||||
'range': range(1, 2 + 1),
|
||||
'type': ADCInput.TYPE_FLEX,
|
||||
'suffix': 'MOUSE{}',
|
||||
'name': MouseName(),
|
||||
},
|
||||
{
|
||||
'type': 'VBAT',
|
||||
'name': 'VBAT',
|
||||
'suffix': 'BATT',
|
||||
},
|
||||
{
|
||||
'type': 'RTC_BAT',
|
||||
'name': 'RTC_BAT',
|
||||
'suffix': 'RTC_BAT',
|
||||
},
|
||||
{
|
||||
'type': 'LUX',
|
||||
'name': 'LUX',
|
||||
'suffix': 'LUX',
|
||||
},
|
||||
{
|
||||
'range': AZ_seq(),
|
||||
'type': ADCInput.TYPE_SWITCH,
|
||||
'suffix': 'SW{}',
|
||||
'name': 'SW{}',
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def __init__(self, target, hw_defs, labels):
|
||||
self.target = target
|
||||
self.hw_defs = hw_defs
|
||||
self.labels = labels
|
||||
self.regs = self._parse_regs()
|
||||
self.dirs = self._parse_dirs()
|
||||
self.adcs = []
|
||||
|
||||
def _parse_regs(self):
|
||||
|
||||
regs = {}
|
||||
for reg in AZ_seq():
|
||||
reg = f'GPIO{reg}'
|
||||
pins_def = f'ADC_{reg}_PINS'
|
||||
if pins_def in self.hw_defs:
|
||||
regs[reg] = self.hw_defs[pins_def]
|
||||
|
||||
return regs
|
||||
|
||||
def _parse_dirs(self):
|
||||
|
||||
ret = []
|
||||
dirs = self.hw_defs.get('ADC_DIRECTION') or ''
|
||||
if dirs:
|
||||
dirs = dirs.strip('{} ').split(',')
|
||||
# eprint(dirs)
|
||||
for i in dirs:
|
||||
ret.append(int(i))
|
||||
|
||||
return ret
|
||||
|
||||
def _find_adc(self, channel_def):
|
||||
|
||||
if (self.ext_list is None) or (channel_def not in self.ext_list):
|
||||
return self.ADC_MAIN
|
||||
else:
|
||||
return self.ADC_EXT
|
||||
|
||||
def _find_gpio(self, pin):
|
||||
gpio = None
|
||||
for reg, pins_def in self.regs.items():
|
||||
if pins_def and (pin in pins_def):
|
||||
gpio = reg
|
||||
|
||||
return gpio
|
||||
|
||||
|
||||
def _parse_adc(self, name, periph, prefix):
|
||||
|
||||
adc_periph = self.hw_defs.get(periph)
|
||||
if not adc_periph:
|
||||
return None
|
||||
|
||||
adc = ADC(name, adc_periph)
|
||||
adc.dma = self.hw_defs.get(f'{prefix}_DMA')
|
||||
if adc.dma:
|
||||
adc.dma_channel = self.hw_defs[f'{prefix}_DMA_CHANNEL']
|
||||
adc.dma_stream = self.hw_defs[f'{prefix}_DMA_STREAM']
|
||||
adc.dma_stream_irq = self.hw_defs[f'{prefix}_DMA_STREAM_IRQ']
|
||||
adc.dma_stream_irq_handler = self.hw_defs[f'{prefix}_DMA_STREAM_IRQHandler']
|
||||
|
||||
adc.sample_time = self.hw_defs[f'{prefix}_SAMPTIME']
|
||||
return adc
|
||||
|
||||
def _parse_adcs(self):
|
||||
|
||||
adcs = []
|
||||
|
||||
adc_spi = self.hw_defs.get('ADC_SPI')
|
||||
if adc_spi:
|
||||
#eprint('## Found SPI ADC')
|
||||
adc = ADC('SPI', adc_spi)
|
||||
adc.gpio_pin_miso = self.hw_defs['ADC_SPI_GPIO_PIN_MISO']
|
||||
adc.gpio_pin_mosi = self.hw_defs['ADC_SPI_GPIO_PIN_MOSI']
|
||||
adc.gpio_pin_sck = self.hw_defs['ADC_SPI_GPIO_PIN_SCK']
|
||||
adc.gpio_pin_cs = self.hw_defs['ADC_SPI_GPIO_PIN_CS']
|
||||
adcs.append(adc)
|
||||
|
||||
adc_main = self._parse_adc('MAIN', 'ADC_MAIN', 'ADC')
|
||||
if adc_main:
|
||||
adcs.append(adc_main)
|
||||
|
||||
self.ext_list = None
|
||||
adc_ext = self._parse_adc('EXT', 'ADC_EXT', 'ADC_EXT')
|
||||
if adc_ext:
|
||||
self.ext_list = self.hw_defs['ADC_EXT_CHANNELS']
|
||||
adcs.append(adc_ext)
|
||||
|
||||
return adcs
|
||||
|
||||
def _parse_input_type(self, input_type, name, suffix):
|
||||
|
||||
gpio = None
|
||||
pin = None
|
||||
d = 1 # non-inverted
|
||||
|
||||
# search for SPI input first
|
||||
spi_def = f'ADC_SPI_{suffix}'
|
||||
if spi_def in self.hw_defs:
|
||||
#eprint('## Found SPI ADC Input:', spi_def)
|
||||
channel = self.hw_defs[spi_def]
|
||||
return SPI_ADCInput(name, input_type, channel)
|
||||
|
||||
if name != 'RTC_BAT':
|
||||
pin_def = f'ADC_GPIO_PIN_{suffix}'
|
||||
pin = self.hw_defs[pin_def]
|
||||
gpio = self._find_gpio(pin_def)
|
||||
|
||||
# check if 'pin' is maybe an alias
|
||||
alias = self.hw_defs.get(pin)
|
||||
if alias is not None:
|
||||
alias_gpio = self._find_gpio(pin)
|
||||
gpio = alias_gpio if alias_gpio else gpio
|
||||
pin = alias
|
||||
|
||||
channel_def = f'ADC_CHANNEL_{suffix}'
|
||||
channel = self.hw_defs[channel_def]
|
||||
adc = self._find_adc(channel_def)
|
||||
|
||||
return ADCInput(name, input_type, adc, gpio, pin, channel)
|
||||
|
||||
def _add_input(self, adc_input):
|
||||
if adc_input is not None:
|
||||
idx = len(self.inputs)
|
||||
if adc_input.type == 'STICK':
|
||||
if 'PWM_STICKS' in self.hw_defs:
|
||||
ch = self.hw_defs.get(f'STICK_PWM_CHANNEL_{adc_input.name}')
|
||||
adc_input.pwm_channel = idx if ch is None else ch
|
||||
if adc_input.type != 'VBAT' and adc_input.type != 'RTC_BAT' and adc_input.type != 'LUX':
|
||||
d = self.dirs[idx]
|
||||
if d < 0:
|
||||
adc_input.inverted = True
|
||||
if adc_input.type == 'FLEX':
|
||||
input_labels = self.labels[adc_input.name]
|
||||
adc_input.label = input_labels.get('label')
|
||||
adc_input.short_label = input_labels.get('short_label')
|
||||
cfg = pot_cfg_by_target(self.target,adc_input.name)
|
||||
if cfg:
|
||||
adc_input.default = cfg.get('default')
|
||||
|
||||
self.inputs.append(adc_input)
|
||||
|
||||
def parse_inputs(self):
|
||||
|
||||
self.adcs = self._parse_adcs()
|
||||
self.inputs = []
|
||||
|
||||
for adc_input in self.ADC_INPUTS:
|
||||
input_type = adc_input['type']
|
||||
input_range = adc_input.get('range')
|
||||
|
||||
if input_range is not None:
|
||||
for i in input_range:
|
||||
name = adc_input['name'].format(i)
|
||||
suffix = adc_input['suffix'].format(i)
|
||||
try:
|
||||
self._add_input(self._parse_input_type(input_type, name, suffix))
|
||||
except KeyError:
|
||||
pass
|
||||
else:
|
||||
# type, name, suffix
|
||||
name = adc_input['name']
|
||||
suffix = adc_input['suffix']
|
||||
try:
|
||||
self._add_input(self._parse_input_type(input_type, name, suffix))
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
return { 'adcs': self.adcs, 'inputs': self.inputs }
|
||||
|
||||
def find_input(self, name):
|
||||
for adc_input in self.inputs:
|
||||
if adc_input.name == name:
|
||||
return adc_input
|
||||
return None
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user