/****************************************************************************** * @file app_led.h * @brief CBR3 灯效:单灯 PC2,OTA/配对/常亮按优先级 * @author cyWu <1917507415@qq.com> * @date 2026.08.31 * @version V1.1.0,新增长按 5s 的"将配网"提示灯(配对改由运行态长按触发, * 需要在按住期间给反馈) ******************************************************************************/ #ifndef __APP_LED_H__ #define __APP_LED_H__ #include typedef enum { APP_LED_OK = 0, APP_LED_ERR_NOT_INIT } AppLed_Ret_t; /** * @brief 灯效初始化,先全灭 * @return APP_LED_OK=成功 */ AppLed_Ret_t app_led_init(void); /** * @brief 按优先级刷新灯:配对从 app_pair 取,功能开关由调用方传入 * @param dt 距上次调用的毫秒数 * @param power_on 1=开机态,0=关机态(灯灭) * @return 无 */ void app_led_run(uint16_t dt, uint8_t power_on); /** * @brief 重新挂开机常亮 * @return 无 */ void app_led_hint_power_on(void); /** * @brief 长按满 5s 的"松手即配网"提示:清掉其它灯,挂配对快闪 * @note 此时还没清绑定(要等松手),只是给按住的用户一个反馈 * @return 无 */ void app_led_hint_pair(void); /** * @brief 结束"将配网"提示(配对会话已由 app_pair 接管,或改判为 OTA) * @return 无 */ void app_led_clear_pair_hint(void); /** * @brief 进入 OTA:清掉其它灯,挂 200ms 闪一直闪 * @return 无 */ void app_led_request_ota(void); /** * @brief 查询是否处于 OTA 灯效 * @return 1=OTA 灯效中,0=否 */ uint8_t app_led_is_ota(void); /** * @brief 清空全部灯事件并灭灯(关机前调用) * @return 无 */ void app_led_clear(void); /** * @brief 查询是否已初始化 * @return APP_LED_OK=已初始化,APP_LED_ERR_NOT_INIT=未初始化 */ AppLed_Ret_t app_led_get_status(void); #endif /* __APP_LED_H__ */