/* Includes ----------------------------------------------------------------- */ #include "bsp_led.h" #include "gpio.h" /* Private define ----------------------------------------------------------- */ /* Private macro ------------------------------------------------------------ */ /* Private typedef ---------------------------------------------------------- */ /* Private variables -------------------------------------------------------- */ /* Private function -------------------------------------------------------- */ /* Exported functions ------------------------------------------------------- */ uint8_t BSP_LED_Set(BSP_LED_Channel_t ch, BSP_LED_Status_t s, int16_t duty_cycle) { GPIO_TypeDef *gpiox; uint16_t gpio_pin; switch (ch) { case BSP_LED1: gpio_pin = LED1_Pin; gpiox = LED1_GPIO_Port; break; case BSP_LED2: gpio_pin = LED2_Pin; gpiox = LED2_GPIO_Port; break; case BSP_LED3: gpio_pin = LED3_Pin; gpiox = LED3_GPIO_Port; break; case BSP_LED4: gpio_pin = LED4_Pin; gpiox = LED4_GPIO_Port; break; case BSP_LED5: gpio_pin = LED5_Pin; gpiox = LED5_GPIO_Port; break; case BSP_LED6: gpio_pin = LED6_Pin; gpiox = LED6_GPIO_Port; break; case BSP_LED7: gpio_pin = LED7_Pin; gpiox = LED7_GPIO_Port; break; case BSP_LED8: gpio_pin = LED8_Pin; gpiox = LED8_GPIO_Port; break; case BSP_LED_RED: gpiox = LED_R_GPIO_Port; gpio_pin = LED_R_Pin; break; case BSP_LED_GRN: gpiox = LED_G_GPIO_Port; gpio_pin = LED_G_Pin; break; } switch (s) { case BSP_LED_ON: HAL_GPIO_WritePin(gpiox, gpio_pin, GPIO_PIN_RESET); break; case BSP_LED_OFF: HAL_GPIO_WritePin(gpiox, gpio_pin, GPIO_PIN_SET); break; case BSP_LED_TAGGLE: HAL_GPIO_TogglePin(gpiox, gpio_pin); break; } return 0; }