Skip to content

Commit

Permalink
Carbonix: move to include-based hwdef for CPNs
Browse files Browse the repository at this point in the history
This commit leads to zero changes to the output of hwdef.h for both
CarbonixF405 and CarbonixL496.

SW-159
  • Loading branch information
robertlong13 committed May 21, 2024
1 parent 3f83f31 commit 9fd4f84
Show file tree
Hide file tree
Showing 6 changed files with 214 additions and 330 deletions.
66 changes: 66 additions & 0 deletions libraries/AP_HAL_ChibiOS/hwdef/CarbonixCommon/cpn-bl.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
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; currently configured for external crystal 12MHZ
OSCILLATOR_HZ 12000000

# 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
113 changes: 113 additions & 0 deletions libraries/AP_HAL_ChibiOS/hwdef/CarbonixCommon/cpn.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@

# 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; currently configured for external crystal 12MHZ
OSCILLATOR_HZ 12000000

#MCU F405 Flash 1024
FLASH_SIZE_KB 1024

# order of UARTs
SERIAL_ORDER OTG1 USART2 USART3 UART4

define HAL_CAN_POOL_SIZE 6000

# 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 AP_STATS_ENABLED 1

define HAL_NO_GCS
define HAL_NO_MONITOR_THREAD

define AP_PARAM_MAX_EMBEDDED_PARAM 512

# enable ESC control
define HAL_PERIPH_ENABLE_RC_OUT
define HAL_SUPPORT_RCOUT_SERIAL 1
define HAL_PERIPH_ARM_MONITORING_ENABLE 1
68 changes: 1 addition & 67 deletions libraries/AP_HAL_ChibiOS/hwdef/CarbonixF405/hwdef-bl.dat
Original file line number Diff line number Diff line change
Expand Up @@ -3,72 +3,6 @@
# 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; currently configured for external crystal 12MHZ
OSCILLATOR_HZ 12000000

# 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

include ../CarbonixCommon/cpn-bl.inc

define CAN_APP_NODE_NAME "org.ardupilot.CarbonixF405"
119 changes: 1 addition & 118 deletions libraries/AP_HAL_ChibiOS/hwdef/CarbonixF405/hwdef.dat
Original file line number Diff line number Diff line change
Expand Up @@ -3,121 +3,4 @@
# 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; currently configured for external crystal 12MHZ
OSCILLATOR_HZ 12000000

#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 AP_STATS_ENABLED 1

define HAL_NO_GCS
define HAL_NO_MONITOR_THREAD

define AP_PARAM_MAX_EMBEDDED_PARAM 512

define HAL_PERIPH_ENABLE_RC_OUT

# enable ESC control
define HAL_SUPPORT_RCOUT_SERIAL 1

define HAL_PERIPH_ARM_MONITORING_ENABLE 1
include ../CarbonixCommon/cpn.inc
Loading

0 comments on commit 9fd4f84

Please sign in to comment.