#ifndef STA_CORE_STM32_MCU_STM32F407xx_HPP #define STA_CORE_STM32_MCU_STM32F407xx_HPP #ifndef STM32F407xx # error "MCU config incompatible" #endif // STM32F407xx #include // uart setup #ifdef STA_STM32_USART_ASEAG # define STA_STM32_USART_HANDLE huart1 #else # ifdef defined(STA_STM32_SWD_USART_IDX) # define STA_STM32_USART_HANDLE huart CONCAT(huart, STA_STM32_SWD_USART_IDX) # endif // STA_STM32_SWD_USART_IDX #endif // STA_STM32_SWD_USART_IDX // Peripheral clock mappings // // TIM to PCLK #define STA_STM32_TIM_1_PCLK_IDX 2 #define STA_STM32_TIM_2_PCLK_IDX 1 #define STA_STM32_TIM_3_PCLK_IDX 1 #define STA_STM32_TIM_4_PCLK_IDX 1 #define STA_STM32_TIM_5_PCLK_IDX 1 #define STA_STM32_TIM_6_PCLK_IDX 1 #define STA_STM32_TIM_7_PCLK_IDX 1 #define STA_STM32_TIM_8_PCLK_IDX 2 #define STA_STM32_TIM_9_PCLK_IDX 2 #define STA_STM32_TIM_10_PCLK_IDX 2 #define STA_STM32_TIM_11_PCLK_IDX 2 #define STA_STM32_TIM_12_PCLK_IDX 1 #define STA_STM32_TIM_13_PCLK_IDX 1 #define STA_STM32_TIM_14_PCLK_IDX 1 // SPI to PCLK #define STA_STM32_SPI_1_PCLK_IDX 2 #define STA_STM32_SPI_2_PCLK_IDX 1 #define STA_STM32_SPI_3_PCLK_IDX 1 // I2C to PCLK #define STA_STM32_I2C_1_PCLK_IDX 1 #define STA_STM32_I2C_2_PCLK_IDX 1 #define STA_STM32_I2C_3_PCLK_IDX 1 // USART to PCLK #define STA_STM32_USART_1_PCLK_IDX 2 #define STA_STM32_USART_2_PCLK_IDX 1 #define STA_STM32_USART_3_PCLK_IDX 1 #define STA_STM32_USART_6_PCLK_IDX 2 // HAL handle mappings // #define STA_STM32_htim1_PCLK_IDX STA_STM32_TIM_1_PCLK_IDX #define STA_STM32_htim2_PCLK_IDX STA_STM32_TIM_2_PCLK_IDX #define STA_STM32_htim3_PCLK_IDX STA_STM32_TIM_3_PCLK_IDX #define STA_STM32_htim4_PCLK_IDX STA_STM32_TIM_4_PCLK_IDX #define STA_STM32_htim5_PCLK_IDX STA_STM32_TIM_5_PCLK_IDX #define STA_STM32_htim6_PCLK_IDX STA_STM32_TIM_6_PCLK_IDX #define STA_STM32_htim7_PCLK_IDX STA_STM32_TIM_7_PCLK_IDX #define STA_STM32_htim8_PCLK_IDX STA_STM32_TIM_8_PCLK_IDX #define STA_STM32_htim9_PCLK_IDX STA_STM32_TIM_9_PCLK_IDX #define STA_STM32_htim10_PCLK_IDX STA_STM32_TIM_10_PCLK_IDX #define STA_STM32_htim11_PCLK_IDX STA_STM32_TIM_11_PCLK_IDX #define STA_STM32_htim12_PCLK_IDX STA_STM32_TIM_12_PCLK_IDX #define STA_STM32_htim13_PCLK_IDX STA_STM32_TIM_13_PCLK_IDX // SPI to PCLK #define STA_STM32_hspi1_PCLK_IDX STA_STM32_SPI_1_PCLK_IDX #define STA_STM32_hspi2_PCLK_IDX STA_STM32_SPI_2_PCLK_IDX #define STA_STM32_hspi3_PCLK_IDX STA_STM32_SPI_3_PCLK_IDX #define STA_STM32_hspi4_PCLK_IDX STA_STM32_SPI_4_PCLK_IDX #define STA_STM32_hspi5_PCLK_IDX STA_STM32_SPI_5_PCLK_IDX // I2C to PCLK #define STA_STM32_hi2c1_PCLK_IDX STA_STM32_I2C_1_PCLK_IDX #define STA_STM32_hi2c2_PCLK_IDX STA_STM32_I2C_2_PCLK_IDX #define STA_STM32_h12c3_PCLK_IDX STA_STM32_I2C_3_PCLK_IDX // USART to PCLK #define STA_STM32_husart1_PCLK_IDX STA_STM32_USART_1_PCLK_IDX #define STA_STM32_husart2_PCLK_IDX STA_STM32_USART_2_PCLK_IDX #define STA_STM32_husart3_PCLK_IDX STA_STM32_USART_3_PCLK_IDX #define STA_STM32_husart6_PCLK_IDX STA_STM32_USART_6_PCLK_IDX #endif // STA_CORE_STM32_MCU_STM32F407xx_HPP