hwdef: add AeroFox PMU module hwdef

This commit is contained in:
AerofoxTech 2022-09-27 13:16:51 +10:00 committed by Andrew Tridgell
parent c607c38cbf
commit 5ca31ac1a1
5 changed files with 191 additions and 0 deletions

View File

@ -0,0 +1,20 @@
# up to 9 motors/servos
OUT1_FUNCTION 33
OUT2_FUNCTION 34
OUT3_FUNCTION 35
OUT4_FUNCTION 36
OUT5_FUNCTION 51
OUT6_FUNCTION 52
OUT7_FUNCTION 53
OUT8_FUNCTION 54
OUT9_FUNCTION 55
# DShot 600
ESC_PWM_TYPE 7
OUT_BLH_OTYPE 6
OUT_BLH_MASK 15
# DShot telem on RX1
ESC_TELEM_PORT 0

View File

@ -0,0 +1,3 @@
include ../AeroFox-PMU/hwdef-bl.inc
define CAN_APP_NODE_NAME "org.ardupilot.AeroFox_PMU"

View File

@ -0,0 +1,38 @@
MCU STM32L431 STM32L431xx
APJ_BOARD_ID 1080
OSCILLATOR_HZ 8000000
env AP_PERIPH 1
FLASH_RESERVE_START_KB 0
FLASH_BOOTLOADER_LOAD_KB 36
FLASH_SIZE_KB 256
APP_START_OFFSET_KB 4
PB3 LED_BOOTLOADER OUTPUT LOW # blue
define HAL_LED_ON 0
PB8 CAN1_RX CAN1
PB9 CAN1_TX CAN1
# PC13 GPIO_CAN1_SILENT OUTPUT PUSHPULL SPEED_LOW LOW
CAN_ORDER 1
define BOOTLOADER_BAUDRATE 57600
define HAL_BOOTLOADER_TIMEOUT 1000
define HAL_USE_SERIAL FALSE
define HAL_NO_GPIO_IRQ
define SERIAL_BUFFERS_SIZE 32
define HAL_USE_EMPTY_IO TRUE
define PORT_INT_REQUIRED_STACK 64
define DMA_RESERVE_SIZE 0
MAIN_STACK 0x800
PROCESS_STACK 0x800
define HAL_DISABLE_LOOP_DELAY
PA13 JTMS-SWDIO SWD
PA14 JTCK-SWCLK SWD

View File

@ -0,0 +1,60 @@
include ../AeroFox-PMU/hwdef.inc
# SERIAL
SERIAL_ORDER USART1 EMPTY USART3
# ESC
PB10 USART3_TX USART3 SPEED_HIGH
PB11 USART3_RX USART3 SPEED_HIGH
# USART2
#PA2 USART2_TX USART2 SPEED_HIGH
#PA3 USART2_RX USART2 SPEED_HIGH
# DEBUG
PB6 USART1_TX USART1 SPEED_HIGH
PB7 USART1_RX USART1 SPEED_HIGH
# BATTERY
define HAL_PERIPH_ENABLE_BATTERY
define HAL_USE_ADC TRUE
define STM32_ADC_USE_ADC1 TRUE
PB0 BATT_VOLTAGE_SENS ADC1 SCALE(1)
PB1 BATT_CURRENT_SENS ADC1 SCALE(1)
define HAL_BATT_MONITOR_DEFAULT 0
define HAL_BATT_VOLT_PIN 5
define HAL_BATT_VOLT_SCALE 21.0
define HAL_BATT_CURR_PIN 6
define HAL_BATT_CURR_SCALE 40.0
#PWM
PA8 TIM1_CH1 TIM1 PWM(1) GPIO(50)
PA9 TIM1_CH2 TIM1 PWM(2) GPIO(51)
PA10 TIM1_CH3 TIM1 PWM(3) GPIO(52)
PA11 TIM1_CH4 TIM1 PWM(4) GPIO(53)
PA15 TIM2_CH1 TIM2 PWM(5) GPIO(54)
PA2 TIM2_CH3 TIM2 PWM(6) GPIO(55)
PA3 TIM2_CH4 TIM2 PWM(7) GPIO(56)
PA1 TIM2_CH2 TIM2 PWM(8) GPIO(57)
PA6 TIM16_CH1 TIM16 PWM(9) GPIO(58) NODMA
define HAL_PERIPH_ENABLE_RC_OUT
define HAL_PERIPH_ENABLE_NOTIFY
# enable ESC control
define HAL_SUPPORT_RCOUT_SERIAL 1
define HAL_WITH_ESC_TELEM 1
#GPIO LED
define HAL_HAVE_PIXRACER_LED
PB2 LED_RED OUTPUT OPENDRAIN HIGH GPIO(0)
PB4 LED_GREEN OUTPUT OPENDRAIN LOW GPIO(1)
PB5 LED_BLUE OUTPUT OPENDRAIN LOW GPIO(2)
define HAL_GPIO_A_LED_PIN 0
define HAL_GPIO_B_LED_PIN 1
define HAL_GPIO_C_LED_PIN 2
define HAL_GPIO_LED_ON 0
define HAL_GPIO_LED_OFF 1

View File

@ -0,0 +1,70 @@
# MCU class and specific type
MCU STM32L431 STM32L431xx
define CAN_APP_NODE_NAME "org.ardupilot.AeroFox_PMU"
# bootloader starts firmware at 36k + 4k (STORAGE_FLASH)
FLASH_RESERVE_START_KB 40
FLASH_SIZE_KB 256
# store parameters in pages 18 and 19
STORAGE_FLASH_PAGE 18
define HAL_STORAGE_SIZE 800
# ChibiOS system timer
STM32_ST_USE_TIMER 15
define CH_CFG_ST_RESOLUTION 16
# board ID for firmware load
APJ_BOARD_ID 1080
# crystal frequency
OSCILLATOR_HZ 8000000
env AP_PERIPH 1
STDOUT_SERIAL SD1
STDOUT_BAUDRATE 57600
define HAL_NO_GPIO_IRQ
define SERIAL_BUFFERS_SIZE 512
define PORT_INT_REQUIRED_STACK 64
define DMA_RESERVE_SIZE 0
# MAIN_STACK is stack for ISR handlers
MAIN_STACK 0x300
# PROCESS_STACK controls stack for main thread
PROCESS_STACK 0xA00
define HAL_DISABLE_LOOP_DELAY
define HAL_GCS_ENABLED 0
define HAL_NO_MONITOR_THREAD
define HAL_NO_LOGGING
# setup a small defaults.parm
define AP_PARAM_MAX_EMBEDDED_PARAM 512
#ACT LED
PB3 LED OUTPUT HIGH
define HAL_LED_ON 1
# debugger support
PA13 JTMS-SWDIO SWD
PA14 JTCK-SWCLK SWD
#CAN bus
CAN_ORDER 1
PB8 CAN1_RX CAN1
PB9 CAN1_TX CAN1
define HAL_CAN_POOL_SIZE 6000
# allow for reboot command for faster development
define HAL_PERIPH_LISTEN_FOR_SERIAL_UART_REBOOT_CMD_PORT 0
# keep ROMFS uncompressed as we don't have enough RAM
# to uncompress the bootloader at runtime
env ROMFS_UNCOMPRESSED True