chore(radio): remove hardware definitions present in JSON (#6437)

Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
This commit is contained in:
Raphael Coeffic
2026-03-14 20:36:37 +10:00
committed by GitHub
co-authored by philmoz
parent 2ca8e3e7b6
commit df981597c6
114 changed files with 20023 additions and 5277 deletions
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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
+2 -18
View File
@@ -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)
+8 -3
View File
@@ -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
+331
View File
@@ -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
}
}
+400
View File
@@ -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
}
}
+280
View File
@@ -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
}
}
+345
View File
@@ -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
}
}
+439
View File
@@ -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
}
}
+441
View File
@@ -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
}
}
+260
View File
@@ -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
}
}
+309
View File
@@ -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
}
}
+172
View File
@@ -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
}
}
+345
View File
@@ -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
}
}
+308
View File
@@ -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
}
}
+316
View File
@@ -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
}
}
+360
View File
@@ -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
}
}
+331
View File
@@ -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
}
}
+294
View File
@@ -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
}
}
+408
View File
@@ -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
}
}
+336
View File
@@ -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
}
}
+294
View File
@@ -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
}
}
+294
View File
@@ -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
}
}
+374
View File
@@ -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
}
}
+378
View File
@@ -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
}
}
+453
View File
@@ -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
}
}
+455
View File
@@ -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
}
}
+533
View File
@@ -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
}
}
+533
View File
@@ -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
}
}
+276
View File
@@ -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
}
}
+260
View File
@@ -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
}
}
+366
View File
@@ -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
}
}
+294
View File
@@ -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
}
}
+394
View File
@@ -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
}
}
+346
View File
@@ -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
}
}
+323
View File
@@ -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
}
}
+348
View File
@@ -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
}
}
+461
View File
@@ -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
}
}
+462
View File
@@ -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
}
}
+357
View File
@@ -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
}
}
+357
View File
@@ -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
}
}
+459
View File
@@ -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
}
}
+459
View File
@@ -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
}
}
+459
View File
@@ -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
}
}
+452
View File
@@ -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
}
}
+326
View File
@@ -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
}
}
+312
View File
@@ -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
}
}
+379
View File
@@ -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
}
}
+367
View File
@@ -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
}
}
+368
View File
@@ -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
}
}
+571
View File
@@ -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
}
}
+271
View File
@@ -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
}
}
+299
View File
@@ -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
}
}
+277
View File
@@ -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
}
}
+305
View File
@@ -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
}
}
+347
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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
+2 -2
View File
@@ -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;
+7 -27
View File
@@ -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();
+10 -10
View File
@@ -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)
+1
View File
@@ -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)();
+5
View File
@@ -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
View File
@@ -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;
}
+9 -5
View File
@@ -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)
+2 -2
View File
@@ -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;
+2
View File
@@ -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);
-8
View File
@@ -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)
+3 -518
View File
@@ -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)
-1
View File
@@ -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")
-164
View File
@@ -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
+2
View File
@@ -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
+13 -6
View File
@@ -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
+1 -1
View File
@@ -181,7 +181,7 @@ void boardBLPreJump()
{
SDRAM_Init();
#if defined(RADIO_NB4P)
LL_ADC_Disable(ADC_MAIN);
_adc_driver.deinit();
#endif
}
+2 -2
View File
@@ -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
-407
View File
@@ -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
+31 -68
View File
@@ -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;
}
}
+3 -3
View File
@@ -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)
+9 -15
View File
@@ -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); });
-1
View File
@@ -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")
+1 -192
View File
@@ -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
-52
View File
@@ -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
-35
View File
@@ -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)
+1 -1
View File
@@ -110,7 +110,7 @@ enum {
#endif
#if defined(ADC_GPIO_PIN_STICK_TH)
#if defined(RADIO_MT12)
#define SURFACE_RADIO true
#endif
File diff suppressed because it is too large Load Diff
-1
View File
@@ -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
View File
@@ -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
+11 -36
View File
@@ -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).
+36 -60
View File
@@ -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,
)
)
-291
View File
@@ -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