P0/P1/P2功能实现:接入业务组合根(按键/LED/过零/配网/OTA),联动、11B定时、运行记录、灯泡寿命(DP3/DP4/DP25)、CBR0 VM、512分包
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
/******************************************************************************
|
||||
* @file app_led.h
|
||||
* @brief 灯效:跟继电器实际态;OTA / 配对优先(规格书第 6 章)
|
||||
* @author cyWu <1917507415@qq.com>
|
||||
* @date 2026.09.04
|
||||
* @version V1.1.0
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef __APP_LED_H__
|
||||
#define __APP_LED_H__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
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 按优先级刷新灯(每 20ms 业务节拍调用)
|
||||
* @param dt 距上次调用的毫秒数
|
||||
* @note 内部读继电器实际态挂 HEAT 事件;同时推进配对会话计时
|
||||
* (app_pair_tick_1ms)并消费配对成功/失败边沿事件。
|
||||
* @return 无
|
||||
*/
|
||||
void app_led_run(uint16_t dt);
|
||||
|
||||
/**
|
||||
* @brief 长按满 5s 的"松手即配网"提示:绿灯 100ms 快闪(红灯灭)
|
||||
* @note 此时还没清绑定(要等松手),只是给按住的用户反馈
|
||||
* @return 无
|
||||
*/
|
||||
void app_led_hint_pair(void);
|
||||
|
||||
/**
|
||||
* @brief 结束"将配网"提示(配对会话已由 app_pair 接管,或改判为 OTA)
|
||||
* @return 无
|
||||
*/
|
||||
void app_led_clear_pair_hint(void);
|
||||
|
||||
/**
|
||||
* @brief 进入 OTA:清掉其它灯,挂红绿交替一直闪(最高优先级)
|
||||
* @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__ */
|
||||
Reference in New Issue
Block a user