85 lines
1.9 KiB
C
85 lines
1.9 KiB
C
/* 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;
|
|
}
|