forked from ArduPilot/ardupilot
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AP_HAL_ChibiOS: add SpeedyBeeF405WINGV2
- Loading branch information
Showing
3 changed files
with
233 additions
and
0 deletions.
There are no files selected for viewing
3 changes: 3 additions & 0 deletions
3
libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WINGV2/defaults.parm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#Serial Port defaults | ||
SERIAL2_PROTOCOL -1 | ||
|
37 changes: 37 additions & 0 deletions
37
libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WINGV2/hwdef-bl.dat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# hw definition file for processing by chibios_pins.py | ||
# for speedybeef4 bootloader | ||
|
||
# MCU class and specific type | ||
MCU STM32F4xx STM32F405xx | ||
|
||
# board ID for firmware load | ||
APJ_BOARD_ID 1106 | ||
|
||
# crystal frequency | ||
OSCILLATOR_HZ 8000000 | ||
|
||
FLASH_SIZE_KB 1024 | ||
|
||
# bootloader is installed at zero offset | ||
FLASH_RESERVE_START_KB 0 | ||
|
||
# the location where the bootloader will put the firmware | ||
FLASH_BOOTLOADER_LOAD_KB 64 | ||
|
||
# LEDs | ||
PA14 LED_BOOTLOADER OUTPUT LOW GPIO(0) | ||
PA13 LED_ACTIVITY OUTPUT LOW GPIO(1) | ||
define HAL_LED_ON 0 | ||
|
||
# order of UARTs | ||
SERIAL_ORDER OTG1 | ||
|
||
PA11 OTG_FS_DM OTG1 | ||
PA12 OTG_FS_DP OTG1 | ||
|
||
DEFAULTGPIO OUTPUT LOW PULLDOWN | ||
|
||
# Add CS pins to ensure they are high in bootloader | ||
PA4 MPU_CS CS | ||
PB12 OSD_CS CS | ||
PC14 SDCARD_CS CS |
193 changes: 193 additions & 0 deletions
193
libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WINGV2/hwdef.dat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,193 @@ | ||
# hw definition file for SpeedyBee F4 WING hardware | ||
# tested on the Speedybee F405 WING board | ||
# | ||
|
||
# MCU class and specific type | ||
MCU STM32F4xx STM32F405xx | ||
|
||
# board ID for firmware load | ||
APJ_BOARD_ID 1106 | ||
|
||
# crystal frequency | ||
OSCILLATOR_HZ 8000000 | ||
|
||
define STM32_ST_USE_TIMER 5 | ||
define CH_CFG_ST_RESOLUTION 32 | ||
|
||
# reserve 16k for bootloader, 16k for OSD and 32k for flash storage | ||
FLASH_RESERVE_START_KB 64 | ||
FLASH_SIZE_KB 1024 | ||
|
||
define HAL_STORAGE_SIZE 15360 | ||
STORAGE_FLASH_PAGE 1 | ||
|
||
# only one I2C bus | ||
I2C_ORDER I2C1 | ||
|
||
# order of UARTs (and USB) | ||
SERIAL_ORDER OTG1 USART1 USART2 USART3 UART4 UART5 USART6 | ||
|
||
# LEDs | ||
define AP_NOTIFY_GPIO_LED_2_ENABLED 1 | ||
PA13 LED_GREEN OUTPUT LOW GPIO(0) | ||
PA14 LED_BLUE OUTPUT LOW GPIO(1) | ||
|
||
define HAL_GPIO_A_LED_PIN 0 | ||
define HAL_GPIO_B_LED_PIN 1 | ||
|
||
# buzzer | ||
PC15 BUZZER OUTPUT GPIO(80) LOW | ||
define HAL_BUZZER_PIN 80 | ||
|
||
|
||
|
||
# spi1 bus for IMU | ||
PA5 SPI1_SCK SPI1 | ||
PA6 SPI1_MISO SPI1 | ||
PA7 SPI1_MOSI SPI1 | ||
PA4 MPU_CS CS | ||
|
||
# spi2 for OSD | ||
PB13 SPI2_SCK SPI2 | ||
PC2 SPI2_MISO SPI2 | ||
PC3 SPI2_MOSI SPI2 | ||
PB12 OSD_CS CS | ||
|
||
# spi3 for sdcard | ||
PB3 SPI3_SCK SPI3 | ||
PB4 SPI3_MISO SPI3 | ||
PB5 SPI3_MOSI SPI3 | ||
PC14 SDCARD_CS CS | ||
|
||
# only one I2C bus in normal config | ||
PB8 I2C1_SCL I2C1 | ||
PB9 I2C1_SDA I2C1 | ||
|
||
# analog pins | ||
PC0 BATT_VOLTAGE_SENS ADC1 SCALE(1) | ||
PC1 BATT_CURRENT_SENS ADC1 SCALE(1) | ||
PC4 RSSI_ADC_PIN ADC1 SCALE(1) | ||
PC5 PRESSURE_SENS ADC1 SCALE(2) | ||
define HAL_DEFAULT_AIRSPEED_PIN 15 | ||
|
||
# define default battery setup | ||
define HAL_BATT_MONITOR_DEFAULT 4 | ||
define HAL_BATT_VOLT_PIN 10 | ||
define HAL_BATT_CURR_PIN 11 | ||
define HAL_BATT_VOLT_SCALE 11.05 # matched to PDB board | ||
define HAL_BATT_CURR_SCALE 50 # matched to PDB board | ||
|
||
|
||
# analog rssi pin | ||
define BOARD_RSSI_ANA_PIN 14 | ||
|
||
# USART1 (onboard Telemetry) | ||
PA9 USART1_TX USART1 | ||
PA10 USART1_RX USART1 | ||
define DEFAULT_SERIAL1_PROTOCOL SerialProtocol_MAVLink2 | ||
define DEFAULT_SERIAL1_BAUD 115 | ||
|
||
# USART2 (RCIN with inverter) | ||
|
||
PA3 TIM9_CH2 TIM9 RCININT PULLDOWN LOW | ||
|
||
# alternative with PA3 as USART2_RX | ||
PA2 USART2_TX USART2 NODMA | ||
PA3 USART2_RX USART2 NODMA ALT(1) | ||
|
||
# USART3 (DJI / VTX) | ||
PC10 USART3_TX USART3 | ||
PC11 USART3_RX USART3 NODMA | ||
define DEFAULT_SERIAL3_PROTOCOL SerialProtocol_None | ||
define DEFAULT_SERIAL3_BAUD 115 | ||
|
||
# UART4 serial4 | ||
PA0 UART4_TX UART4 | ||
PA1 UART4_RX UART4 NODMA | ||
define DEFAULT_SERIAL4_PROTOCOL SerialProtocol_None | ||
define DEFAULT_SERIAL4_BAUD 115 | ||
|
||
# USART5 (GPS) | ||
PC12 UART5_TX UART5 | ||
PD2 UART5_RX UART5 NODMA | ||
define DEFAULT_SERIAL5_PROTOCOL SerialProtocol_GPS | ||
define DEFAULT_SERIAL5_BAUD 115 | ||
|
||
# UART6 (ELRS) | ||
PC6 USART6_TX USART6 | ||
PC7 USART6_RX USART6 | ||
define DEFAULT_SERIAL6_BAUD 115 | ||
define DEFAULT_SERIAL6_PROTOCOL SerialProtocol_RCIN | ||
define DEFAULT_SERIAL6_BAUD 115 | ||
|
||
# USB | ||
PA11 OTG_FS_DM OTG1 | ||
PA12 OTG_FS_DP OTG1 | ||
|
||
# PWM out pins. Note that channel order follows the ArduPilot motor | ||
# order conventions | ||
PB7 TIM4_CH2 TIM4 PWM(1) GPIO(50) BIDIR | ||
PB6 TIM4_CH1 TIM4 PWM(2) GPIO(51) | ||
PB0 TIM3_CH3 TIM3 PWM(3) GPIO(52) | ||
PB1 TIM3_CH4 TIM3 PWM(4) GPIO(53) BIDIR | ||
PC8 TIM8_CH3 TIM8 PWM(5) GPIO(54) | ||
PC9 TIM8_CH4 TIM8 PWM(6) GPIO(55) | ||
PB14 TIM8_CH2N TIM8 PWM(7) GPIO(56) | ||
PA15 TIM2_CH1 TIM2 PWM(8) GPIO(57) | ||
PB10 TIM2_CH3 TIM2 PWM(9) GPIO(58) | ||
PB11 TIM2_CH4 TIM2 PWM(10) GPIO(59) | ||
PB15 TIM1_CH3N TIM1 PWM(11) GPIO(60) NODMA | ||
PA8 TIM1_CH1 TIM1 PWM(12) GPIO(61) NODMA | ||
|
||
DMA_PRIORITY USART1* USART6* TIM4_UP TIM3_UP TIM8_UP TIM2_UP SPI1* SPI2* I2C1_RX I2C_TX SPI3_RX SPI3_TX | ||
|
||
DMA_NOSHARE SPI1* TIM4_UP TIM3_UP TIM8_UP TIM2_UP SPI3_RX | ||
|
||
# one IMU | ||
IMU Invensensev3 SPI:icm42688 ROTATION_ROLL_180_YAW_270 | ||
define HAL_DEFAULT_INS_FAST_SAMPLE 1 | ||
|
||
# one baro | ||
BARO SPL06 I2C:0:0x76 | ||
define AP_BARO_BACKEND_DEFAULT_ENABLED 0 | ||
define AP_BARO_SPL06_ENABLED 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 | ||
|
||
# ICM42688P on SPI1 | ||
SPIDEV icm42688 SPI1 DEVID1 MPU_CS MODE3 2*MHZ 8*MHZ | ||
|
||
# OSD on SPI2 | ||
SPIDEV osd SPI2 DEVID2 OSD_CS MODE0 10*MHZ 10*MHZ | ||
|
||
# SD Card on SPI3 | ||
SPIDEV sdcard SPI3 DEVID3 SDCARD_CS MODE0 400*KHZ 25*MHZ | ||
|
||
# filesystem setup on sdcard | ||
define HAL_OS_FATFS_IO 1 | ||
|
||
# setup for OSD | ||
define OSD_ENABLED 1 | ||
define HAL_OSD_TYPE_DEFAULT 1 | ||
ROMFS_WILDCARD libraries/AP_OSD/fonts/font0.bin | ||
|
||
#VTX power control | ||
PC13 PINIO1 OUTPUT GPIO(81) LOW | ||
|
||
|
||
# minimal drivers to reduce flash usage | ||
include ../include/minimize_fpv_osd.inc | ||
|
||
undef AP_CAMERA_MOUNT_ENABLED | ||
undef HAL_MOUNT_ENABLED | ||
undef HAL_MOUNT_SERVO_ENABLED | ||
|
||
define AP_CAMERA_MOUNT_ENABLED 1 | ||
define HAL_MOUNT_ENABLED 1 | ||
define AP_MOUNT_BACKEND_DEFAULT_ENABLED 0 | ||
define HAL_MOUNT_SERVO_ENABLED 1 |