# hw definition file for processing by chibios_pins.py # MCU class and specific type MCU STM32G4xx STM32G491xx # use DNA define HAL_CAN_DEFAULT_NODE_ID 0 define CAN_APP_NODE_NAME "io.mrobotics.mRo-M10095" # bootloader starts firmware at 26k + 4k (STORAGE_FLASH) FLASH_RESERVE_START_KB 30 # store parameters in pages 13 and 14 STORAGE_FLASH_PAGE 13 define HAL_STORAGE_SIZE 800 # setup build for a peripheral firmware env AP_PERIPH 1 # enable watchdog define HAL_WATCHDOG_ENABLED_DEFAULT true # crystal frequency OSCILLATOR_HZ 8000000 # assume the 512k flash part FLASH_SIZE_KB 512 # board ID for firmware load APJ_BOARD_ID 1041 define HAL_CAN_POOL_SIZE 6000 # LEDs PA4 LED OUTPUT HIGH # debugger support PA13 JTMS-SWDIO SWD PA14 JTCK-SWCLK SWD # Order of I2C buses I2C_ORDER I2C1 # this board only has a single I2C bus so make it external define HAL_I2C_INTERNAL_MASK 0 # Now the first I2C bus. The pin speeds are automatically setup # correctly, but can be overridden here if needed. PA15 I2C1_SCL I2C1 PB7 I2C1_SDA I2C1 # an I2C baro (DPS310) BARO DPS280 I2C:0:0x77 define HAL_PERIPH_ENABLE_BARO PA0 VSENSE50 ADC1 SCALE(3) PA1 VSENSE3v3 ADC1 SCALE(2) define DMA_RESERVE_SIZE 2048 define HAL_USE_ADC TRUE define STM32_ADC_USE_ADC1 TRUE # order of UARTs SERIAL_ORDER USART1 STDOUT_SERIAL SD1 STDOUT_BAUDRATE 57600 # USART1, telemetry PA9 USART1_TX USART1 SPEED_HIGH PA10 USART1_RX USART1 SPEED_HIGH # stack for fast interrupts define PORT_INT_REQUIRED_STACK 64 define HAL_DISABLE_LOOP_DELAY PA11 CAN1_RX CAN1 PA12 CAN1_TX CAN1 define HAL_NO_MONITOR_THREAD define HAL_MINIMIZE_FEATURES 0 define AP_PARAM_MAX_EMBEDDED_PARAM 512 # keep ROMFS uncompressed as we don't have enough RAM # to uncompress the bootloader at runtime env ROMFS_UNCOMPRESSED True # don't share any DMA channels (there are enough for everyone) DMA_NOSHARE *