#ifndef STATUS_LED_H #define STATUS_LED_H #include "driver/gpio.h" #include "esp_log.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" // LED 状态枚举 typedef enum { LED_OFF = 0, LED_ON = 1, LED_BLINK_SLOW, LED_BLINK_FAST, LED_HEARTBEAT } led_state_t; /** * @brief 初始化状态LED * * 配置两个LED引脚为输出模式并启动控制任务 */ void status_led_init(void); /** * @brief 控制指定LED的状态 * * @param led_num LED编号 (1 或 2) * @param state LED状态 (0=关闭, 1=开启) */ void status_led_set(uint8_t led_num, uint8_t state); /** * @brief 切换指定LED的状态 * * @param led_num LED编号 (1 或 2) */ void status_led_toggle(uint8_t led_num); /** * @brief 设置LED为闪烁模式 * * @param led_num LED编号 (1 或 2) * @param mode 闪烁模式 (0=慢闪, 1=快闪, 2=心跳) */ void status_led_blink_mode(uint8_t led_num, uint8_t mode); /** * @brief 销毁LED控制任务 * * @param led_num LED编号 (1 或 2) */ void status_led_deinit(uint8_t led_num); /** * @brief 获取LED当前状态 * * @param led_num LED编号 (1 或 2) * @return 当前LED状态 */ led_state_t status_led_get_state(uint8_t led_num); #endif // STATUS_LED_H