add DroneerF405 hwdef

This commit is contained in:
chenzideng 2024-12-12 17:01:05 +08:00
parent b5c108c223
commit 7b15225dbb
6 changed files with 221 additions and 0 deletions

BIN
Tools/bootloaders/DroneerF405_bl.bin generated Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 KiB

View File

@ -0,0 +1,39 @@
# hw definition file for Droneer
# tested on the Droneer F405
# MCU class and specific type
MCU STM32F4xx STM32F405xx
# crystal frequency
OSCILLATOR_HZ 8000000
# board ID for firmware load
APJ_BOARD_ID 1054
FLASH_RESERVE_START_KB 0
FLASH_SIZE_KB 1024
FLASH_BOOTLOADER_LOAD_KB 64
#PA14 LED_BOOTLOADER OUTPUT LOW GPIO(0) # blue
PC13 LED_ACTIVITY OUTPUT LOW GPIO(1) # Green
define HAL_LED_ON 0
# order of UARTs
SERIAL_ORDER OTG1 USART1
PA9 USART1_TX USART1
PA10 USART1_RX USART1
PA11 OTG_FS_DM OTG1
PA12 OTG_FS_DP OTG1
# Add CS pins to ensure they are high in bootloader
PA4 IMU_CS CS
PA13 OSD_CS CS
PC0 FLASH_CS CS
#PC1 SDCARD_CS CS
# Turn on switched supply and camera switch/output during bootloader to match default
#PA4 PINIO1 OUTPUT LOW
#PB5 PINIO2 OUTPUT LOW

View File

