Adicionar primeiro
This commit is contained in:
53
components/peripherals/include/led.h
Executable file
53
components/peripherals/include/led.h
Executable file
@@ -0,0 +1,53 @@
|
||||
#ifndef LED_H_
|
||||
#define LED_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
/**
|
||||
* @brief Identificadores dos LEDs disponíveis no hardware
|
||||
*/
|
||||
typedef enum {
|
||||
LED_ID_STOP,
|
||||
LED_ID_CHARGING,
|
||||
LED_ID_ERROR,
|
||||
LED_ID_MAX
|
||||
} led_id_t;
|
||||
|
||||
/**
|
||||
* @brief Padrões de comportamento possíveis para os LEDs
|
||||
*/
|
||||
typedef enum {
|
||||
LED_PATTERN_OFF, ///< LED sempre desligado
|
||||
LED_PATTERN_ON, ///< LED sempre ligado
|
||||
LED_PATTERN_BLINK, ///< Pisca com ciclo padrão (500ms on / 500ms off)
|
||||
LED_PATTERN_BLINK_FAST, ///< Pisca rápido (200ms / 200ms)
|
||||
LED_PATTERN_BLINK_SLOW, ///< Pisca lento (300ms / 1700ms)
|
||||
LED_PATTERN_CHARGING_EFFECT ///< Efeito visual para carregamento (2s on / 1s off)
|
||||
} led_pattern_t;
|
||||
|
||||
/**
|
||||
* @brief Inicializa os LEDs com base na configuração da placa
|
||||
* Deve ser chamada uma única vez na inicialização do sistema.
|
||||
*/
|
||||
void led_init(void);
|
||||
|
||||
/**
|
||||
* @brief Define diretamente o tempo ligado/desligado de um LED.
|
||||
* Pode ser usado para padrões personalizados.
|
||||
*
|
||||
* @param led_id Identificador do LED (ver enum led_id_t)
|
||||
* @param ontime Tempo ligado em milissegundos
|
||||
* @param offtime Tempo desligado em milissegundos
|
||||
*/
|
||||
void led_set_state(led_id_t led_id, uint16_t ontime, uint16_t offtime);
|
||||
|
||||
/**
|
||||
* @brief Aplica um dos padrões de piscar definidos ao LED
|
||||
*
|
||||
* @param led_id Identificador do LED (ver enum led_id_t)
|
||||
* @param pattern Padrão desejado (ver enum led_pattern_t)
|
||||
*/
|
||||
void led_apply_pattern(led_id_t led_id, led_pattern_t pattern);
|
||||
|
||||
#endif /* LED_H_ */
|
||||
Reference in New Issue
Block a user