55 lines
1.3 KiB
C
55 lines
1.3 KiB
C
//
|
|
// Created by shinys on 25. 7. 29.
|
|
//
|
|
|
|
#ifndef LED_H
|
|
#define LED_H
|
|
|
|
/**
|
|
* @brief Defines the different blinking patterns for the LEDs.
|
|
*/
|
|
enum blink_type
|
|
{
|
|
BLINK_SLOW = 0, ///< Slow blinking pattern.
|
|
BLINK_FAST, ///< Fast blinking pattern.
|
|
BLINK_DOUBLE, ///< Double blink pattern.
|
|
BLINK_TRIPLE, ///< Triple blink pattern.
|
|
BLINK_SOLID, ///< Solid (always on) state.
|
|
BLINK_MAX, ///< Sentinel for the number of blink types.
|
|
};
|
|
|
|
/**
|
|
* @brief Defines the available LEDs that can be controlled.
|
|
*/
|
|
enum blink_led
|
|
{
|
|
LED_RED = 0, ///< The red LED.
|
|
LED_BLU = 1, ///< The blue LED.
|
|
LED_MAX, ///< Sentinel for the number of LEDs.
|
|
};
|
|
|
|
/**
|
|
* @brief Initializes the LED indicator system.
|
|
*
|
|
* This function sets up the GPIOs and timers required for the LED blinking patterns.
|
|
* It should be called once during application startup.
|
|
*/
|
|
void init_led(void);
|
|
|
|
/**
|
|
* @brief Sets a specific blinking pattern for an LED.
|
|
*
|
|
* @param led The LED to control (e.g., LED_RED, LED_BLU).
|
|
* @param type The blinking pattern to apply (e.g., BLINK_FAST, BLINK_SOLID).
|
|
*/
|
|
void led_set(enum blink_led led, enum blink_type type);
|
|
|
|
/**
|
|
* @brief Turns off a specific LED.
|
|
*
|
|
* @param led The LED to turn off.
|
|
*/
|
|
void led_off(enum blink_led led);
|
|
|
|
#endif // LED_H
|