diff options
Diffstat (limited to 'Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Datarate/Core/Inc/gpio_lld.h')
-rw-r--r-- | Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Datarate/Core/Inc/gpio_lld.h | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Datarate/Core/Inc/gpio_lld.h b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Datarate/Core/Inc/gpio_lld.h new file mode 100644 index 000000000..e9ceb78c0 --- /dev/null +++ b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Datarate/Core/Inc/gpio_lld.h @@ -0,0 +1,179 @@ +/* + * gpio_lld.h + * + */ + +#ifndef GPIO_LLD_H_ +#define GPIO_LLD_H_ + +#define GPIO_HARD_FAULT_PIN GPIO_PIN_4 +#define GPIO_HARD_FAULT_PORT GPIOA + +// External PA TX/RX pin is fixed by the chip +#define GPIO_EXT_PA_TX_PIN GPIO_PIN_0 +#define GPIO_EXT_PA_TX_PORT GPIOB +// External PA enable pin is chosen by user +#define GPIO_EXT_PA_EN_PIN GPIO_PIN_9 +#define GPIO_EXT_PA_EN_PORT GPIOB + +void gpio_lld_phy_init( void ); +void gpio_lld_phy_gpioTx_up(void); +void gpio_lld_phy_gpioTx_down(void); +void gpio_lld_phy_gpioHardFault_up(void); +void gpio_lld_phy_gpioHardFault_down(void); +void gpio_lld_phy_gpio1_up(void); +void gpio_lld_phy_gpio1_down(void); +void gpio_lld_phy_gpio2_up(void); +void gpio_lld_phy_gpio2_down(void); +void gpio_lld_phy_deInit(void); + +void gpio_lld_mco_init(uint32_t mcoSource, uint32_t mcoDiv); +void gpio_lld_mco_deInit(void); + +void gpio_lld_extPa_init(void); +void gpio_lld_extPa_deInit(void); + +#ifdef USE_SIMU +void gpio_lld_SimuMaster_init(void); +void gpio_lld_SimuSlave_init(void); +#endif + +void gpio_lld_lpuart_init(void); +void gpio_lld_lpuart_deInit(void); + +void gpio_lld_usart_init(void); +void gpio_lld_usart_deInit(void); + +#if !defined (USE_SIMU) && !defined(USE_FPGA) +void gpio_lld_pa2_init(uint8_t mode); +void gpio_lld_pa2_deInit(void); + +void gpio_lld_dtb_init(uint8_t dtbMode); +void gpio_lld_dtb_deInit(void); +#endif + +void gpio_lld_led1_toggle(void); +void gpio_lld_led2_toggle(void); +void gpio_lld_led3_toggle(void); + +#ifdef STM32WB15xx +#define BUTTON_SW1_EXTI_IRQHandler EXTI0_IRQHandler +#define BUTTON_SW2_EXTI_IRQHandler EXTI4_IRQHandler +#define BUTTON_SW3_EXTI_IRQHandler EXTI9_5_IRQHandler + +/** + * @brief USART pins + */ +#define USART_CLK_ENABLE() __HAL_RCC_USART1_CLK_ENABLE() + +#define USART_TX_AF GPIO_AF7_USART1 +#define USART_TX_GPIO_PORT GPIOA +#define USART_TX_PIN GPIO_PIN_9 +#define USART_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() +#define USART_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() + +#define USART_RX_AF GPIO_AF7_USART1 +#define USART_RX_GPIO_PORT GPIOA +#define USART_RX_PIN GPIO_PIN_10 +#define USART_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() +#define USART_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() + +/** + * @brief LPUART pins + */ +#define LPUART_CLK_ENABLE() __HAL_RCC_LPUART1_CLK_ENABLE() + +#define LPUART_TX_AF GPIO_AF8_LPUART1 +#define LPUART_TX_GPIO_PORT GPIOA +#define LPUART_TX_PIN GPIO_PIN_2 +#define LPUART_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() +#define LPUART_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() + +#define LPUART_RX_AF GPIO_AF8_LPUART1 +#define LPUART_RX_GPIO_PORT GPIOA +#define LPUART_RX_PIN GPIO_PIN_3 +#define LPUART_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() +#define LPUART_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() +#endif + +#ifdef STM32WB35xx +#define BUTTON_SW1_EXTI_IRQHandler EXTI0_IRQHandler +#define BUTTON_SW2_EXTI_IRQHandler EXTI4_IRQHandler +#define BUTTON_SW3_EXTI_IRQHandler EXTI9_5_IRQHandler + +/** + * @brief USART pins + */ +#define USART_CLK_ENABLE() __HAL_RCC_USART1_CLK_ENABLE() + +#define USART_TX_AF GPIO_AF7_USART1 +#define USART_TX_GPIO_PORT GPIOB +#define USART_TX_PIN GPIO_PIN_6 +#define USART_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() +#define USART_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() + +#define USART_RX_AF GPIO_AF7_USART1 +#define USART_RX_GPIO_PORT GPIOB +#define USART_RX_PIN GPIO_PIN_7 +#define USART_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() +#define USART_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() + +/** + * @brief LPUART pins + */ +#define LPUART_CLK_ENABLE() __HAL_RCC_LPUART1_CLK_ENABLE() + +#define LPUART_TX_AF GPIO_AF8_LPUART1 +#define LPUART_TX_GPIO_PORT GPIOB +#define LPUART_TX_PIN GPIO_PIN_5 +#define LPUART_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() +#define LPUART_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() + +#define LPUART_RX_AF GPIO_AF8_LPUART1 +#define LPUART_RX_GPIO_PORT GPIOA +#define LPUART_RX_PIN GPIO_PIN_3 +#define LPUART_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() +#define LPUART_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() +#endif + +#ifdef STM32WB55xx +#define BUTTON_SW1_EXTI_IRQHandler EXTI4_IRQHandler +#define BUTTON_SW2_EXTI_IRQHandler EXTI0_IRQHandler +#define BUTTON_SW3_EXTI_IRQHandler EXTI1_IRQHandler + +/** + * @brief USART pins + */ +#define USART_CLK_ENABLE() __HAL_RCC_USART1_CLK_ENABLE() + +#define USART_TX_AF GPIO_AF7_USART1 +#define USART_TX_GPIO_PORT GPIOB +#define USART_TX_PIN GPIO_PIN_6 +#define USART_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() +#define USART_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() + +#define USART_RX_AF GPIO_AF7_USART1 +#define USART_RX_GPIO_PORT GPIOB +#define USART_RX_PIN GPIO_PIN_7 +#define USART_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() +#define USART_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() + +/** + * @brief LPUART pins + */ +#define LPUART_CLK_ENABLE() __HAL_RCC_LPUART1_CLK_ENABLE() + +#define LPUART_TX_AF GPIO_AF8_LPUART1 +#define LPUART_TX_GPIO_PORT GPIOC +#define LPUART_TX_PIN GPIO_PIN_1 +#define LPUART_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() +#define LPUART_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() + +#define LPUART_RX_AF GPIO_AF8_LPUART1 +#define LPUART_RX_GPIO_PORT GPIOC +#define LPUART_RX_PIN GPIO_PIN_0 +#define LPUART_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() +#define LPUART_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() +#endif + +#endif /* GPIO_LLD_H_ */ |