/******************************* (C) LiteMesh ********************************** * @module led * @file led.c * @version 1.0.0 * @date XX.XX.XXXX * $brief Template ******************************************************************************* * @history Version Author Comment * XX.XX.XXXX 1.0.0 Telenkov D.A. First release. ******************************************************************************* */ #include "stm32f4xx.h" #include "gpio.h" #include "led.h" #define LEDS_EXPAND_OFF(id, ...) \ LED_Off(id); #define LED_ALL_OFF() \ LEDS(LEDS_EXPAND_OFF) \ /** * @brief * @retval */ void LED_Init(void) { LED_ALL_OFF(); } /** * @brief Мигает красным, индикация ошибки */ void LED_Blinky_Red(void) { LED_Toggle(LED_INIT_ERR); } /** * @brief Мигает желтым, индикация режима IAPviaSD */ void LED_Blinky_Yellow(void) { LED_Toggle(LED_INIT_ERR); LED_Toggle(LED_INIT_OK); } /** * @brief Мигает зеленым, индикация режима IAPviaETH */ void LED_Blinky_Green(void) { LED_Toggle(LED_INIT_OK); } /** * @brief */ void LED_On(gpio_t pin) { gpio_set(pin, 1); } /** * @brief */ void LED_Off(gpio_t pin) { gpio_set(pin, 0); } /** * @brief Изменить состояние LED */ void LED_Toggle(gpio_t pin) { gpio_invert_output(pin); } /******************************* (C) LiteMesh *********************************/