/****************************************************************************** * @file usr_led_status.h * @brief 状态指示灯:红灯(PA8) / 绿灯(PA7),按上电、BLE、COM、OTA 显示 * @author cyWu <1917507415@qq.com> * @date 2026.08.03 * @version V1.0.0 * @history * - V1.0.0, 2026.08.03, cyWu, 首次发布 * * 显示规则: * 1. 上电 → 红灯常亮 * 2. BLE 连接 → 绿灯常亮 * 3. COM 打开 → 红灯 1Hz 闪烁 * 4. OTA 进行中 → 绿灯 1Hz 闪烁 ******************************************************************************/ #ifndef __USR_LED_STATUS_H__ #define __USR_LED_STATUS_H__ #include /*============================================================================*/ /* 宏定义 (Macro definitions) */ /*============================================================================*/ #define USR_LED_TICK_MS (100) /**< 状态扫描节拍 ms */ #define USR_LED_BLINK_HZ (1) /**< 闪烁频率 */ /*============================================================================*/ /* 错误码 / 返回值 (Error codes) */ /*============================================================================*/ typedef enum { USR_LED_OK = 0, USR_LED_ERR_PARAM, USR_LED_ERR_BUSY, USR_LED_ERR_TIMEOUT, USR_LED_ERR_NOT_INIT, USR_LED_ERR_UNKNOWN } UsrLed_Ret_t; /*============================================================================*/ /* 外部接口 (Public API) */ /*============================================================================*/ /** * @brief 初始化状态灯(上电立即红灯常亮,并启动 100ms 节拍) * @return UsrLed_Ret_t 错误码 */ UsrLed_Ret_t usr_led_status_init(void); /** * @brief 主处理 / 周期调用(一般由内部 timer 驱动) */ void usr_led_status_run(void); /** * @brief 获取当前初始化状态 * @return UsrLed_Ret_t */ UsrLed_Ret_t usr_led_status_get_status(void); #endif /* __USR_LED_STATUS_H__ */