2023-10-03 15:21:59 -03:00
|
|
|
# MCU class and specific type
|
|
|
|
MCU STM32F4xx STM32F407xx
|
|
|
|
|
|
|
|
FLASH_RESERVE_START_KB 64
|
|
|
|
FLASH_SIZE_KB 512
|
|
|
|
|
|
|
|
define HAL_STORAGE_SIZE 15360
|
|
|
|
STORAGE_FLASH_PAGE 2
|
|
|
|
|
|
|
|
# board ID for firmware load
|
|
|
|
APJ_BOARD_ID 6000
|
|
|
|
|
|
|
|
env AP_PERIPH 1
|
|
|
|
|
|
|
|
define CAN_APP_NODE_NAME "sw-spar-f407"
|
|
|
|
|
|
|
|
# crystal frequency
|
|
|
|
OSCILLATOR_HZ 8000000
|
|
|
|
|
|
|
|
# we need tim2 for PWM
|
|
|
|
STM32_ST_USE_TIMER 5
|
|
|
|
|
|
|
|
# activity led
|
|
|
|
PC8 LED OUTPUT LOW
|
|
|
|
define HAL_LED_ON 1
|
|
|
|
|
|
|
|
# JTAG
|
|
|
|
#PA13 JTMS-SWDIO SWD
|
|
|
|
#PA14 JTCK-SWCLK SWD
|
|
|
|
|
|
|
|
# ECU - not currently used, must be enabled for CAN2 to work
|
|
|
|
PD0 CAN1_RX CAN1
|
|
|
|
PD1 CAN1_TX CAN1
|
|
|
|
PD2 GPIO_CAN1_SILENT OUTPUT PUSHPULL SPEED_LOW HIGH
|
|
|
|
|
|
|
|
# avionics can
|
|
|
|
PB5 CAN2_RX CAN2
|
|
|
|
PB6 CAN2_TX CAN2
|
|
|
|
PB7 GPIO_CAN2_SILENT OUTPUT PUSHPULL SPEED_LOW LOW
|
|
|
|
|
|
|
|
# we don't actually need/use CAN mirroring, but it *can* make a very handy debug port
|
|
|
|
# define HAL_PERIPH_CAN_MIRROR 1
|
|
|
|
|
|
|
|
# ---------------------- UARTs ---------------------------
|
|
|
|
# | efi | gps | lidar |
|
|
|
|
SERIAL_ORDER USART1 USART2 USART3
|
|
|
|
|
|
|
|
# USART1 efi
|
|
|
|
PA9 USART1_TX USART1 SPEED_HIGH DMA
|
|
|
|
PA10 USART1_RX USART1 SPEED_HIGH DMA
|
|
|
|
|
|
|
|
# USART2 gps
|
|
|
|
PD5 USART2_TX USART2 SPEED_HIGH DMA
|
|
|
|
PD6 USART2_RX USART2 SPEED_HIGH DMA
|
|
|
|
|
|
|
|
# USART3 lidar
|
|
|
|
PB10 USART3_TX USART3 SPEED_HIGH DMA
|
|
|
|
PB11 USART3_RX USART3 SPEED_HIGH DMA
|
|
|
|
|
|
|
|
# throttle pwm
|
|
|
|
define HAL_PERIPH_ENABLE_RC_OUT
|
|
|
|
PA15 TIM2_CH1 TIM2 PWM(1)
|
|
|
|
|
|
|
|
# i2c
|
|
|
|
I2C_ORDER I2C3 I2C1
|
|
|
|
define STM32_I2C_USE_I2C1 TRUE
|
|
|
|
define STM32_I2C_USE_I2C3 TRUE
|
|
|
|
define HAL_I2C_CLEAR_ON_TIMEOUT 0
|
|
|
|
define HAL_I2C_INTERNAL_MASK 0
|
|
|
|
|
|
|
|
# gps/aux port
|
|
|
|
PB8 I2C1_SCL I2C1
|
|
|
|
PB9 I2C1_SDA I2C1
|
|
|
|
|
|
|
|
# internal mag
|
|
|
|
PA8 I2C3_SCL I2C3
|
|
|
|
PC9 I2C3_SDA I2C3
|
|
|
|
|
|
|
|
# EFI
|
|
|
|
define AP_PERIPH_EFI_PORT_DEFAULT 0
|
|
|
|
define HAL_PERIPH_ENABLE_EFI 1
|
|
|
|
define HAL_EFI_ENABLED 1
|
|
|
|
define HAL_PERIPH_EFI_BAUDRATE_DEFAULT 115200
|
|
|
|
|
|
|
|
# GPS
|
|
|
|
define HAL_PERIPH_ENABLE_GPS
|
|
|
|
define HAL_PERIPH_GPS_PORT_DEFAULT 1
|
|
|
|
define GPS_MAX_RATE_MS 200
|
|
|
|
|
|
|
|
define GPS_MAX_RECEIVERS 1
|
|
|
|
define GPS_MAX_INSTANCES 1
|
|
|
|
|
|
|
|
# rangefinder
|
|
|
|
define HAL_PERIPH_ENABLE_RANGEFINDER 2
|
|
|
|
define AP_PERIPH_RANGEFINDER_PORT_DEFAULT 2
|
|
|
|
|
|
|
|
# compass
|
|
|
|
define HAL_PERIPH_ENABLE_MAG
|
|
|
|
define HAL_COMPASS_MAX_SENSORS 2
|
|
|
|
|
|
|
|
COMPASS MMC3416 I2C:0:0x30 false ROTATION_NONE
|
|
|
|
|
|
|
|
# expected aux compass, unclear if these need to be listed
|
|
|
|
COMPASS RM3100 I2C:1:0x20 false ROTATION_NONE
|
|
|
|
COMPASS RM3100 I2C:1:0x21 false ROTATION_NONE
|
|
|
|
COMPASS RM3100 I2C:1:0x22 false ROTATION_NONE
|
|
|
|
COMPASS RM3100 I2C:1:0x23 false ROTATION_NONE
|
|
|
|
|
|
|
|
# battery
|
|
|
|
define HAL_PERIPH_ENABLE_BATTERY
|
|
|
|
define HAL_PERIPH_BATTERY_SKIP_NAME # don't waste bandwidth on static names
|
|
|
|
|
|
|
|
define HAL_USE_ADC TRUE
|
|
|
|
define STM32_ADC_USE_ADC1 TRUE
|
|
|
|
|
|
|
|
# fuel tank
|
|
|
|
PB0 BATT3_VOLTAGE_SENS ADC1 SCALE(1) ANALOG(1)
|
|
|
|
# 12V in
|
|
|
|
PA4 BATT_VOLTAGE_SENS ADC1 SCALE(1) ANALOG(2)
|
|
|
|
# 5V in
|
|
|
|
PA5 BATT2_VOLTAGE_SENS ADC1 SCALE(1) ANALOG(3)
|
|
|
|
|
|
|
|
# don't build on firmware.ardupilot.org
|
|
|
|
AUTOBUILD_TARGETS None
|
2024-03-31 21:00:58 -03:00
|
|
|
|
|
|
|
define HAL_SERIAL_ESC_COMM_ENABLED 1
|
2024-04-01 03:38:32 -03:00
|
|
|
define HAL_RCIN_THREAD_ENABLED 1
|
2024-04-01 19:47:40 -03:00
|
|
|
define HAL_SCHEDULER_LOOP_DELAY_ENABLED 1
|