Files
odroid-power-mate/main/include/indicator.h

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