chore: cleanup some hal.h entries in favor of JSON (#7722)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Peter Feerick <5500713+pfeerick@users.noreply.github.com>
This commit is contained in:
3djc
2026-08-30 10:06:59 +10:00
committed by GitHub
co-authored by Claude Sonnet 5 Peter Feerick
parent 90bbce1763
commit db18294f78
12 changed files with 23 additions and 540 deletions
+4 -3
View File
@@ -132,6 +132,7 @@ set(HW_DESC_JSON ${FLAVOUR}.json)
# Generate files from radio JSON
AddHWGenTarget(${HW_DESC_JSON} hal_settings hal_settings.h)
AddHWGenTarget(${HW_DESC_JSON} hal_pwm_sticks hal_pwm_sticks.h)
AddHWGenTarget(${HW_DESC_JSON} hal_keys hal_keys.inc)
AddHWGenTarget(${HW_DESC_JSON} hal_adc_inputs hal_adc_inputs.inc)
@@ -152,8 +153,8 @@ AddHWGenTarget(${HW_DESC_JSON} simu_switches simu_switches.inc)
AddHWGenTarget(${HW_DESC_JSON} hal_keys_lock hal_keys_lock.h)
add_dependencies(board hal_settings hal_keys hal_keys_lock hal_adc_inputs stm32_keys stm32_switches stm32_adc_inputs stm32_pwm_inputs yaml_inputs lua_inputs lua_mixsrc lua_keys)
add_dependencies(board_bl hal_settings hal_keys stm32_keys)
add_dependencies(board hal_settings hal_pwm_sticks hal_keys hal_keys_lock hal_adc_inputs stm32_keys stm32_switches stm32_adc_inputs stm32_pwm_inputs yaml_inputs lua_inputs lua_mixsrc lua_keys)
add_dependencies(board_bl hal_settings hal_pwm_sticks hal_keys stm32_keys)
include(hal/CMakeLists.txt)
@@ -607,7 +608,7 @@ if(NATIVE_BUILD)
os/timer_native.cpp
)
add_dependencies(radiolib_native ${RADIO_DEPENDENCIES}
hal_settings hal_keys hal_keys_lock hal_adc_inputs
hal_settings hal_pwm_sticks hal_keys hal_keys_lock hal_adc_inputs
yaml_inputs lua_inputs lua_mixsrc lua_keys)
set_property(TARGET radiolib_native PROPERTY POSITION_INDEPENDENT_CODE ON)
@@ -23,10 +23,10 @@ set(BOARD_LIB_SRC
)
add_library(minimal_board_lib OBJECT EXCLUDE_FROM_ALL ${MINIMAL_BOARD_LIB_SRC})
add_dependencies(minimal_board_lib stm32_keys hal_settings hal_keys_lock)
add_dependencies(minimal_board_lib stm32_keys hal_settings hal_pwm_sticks hal_keys_lock)
add_library(board_lib OBJECT EXCLUDE_FROM_ALL ${BOARD_LIB_SRC})
add_dependencies(board_lib minimal_board_lib stm32_adc_inputs stm32_switches hal_adc_inputs)
add_dependencies(board_lib minimal_board_lib stm32_adc_inputs stm32_switches stm32_pwm_inputs hal_adc_inputs)
if(DEBUG)
target_compile_definitions(board_lib PRIVATE DEBUG)
+1 -1
View File
@@ -108,4 +108,4 @@ add_custom_target(yaml_data
${RADIO_DIRECTORY}/util/generate_yaml.py
)
add_dependencies(yaml_data hal_settings hal_keys_lock)
add_dependencies(yaml_data hal_settings hal_pwm_sticks hal_keys_lock)
+1 -131
View File
@@ -22,6 +22,7 @@
#pragma once
#include "hal_settings.h"
#include "hal_pwm_sticks.h"
/*
@@ -57,26 +58,6 @@ UART5: TELEMETRY_USART
*/
#define KEYS_GPIO_REG_ENTER GPIOC
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_5
#define KEYS_GPIO_REG_PAGEDN GPIOA
#define KEYS_GPIO_PIN_PAGEDN LL_GPIO_PIN_8
#define KEYS_GPIO_REG_EXIT GPIOG
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_14
#define KEYS_GPIO_REG_SYS GPIOC
#define KEYS_GPIO_PIN_SYS LL_GPIO_PIN_4
#define KEYS_GPIO_REG_PAGEUP GPIOC
#define KEYS_GPIO_PIN_PAGEUP LL_GPIO_PIN_13
#define KEYS_GPIO_REG_MDL GPIOA
#define KEYS_GPIO_PIN_MDL LL_GPIO_PIN_10
#define KEYS_GPIO_REG_UP GPIOG
#define KEYS_GPIO_PIN_UP LL_GPIO_PIN_2
#define KEYS_GPIO_REG_DOWN GPIOG
#define KEYS_GPIO_PIN_DOWN LL_GPIO_PIN_3
// Rotary encoder simulated via KEY_UP (PG.02) and KEY_DOWN (PG.03) buttons
#define ROTARY_ENCODER_NAVIGATION
#define ROTARY_ENCODER_GPIO GPIOG
@@ -86,111 +67,6 @@ UART5: TELEMETRY_USART
#define ROTARY_ENCODER_TIMER_IRQn TIM17_IRQn
#define ROTARY_ENCODER_TIMER_IRQHandler TIM17_IRQHandler
// Direct switches
#define SWITCHES_GPIO_REG_E GPIOF
#define SWITCHES_GPIO_PIN_E LL_GPIO_PIN_8
#define SWITCHES_GPIO_REG_F GPIOF
#define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_6
// 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 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_3 // PA.03
#define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_2 // PA.02
#define ADC_GPIO_PIN_SWA LL_GPIO_PIN_2 // PC.02
#define ADC_GPIO_PIN_SWB LL_GPIO_PIN_3 // PC.03
#define ADC_GPIO_PIN_SWC LL_GPIO_PIN_9 // PF.09
#define ADC_GPIO_PIN_SWD LL_GPIO_PIN_7 // PF.07
//S1,S2
#define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_6 // PA.06 VRA
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_1 // PB.01 VRB
//LS,LR
#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
#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 )
#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
// 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_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_SWA, ADC_CHANNEL_SWB, ADC_CHANNEL_SWC, ADC_CHANNEL_SWD, \
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_64CYCLES_5
#define ADC_VREF_PREC2 329
#define PWM_STICKS
@@ -201,12 +77,6 @@ UART5: TELEMETRY_USART
#define PWM_IRQHandler TIM5_IRQHandler
#define PWM_IRQn TIM5_IRQn
#define PWM_GPIOA_PINS (ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV)
#define STICK_PWM_CHANNEL_LH 0
#define STICK_PWM_CHANNEL_LV 1
#define STICK_PWM_CHANNEL_RV 2
#define STICK_PWM_CHANNEL_RH 3
#define USE_EXTI9_5_IRQ // used for I2C port extender interrupt
#define EXTI9_5_IRQ_Priority 5
@@ -128,7 +128,7 @@ if(NOT NATIVE_BUILD)
${STM32_DRIVER_DIR}/stm32_i2c_driver.cpp
)
add_dependencies(stm32_drivers hal_settings)
add_dependencies(stm32_drivers hal_settings hal_pwm_sticks)
set(FIRMWARE_SRC ${FIRMWARE_SRC} $<TARGET_OBJECTS:stm32_drivers>)
set(FIRMWARE_SRC ${FIRMWARE_SRC} $<TARGET_OBJECTS:stm32_drivers_w_dbg_fw>)
-192
View File
@@ -65,135 +65,6 @@ TIM17: ROTARY_ENCODER_TIMER
#include "hal_settings.h"
// 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
#define TRIMS_GPIO_REG_RSD
#define TRIMS_GPIO_PIN_RSD
#define TRIMS_GPIO_REG_RSU
#define TRIMS_GPIO_PIN_RSU
#define TRIMS_GPIO_REG_LSD GPIOH
#define TRIMS_GPIO_PIN_LSD LL_GPIO_PIN_15
#define TRIMS_GPIO_REG_LSU GPIOH
#define TRIMS_GPIO_PIN_LSU LL_GPIO_PIN_13
// function switches
//SW1
#define SWITCHES_GPIO_REG_K
#define SWITCHES_GPIO_PIN_K PCA95XX_P0
#define SWITCHES_K_CFS_IDX 0
#define FUNCTION_SWITCH_1 SK
//SW2
#define SWITCHES_GPIO_REG_L
#define SWITCHES_GPIO_PIN_L PCA95XX_P1
#define SWITCHES_L_CFS_IDX 1
#define FUNCTION_SWITCH_2 SL
//SW3
#define SWITCHES_GPIO_REG_M
#define SWITCHES_GPIO_PIN_M PCA95XX_P2
#define SWITCHES_M_CFS_IDX 2
#define FUNCTION_SWITCH_3 SM
//SW4
#define SWITCHES_GPIO_REG_N
#define SWITCHES_GPIO_PIN_N PCA95XX_P3
#define SWITCHES_N_CFS_IDX 3
#define FUNCTION_SWITCH_4 SN
//SW5
#define SWITCHES_GPIO_REG_O
#define SWITCHES_GPIO_PIN_O PCA95XX_P4
#define SWITCHES_O_CFS_IDX 4
#define FUNCTION_SWITCH_5 SO
//SW6
#define SWITCHES_GPIO_REG_P
#define SWITCHES_GPIO_PIN_P PCA95XX_P5
#define SWITCHES_P_CFS_IDX 5
#define FUNCTION_SWITCH_6 SP
// 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_P16
#define SWITCHES_GPIO_REG_E_L
#define SWITCHES_GPIO_PIN_E_L PCA95XX_P17
#define SWITCHES_F_2POS
#define SWITCHES_GPIO_REG_F
#define SWITCHES_GPIO_PIN_F PCA95XX_P1
#define SWITCHES_G_3POS
#define SWITCHES_GPIO_REG_G_H
#define SWITCHES_GPIO_PIN_G_H PCA95XX_P4
#define SWITCHES_GPIO_REG_G_L
#define SWITCHES_GPIO_PIN_G_L PCA95XX_P5
#define SWITCHES_H_2POS
#define SWITCHES_GPIO_REG_H
#define SWITCHES_GPIO_PIN_H PCA95XX_P0
#define SWITCHES_I_2POS
#define SWITCHES_GPIO_REG_I
#define SWITCHES_GPIO_PIN_I PCA95XX_P2
#define SWITCHES_J_2POS
#define SWITCHES_GPIO_REG_J
#define SWITCHES_GPIO_PIN_J PCA95XX_P3
// Expanders
#define IO_INT_GPIO GPIO_PIN(GPIOB, 3)
#define IO_RESET_GPIO GPIO_PIN(GPIOG, 10)
@@ -202,71 +73,8 @@ TIM17: ROTARY_ENCODER_TIMER
#define EXTI3_IRQ_Priority 9
#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_GPIO_PIN_SLIDER1 LL_GPIO_PIN_2 // PH.02 VRC/LS
#define ADC_GPIO_PIN_SLIDER2 LL_GPIO_PIN_5 // PA.05 VRD/RS
#define ADC_GPIO_PIN_EXT1 LL_GPIO_PIN_5 // PA.05,ADC1_CH19
#define ADC_GPIO_PIN_EXT2 LL_GPIO_PIN_5 // PH.05,ADC3_CH16
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_SLIDER2|ADC_GPIO_PIN_EXT1)
#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 | ADC_GPIO_PIN_SLIDER1|ADC_GPIO_PIN_EXT2)
#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_CHANNEL_SLIDER1 LL_ADC_CHANNEL_13 // ADC3_INP13
#define ADC_CHANNEL_SLIDER2 LL_ADC_CHANNEL_19 // ADC12_INP19
#define ADC_CHANNEL_EXT1 LL_ADC_CHANNEL_19 // ADC1_IN19
#define ADC_CHANNEL_EXT2 LL_ADC_CHANNEL_16 // ADC3_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_SLIDER1, ADC_CHANNEL_BATT , ADC_CHANNEL_RTC_BAT,ADC_CHANNEL_EXT2 }
#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 */ \
0,-1, /* sliders */ \
0,0, /* ext */ \
0, /* vbat */ \
0, /* rtc_bat */ \
0 /* lux sensor */ \
}
#define USE_EXTI9_5_IRQ // used for I2C port extender interrupt
#define EXTI9_5_IRQ_Priority 5
+1 -1
View File
@@ -70,7 +70,7 @@
#define PWM_GPIO_AF GPIO_AF2
#define PWM_IRQHandler TIM5_IRQHandler
#define PWM_IRQn TIM5_IRQn
#define PWM_GPIOA_PINS (LL_GPIO_PIN_0 | LL_GPIO_PIN_1 | LL_GPIO_PIN_2 | LL_GPIO_PIN_3)
#include "hal_pwm_sticks.h"
#endif
// 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)
+1 -1
View File
@@ -47,7 +47,7 @@ add_library(simu_drivers OBJECT EXCLUDE_FROM_ALL
${SIMU_DRIVERS}
)
add_dependencies(simu_drivers simu_keys simu_switches hal_settings hal_keys hal_keys_lock hal_adc_inputs lua_inputs lua_mixsrc lua_keys yaml_inputs)
add_dependencies(simu_drivers simu_keys simu_switches hal_settings hal_pwm_sticks hal_keys hal_keys_lock hal_adc_inputs lua_inputs lua_mixsrc lua_keys yaml_inputs)
get_property(SIMU_SRC_OPTIONS
TARGET radiolib_native
-85
View File
@@ -68,93 +68,8 @@ USART6: EXTMODULE_USART
#include "hal_settings.h"
// Keys
#define KEYS_GPIO_REG_PAGEDN GPIOI
#define KEYS_GPIO_PIN_PAGEDN LL_GPIO_PIN_4
#define KEYS_GPIO_REG_SYS GPIOI
#define KEYS_GPIO_PIN_SYS LL_GPIO_PIN_5
#define KEYS_GPIO_REG_ENTER GPIOI
#define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_2
#define KEYS_GPIO_REG_MDL GPIOE
#define KEYS_GPIO_PIN_MDL LL_GPIO_PIN_3
#define KEYS_GPIO_REG_EXIT GPIOI
#define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_8
#define KEYS_GPIO_REG_TELE GPIOE
#define KEYS_GPIO_PIN_TELE LL_GPIO_PIN_4
// Trims
#define TRIMS_GPIO_REG_LHL GPIOI
#define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_10
#define TRIMS_GPIO_REG_LHR GPIOI
#define TRIMS_GPIO_PIN_LHR LL_GPIO_PIN_9
#define TRIMS_GPIO_REG_LVD GPIOB
#define TRIMS_GPIO_PIN_LVD LL_GPIO_PIN_13
#define TRIMS_GPIO_REG_LVU GPIOB
#define TRIMS_GPIO_PIN_LVU LL_GPIO_PIN_14
#define TRIMS_GPIO_REG_RHL GPIOG
#define TRIMS_GPIO_PIN_RHL LL_GPIO_PIN_2
#define TRIMS_GPIO_REG_RHR GPIOG
#define TRIMS_GPIO_PIN_RHR LL_GPIO_PIN_3
#define TRIMS_GPIO_REG_RVD GPIOB
#define TRIMS_GPIO_PIN_RVD LL_GPIO_PIN_12
#define TRIMS_GPIO_REG_RVU GPIOB
#define TRIMS_GPIO_PIN_RVU LL_GPIO_PIN_15
// ADC
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_0 // PA.00 ADC1_INP16
#define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_3 // PA.03 ADC12_INP15
#define ADC_GPIO_PIN_STICK_RV LL_GPIO_PIN_1 // PA.01 ADC1_INP17
#define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_2 // PA.02 ADC12_INP14
#define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_3 // PC.03 POT2 ADC12_INP13
#define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_2 // PC.02 POT1 ADC123_INP12
#define ADC_GPIO_PIN_BATT LL_GPIO_PIN_5 // PC.05 ADC12_INP8
#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_BATT )
#define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_16
#define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_15
#define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_17
#define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_14
#define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_13
#define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_12
#define ADC_CHANNEL_BATT LL_ADC_CHANNEL_8
#define ADC_CHANNEL_RTC_BAT LL_ADC_CHANNEL_VBAT // ADC3 IMP17
#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_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 */ \
}
// Power
#define PWR_SWITCH_GPIO GPIO_PIN(GPIOI, 3)
#define PWR_ON_GPIO GPIO_PIN(GPIOD, 3)
+1 -1
View File
@@ -173,7 +173,7 @@
#define PWM_GPIO_AF GPIO_AF2
#define PWM_IRQn TIM5_IRQn
#define PWM_IRQHandler TIM5_IRQHandler
#define PWM_GPIOA_PINS (LL_GPIO_PIN_0 | LL_GPIO_PIN_1 | LL_GPIO_PIN_2 | LL_GPIO_PIN_3)
#include "hal_pwm_sticks.h"
#elif defined(RADIO_TLITE) || defined(RADIO_LR3PRO)
#define ADC_VREF_PREC2 330
#elif defined(RADIO_T14)
-122
View File
@@ -74,59 +74,6 @@ USART6: INTMODULE_USART
#include "hal_settings.h"
// 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 GPIOI
#define KEYS_GPIO_PIN_TELE LL_GPIO_PIN_15 // PI.15
// 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_RSD
#define TRIMS_GPIO_PIN_RSD
#define TRIMS_GPIO_REG_RSU
#define TRIMS_GPIO_PIN_RSU
#define TRIMS_GPIO_REG_LSD GPIOH
#define TRIMS_GPIO_PIN_LSD LL_GPIO_PIN_15
#define TRIMS_GPIO_REG_LSU GPIOH
#define TRIMS_GPIO_PIN_LSU LL_GPIO_PIN_13
// Expanders
#define IO_INT_GPIO GPIO_PIN(GPIOD, 3)
#define IO_RESET_GPIO GPIO_PIN(GPIOG, 10)
@@ -135,77 +82,8 @@ USART6: INTMODULE_USART
#define EXTI3_IRQ_Priority 9
#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_GPIO_PIN_SLIDER1 LL_GPIO_PIN_2 // PH.02 VRC/LS
#define ADC_GPIO_PIN_SLIDER2 LL_GPIO_PIN_7 // PA.07 VRD/RS
#define ADC_GPIO_PIN_LUX LL_GPIO_PIN_0 // PB.00 Light Sensor
#define ADC_GPIO_PIN_EXT1 LL_GPIO_PIN_5 // PA.05,ADC1_CH19
#define ADC_GPIO_PIN_EXT2 LL_GPIO_PIN_5 // PH.05,ADC3_CH16
#define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_SLIDER2|ADC_GPIO_PIN_EXT1)
#define ADC_GPIOB_PINS (ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_LUX)
#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 | ADC_GPIO_PIN_SLIDER1 | ADC_GPIO_PIN_EXT2)
#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_CHANNEL_SLIDER1 LL_ADC_CHANNEL_13 // ADC3_INP13
#define ADC_CHANNEL_SLIDER2 LL_ADC_CHANNEL_7 // ADC12_INP7
#define ADC_CHANNEL_LUX LL_ADC_CHANNEL_9 // ADC12_INP9 -> Light Sensor
#define ADC_CHANNEL_EXT1 LL_ADC_CHANNEL_19 // ADC1_IN19
#define ADC_CHANNEL_EXT2 LL_ADC_CHANNEL_16 // ADC3_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_SLIDER1, ADC_CHANNEL_BATT, ADC_CHANNEL_RTC_BAT, ADC_CHANNEL_EXT2 }
#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 */ \
0,-1, /* sliders */ \
0,0, /* ext */ \
0, /* vbat */ \
0, /* rtc_bat */ \
0 /* lux sensor */ \
}
#define USE_EXTI9_5_IRQ // used for I2C port extender interrupt
#define EXTI9_5_IRQ_Priority 5
+11
View File
@@ -0,0 +1,11 @@
//
// WARNING: DO NOT EDIT THIS FILE
// This file has been generated from the target's JSON hardware description
//
#pragma once
{% set pwm_sticks = adc_inputs.inputs | selectattr('type', '==', 'STICK') | selectattr('pwm_channel', 'ne', none) | list %}
{% for gpio, inputs in pwm_sticks | groupby('gpio') %}
#define PWM_{{ gpio }}_PINS ({{ inputs | map(attribute='pin') | join(' | ') }})
{% endfor %}