diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CarbonixF405/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/CarbonixF405/hwdef-bl.dat new file mode 100644 index 0000000000..c9b65a069f --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/CarbonixF405/hwdef-bl.dat @@ -0,0 +1,74 @@ +# hw definition file for processing by chibios_pins.py + +# MCU class and specific type +MCU STM32F4xx STM32F405xx + +FLASH_RESERVE_START_KB 0 +FLASH_BOOTLOADER_LOAD_KB 60 + +# reserve some space for params +APP_START_OFFSET_KB 4 + +# board ID for firmware load +APJ_BOARD_ID 1064 + +# setup build for a peripheral firmware +env AP_PERIPH 1 + +# crystal frequency set to 0 to use internal clock +OSCILLATOR_HZ 0 + +# assume 1024K flash part +FLASH_SIZE_KB 1024 + +STDOUT_SERIAL SD2 +STDOUT_BAUDRATE 57600 + +# order of UARTs +SERIAL_ORDER OTG1 USART2 + +# a fault LED +PA15 LED_BOOTLOADER OUTPUT HIGH # blue +define HAL_LED_ON 0 + +# USART1 +PA2 USART2_TX USART2 SPEED_HIGH NODMA +PA3 USART2_RX USART2 SPEED_HIGH NODMA + +# USB +PA11 OTG_FS_DM OTG1 +PA12 OTG_FS_DP OTG1 + +define HAL_USE_SERIAL TRUE + +define STM32_SERIAL_USE_USART2 TRUE + +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 + +# enable CAN support +PB8 CAN1_RX CAN1 +PB9 CAN1_TX CAN1 + +# debugger support +PA13 JTMS-SWDIO SWD +PA14 JTCK-SWCLK SWD + +# make bl baudrate match debug baudrate for easier debugging +define BOOTLOADER_BAUDRATE 57600 + +# use a small bootloader timeout +define HAL_BOOTLOADER_TIMEOUT 1000 + + +define CAN_APP_NODE_NAME "org.ardupilot.CarbonixF405" diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CarbonixF405/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/CarbonixF405/hwdef.dat new file mode 100644 index 0000000000..25c37b9e7f --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/CarbonixF405/hwdef.dat @@ -0,0 +1,143 @@ +# hw definition file for processing by chibios_pins.py + +# MCU class and specific type +MCU STM32F4xx STM32F405xx + +# bootloader starts firmware at 60+ 4k +FLASH_RESERVE_START_KB 64 + +#MCU F405 store parameters in pages 2 and 3 +STORAGE_FLASH_PAGE 2 +define HAL_STORAGE_SIZE 15360 + +# board ID for firmware load +APJ_BOARD_ID 1064 + +# setup build for a peripheral firmware +env AP_PERIPH 1 + +# crystal frequency set to 0 to use internal clock +OSCILLATOR_HZ 0 + +#MCU F405 Flash 1024 +FLASH_SIZE_KB 1024 + +# order of UARTs +SERIAL_ORDER OTG1 USART2 USART3 UART4 + +define HAL_CAN_POOL_SIZE 6000 + +#STDOUT_SERIAL SD1 +#STDOUT_BAUDRATE 57600 + + +# PWM outputs +PA9 TIM1_CH2 TIM1 PWM(1) GPIO(50) +PA8 TIM1_CH1 TIM1 PWM(2) GPIO(51) + +# USART2, ESC telem +PA2 USART2_TX USART2 SPEED_HIGH NODMA +PA3 USART2_RX USART2 SPEED_HIGH NODMA + +# USART3 +PC10 USART3_TX USART3 SPEED_HIGH NODMA +PC11 USART3_RX USART3 SPEED_HIGH NODMA + +# UART4 +PA0 UART4_TX UART4 SPEED_HIGH NODMA +PA1 UART4_RX UART4 SPEED_HIGH NODMA + +# USB +PA11 OTG_FS_DM OTG1 +PA12 OTG_FS_DP OTG1 + +# LED, active low +PA15 LED OUTPUT HIGH GPIO(1) + +# spi2 +PB10 SPI2_SCK SPI2 +PB14 SPI2_MISO SPI2 +PB15 SPI2_MOSI SPI2 + +# CS pins +PC8 BMI088_A_CS CS +PC9 BMI088_G_CS CS + +SPIDEV bmi088_g SPI2 DEVID1 BMI088_G_CS MODE3 10*MHZ 10*MHZ +SPIDEV bmi088_a SPI2 DEVID2 BMI088_A_CS MODE3 10*MHZ 10*MHZ + +# one I2C bus +PB6 I2C1_SCL I2C1 +PB7 I2C1_SDA I2C1 + +I2C_ORDER I2C1 + +# allow for reboot command for faster development +define HAL_PERIPH_LISTEN_FOR_SERIAL_UART_REBOOT_CMD_PORT 0 + +# debugger support +PA13 JTMS-SWDIO SWD +PA14 JTCK-SWCLK SWD + +define HAL_NO_GPIO_IRQ +define SERIAL_BUFFERS_SIZE 512 + +define DMA_RESERVE_SIZE 2048 + +# stack for fast interrupts +define PORT_INT_REQUIRED_STACK 64 + +# 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 + +# enable CAN support +PB8 CAN1_RX CAN1 +PB9 CAN1_TX CAN1 + +# ADC inputs +define HAL_USE_ADC TRUE +define STM32_ADC_USE_ADC1 TRUE + +PA5 VSENSE1 ADC1 SCALE(1) +PA6 VSENSE2 ADC1 SCALE(1) +PB0 VSENSE3 ADC1 SCALE(1) +PB1 VSENSE4 ADC1 SCALE(1) + +define HAL_NO_GCS +define HAL_NO_MONITOR_THREAD + +define AP_PARAM_MAX_EMBEDDED_PARAM 512 + +define CAN_APP_NODE_NAME "org.ardupilot.CarbonixF405" + +define HAL_PERIPH_ENABLE_MAG +define HAL_PERIPH_ENABLE_BARO +define HAL_PERIPH_ENABLE_RC_OUT + +# enable ESC control +define HAL_SUPPORT_RCOUT_SERIAL 1 +define HAL_WITH_ESC_TELEM 1 + +# enable GPS +define HAL_PERIPH_ENABLE_GPS +define HAL_PERIPH_GPS_PORT_DEFAULT 2 +#define HAL_PERIPH_ENABLE_NOTIFY +#define HAL_PERIPH_ENABLE_NCP5623_LED_WITHOUT_NOTIFY + +# default ADSB off by setting 0 baudrate +define HAL_PERIPH_ENABLE_ADSB +define HAL_PERIPH_ADSB_PORT_DEFAULT 3 +define HAL_PERIPH_ADSB_BAUD_DEFAULT 57600 + +BARO MS56XX I2C:0:0x76 +COMPASS MMC5XX3 I2C:0:0x30 false ROTATION_NONE + + + + +