# MCU class and specific type MCU STM32F4xx STM32F427xx # USB setup USB_VENDOR 0x35a7 # ONLY FOR USE BY ThePeach USB_PRODUCT 0x0001 USB_STRING_MANUFACTURER "ThePeach" USB_STRING_PRODUCT "FCC-K1 BL" # board ID for firmware load APJ_BOARD_ID 212 # crystal frequency OSCILLATOR_HZ 24000000 # ChibiOS system timer STM32_ST_USE_TIMER 5 # flash size FLASH_SIZE_KB 2048 # location of application code FLASH_BOOTLOADER_LOAD_KB 16 # bootloader loads at start of flash FLASH_RESERVE_START_KB 0 # USB setup USB_STRING_MANUFACTURER "ArduPilot" # baudrate to run bootloader at on uarts define BOOTLOADER_BAUDRATE 115200 # uarts and USB to run bootloader protocol on SERIAL_ORDER OTG1 USART2 USART3 # this is the pin that senses USB being connected. It is an input pin # setup as OPENDRAIN PA9 VBUS INPUT OPENDRAIN # now we define the pins that USB is connected on PA11 OTG_FS_DM OTG1 PA12 OTG_FS_DP OTG1 # these are the pins for SWD debugging with a STlinkv2 or black-magic probe PA13 JTMS-SWDIO SWD PA14 JTCK-SWCLK SWD # Another USART, this one for telem1 PD5 USART2_TX USART2 PD6 USART2_RX USART2 PD3 USART2_CTS USART2 PD4 USART2_RTS USART2 # the telem2 USART, also with RTS/CTS available # USART3 serial3 telem2 PD8 USART3_TX USART3 PD9 USART3_RX USART3 PD11 USART3_CTS USART3 PD12 USART3_RTS USART3 # define a LED PE12 LED_BOOTLOADER OUTPUT define HAL_LED_ON 1 # this adds a C define which sets up the ArduPilot architecture # define. Any line starting with 'define' is copied literally as # a #define in the hwdef.h header define HAL_CHIBIOS_ARCH_FMUV3 1 # we need to tell HAL_ChibiOS/Storage.cpp how much storage is # available (in bytes) # Add CS pins to ensure they are high in bootloader PC2 MPU9250_CS CS PC15 ICM20602_CS CS PD7 MS5611_CS CS PD10 FRAM_CS CS SPEED_VERYLOW # default to all pins low to avoid ESD issues DEFAULTGPIO OUTPUT LOW PULLDOWN