@ -0,0 +1,182 @@
# hw definition file for processing by chibios_pins.py
# Droneer F405
# With F405 MCU, ICM42688P IMU and 7456 series OSD
# Based on DroneerF450 from thomas
# MCU class and specific type.
MCU STM32F4xx STM32F405xx
HAL_CHIBIOS_ARCH_F405 1
# board ID for firmware load
APJ_BOARD_ID 1054
# crystal frequency
OSCILLATOR_HZ 8000000
# board voltage
STM32_VDD 330U
STM32_ST_USE_TIMER 5
define CH_CFG_ST_RESOLUTION 16
# order of I2C buses
I2C_ORDER I2C1
# order of UARTs (and USB)
# this order follows the labels on the board
# namely COMPUTER, PPM/SBUS (configurable as USART), TX3/RX3, TX6/RX6
SERIAL_ORDER OTG1 USART1 USART2 USART3 UART4 UART5
# The pins that USB is connected on
PA11 OTG_FS_DM OTG1
PA12 OTG_FS_DP OTG1
PC5 VBUS INPUT OPENDRAIN
# USART1(VTX)
PA9 USART1_TX USART1
PA10 USART1_RX USART1
define DEFAULT_SERIAL1_PROTOCOL SerialProtocol_Tramp
# USART2, RC input
PA2 USART2_TX USART2
PA3 USART2_RX USART2 NODMA
define DEFAULT_SERIAL2_PROTOCOL SerialProtocol_MAVLink2
# default to timer for RC input
#PA3 TIM9_CH2 TIM9 RCININT PULLDOWN LOW
# USART3
PC10 USART3_TX USART3 NODMA
PC11 USART3_RX USART3 NODMA
define DEFAULT_SERIAL3_PROTOCOL SerialProtocol_ESCTelemetry
# UART4
PA0 UART4_TX UART4 NODMA
PA1 UART4_RX UART4 NODMA
# UART5
PC12 UART5_TX UART5 NODMA
PD2 UART5_RX UART5 NODMA
define DEFAULT_SERIAL4_PROTOCOL SerialProtocol_GPS
define DEFAULT_SERIAL5_PROTOCOL SerialProtocol_None
# The pins for SWD debugging with a STlinkv2 or black-magic probe (not tested)
#PA13 JTMS-SWDIO SWD
#PA14 JTCK-SWCLK SWD
# PWM output. 1 - 8 on ESC header
# --------------------- PWM -----------------------
PC6 TIM8_CH1 TIM8 PWM(1) GPIO(50)
PC7 TIM8_CH2 TIM8 PWM(2) GPIO(51)
PC8 TIM8_CH3 TIM8 PWM(3) GPIO(52)
PC9 TIM8_CH4 TIM8 PWM(4) GPIO(53)
PA15 TIM2_CH1 TIM2 PWM(5) GPIO(54)
PA8 TIM1_CH1 TIM1 PWM(6) GPIO(55)
PB10 TIM2_CH3 TIM2 PWM(7) GPIO(56)
PB11 TIM2_CH4 TIM2 PWM(8) GPIO(57)
PB1 TIM3_CH4 TIM3 PWM(9) GPIO(58)
# Board LEDs
PC13 LED_GREEN OUTPUT LOW GPIO(80)
define HAL_GPIO_A_LED_PIN 80
# External LEDs
#PB1 LED_STRIP OUTPUT GPIO(81) LOW
#define HAL_LED_STRIP_PIN 81
# Buzzer
#PB8 BUZZER OUTPUT GPIO(82) LOW
#define HAL_BUZZER_PIN 82
# Camera control
PA14 CAM_C OUTPUT HIGH GPIO(83)
define RELAY2_PIN_DEFAULT 83
# Note that this board needs PULLUP on I2C pins
PB6 I2C1_SCL I2C1 PULLUP
PB7 I2C1_SDA I2C1 PULLUP
# SPI1 - Internal IMU
PA4 MPU6000_CS CS
PA5 SPI1_SCK SPI1
PA6 SPI1_MISO SPI1
PA7 SPI1_MOSI SPI1
# SPI2 - OSD
PB15 SPI2_MOSI SPI2
PB14 SPI2_MISO SPI2
PB13 SPI2_SCK SPI2
# OSD max7456
PA13 OSD_CS CS
# SPI3 - dataflash
PB3 SPI3_SCK SPI3
PB4 SPI3_MISO SPI3
PB5 SPI3_MOSI SPI3
# Dataflash M25P16
PC0 FLASH_CS CS
# SPI Device table
SPIDEV icm42688 SPI1 DEVID1 MPU6000_CS MODE3 1*MHZ 10*MHZ
SPIDEV osd SPI2 DEVID1 OSD_CS MODE0 10*MHZ 10*MHZ
SPIDEV dataflash SPI3 DEVID1 FLASH_CS MODE3 32*MHZ 32*MHZ
# One IMU rotated in yaw
IMU Invensensev3 SPI:icm42688 ROTATION_PITCH_180_YAW_270
# Probe for I2C SPL06
BARO SPL06 I2C:0:0x76
define AP_BARO_BACKEND_DEFAULT_ENABLED 0
define AP_BARO_SPL06_ENABLED 1
define HAL_BARO_ALLOW_INIT_NO_BARO 1
# no built-in compass, but probe the i2c bus for all possible
# external compass types
define ALLOW_ARM_NO_COMPASS
define HAL_PROBE_EXTERNAL_I2C_COMPASSES
define HAL_I2C_INTERNAL_MASK 0
define HAL_COMPASS_AUTO_ROT_DEFAULT 2
# enable logging to dataflash
define HAL_LOGGING_DATAFLASH_ENABLED 1
define HAL_STORAGE_SIZE 15360
STORAGE_FLASH_PAGE 1
# flash size
FLASH_SIZE_KB 1024
# reserve 32k for bootloader and 32k for flash storage
FLASH_RESERVE_START_KB 64
# ADC
PC2 BATT_VOLTAGE_SENS ADC1 SCALE(1)
PC1 BATT_CURRENT_SENS ADC1 SCALE(1)
PC3 RSSI_ADC ADC1 SCALE(1)
# define default battery setup
define HAL_BATT_VOLT_PIN 12
define HAL_BATT_CURR_PIN 11
define HAL_BATT_VOLT_SCALE 11
define HAL_BATT_CURR_SCALE 30.2
define HAL_BATT_MONITOR_DEFAULT 4
# Analog RSSI pin (also could be used as analog airspeed input)
define BOARD_RSSI_ANA_PIN 12
# Setup for OSD
define OSD_ENABLED 1
define HAL_OSD_TYPE_DEFAULT 1
# Font for the osd
ROMFS_WILDCARD libraries/AP_OSD/fonts/font*.bin
DMA_PRIORITY TIM2* TIM3*
# minimal drivers to reduce flash usage
include ../include/minimize_fpv_osd.inc
#undef AP_BATTERY_SYNTHETIC_CURRENT_ENABLED
#define AP_BATTERY_SYNTHETIC_CURRENT_ENABLED 0