1、喷淋器 P1/P2功能实现

2、红灯按连接态慢闪
This commit is contained in:
2026-09-09 19:57:00 +08:00
parent 074960eb02
commit 0dd65e1552
31 changed files with 2805 additions and 258 deletions
+27 -3
View File
@@ -1,6 +1,6 @@
/******************************************************************************
* @file led_manager.c
* @brief CBR2 红绿 LED 事件表:绿=作业态,红=配对态(规格书第 6 章)
* @brief CBR2 红绿 LED 事件表:绿=作业态,红=连接/配网态(规格书第 6 章)
* @author cyWu <1917507415@qq.com>
* @date 2026.09.09
* @version V1.0.0P0 Bring-up(独立通道,区别于加热垫互斥灯)
@@ -18,6 +18,7 @@ static uint8_t led_grn_idle_handler(LED_Config_t *led_config);
static uint8_t led_grn_spray_handler(LED_Config_t *led_config);
static uint8_t led_red_paired_handler(LED_Config_t *led_config);
static uint8_t led_red_pairing_handler(LED_Config_t *led_config);
static uint8_t led_red_reconn_handler(LED_Config_t *led_config);
static uint8_t led_pair_fail_handler(LED_Config_t *led_config);
static uint8_t led_ota_handler(LED_Config_t *led_config);
@@ -60,7 +61,7 @@ static uint8_t led_grn_spray_handler(LED_Config_t *led_config)
}
/**
* @brief 红灯常亮(已配对,粘住):只动红灯,放行绿灯通道
* @brief 红灯常亮(BLE 已连接):只动红灯,放行绿灯通道
* @param led_config 配置
* @return 0=放行其它优先级
*/
@@ -81,6 +82,17 @@ static uint8_t led_red_pairing_handler(LED_Config_t *led_config)
return 0;
}
/**
* @brief 红灯慢闪(已配对未连接 / 重连中 500ms):只动红灯,放行绿灯
* @param led_config 配置
* @return 0=放行其它优先级
*/
static uint8_t led_red_reconn_handler(LED_Config_t *led_config)
{
(void)LED_Update(led_config);
return 0;
}
/**
* @brief 配对失败红绿交替 3s:到点自删,交回双通道常态
* @param led_config 配置
@@ -136,7 +148,7 @@ void user_led_init(void)
.ledEventHandler = led_grn_spray_handler,
},
[LED_EVENT_RED_PAIRED] = {
/* 已配对(含断连重连、上电已配对):红灯常亮粘住,不碰绿灯 */
/* BLE 已连接:红灯常亮,不碰绿灯 */
.event = LED_EVENT_RED_PAIRED,
.priority = PRIORITY_2,
.config.ledMask = LED_CHANNEL(LED_CH_RED),
@@ -156,6 +168,18 @@ void user_led_init(void)
.config.runNum = 0,
.ledEventHandler = led_red_pairing_handler,
},
[LED_EVENT_RED_RECONN] = {
/* 已配对未连接(上电重连 / 断连):红灯 500ms 慢闪,不碰绿灯 */
.event = LED_EVENT_RED_RECONN,
.priority = PRIORITY_2,
.config.ledMask = LED_CHANNEL(LED_CH_RED),
.config.state = LED_BLINKING,
.config.blinkParams.orDer = 0,
.config.blinkParams.onTime = BOARD_LED_RECONN_ON_MS,
.config.blinkParams.offTime = BOARD_LED_RECONN_OFF_MS,
.config.runNum = 0,
.ledEventHandler = led_red_reconn_handler,
},
[LED_EVENT_PAIR_FAIL] = {
/* 配对失败:红绿交替 3s 后自删(半周期 BOARD_LED_PAIR_FAIL_MS */
.event = LED_EVENT_PAIR_FAIL,