1、喷淋器 P1/P2功能实现
2、红灯按连接态慢闪
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/******************************************************************************
|
||||
* @file usr_jb_main.c
|
||||
* @brief CBR2 业务组合根:只编排调用顺序(P0 双键/双灯/双脚泵)
|
||||
* @brief CBR2 业务组合根:只编排调用顺序(20ms tick + 500ms loop)
|
||||
* @author cyWu <1917507415@qq.com>
|
||||
* @date 2026.09.09
|
||||
* @version V1.0.0
|
||||
@@ -9,7 +9,6 @@
|
||||
*
|
||||
* @note jb_product.c 不写业务。20ms tick 禁止写 VM / 切 BLE;
|
||||
* 配对、OTA、落盘在 500ms usr_timer_loop(任务上下文)。
|
||||
* P0 关闭 LINKAGE/TIMER/TH_SCAN/RUNREC/NVM(board_pin.h)。
|
||||
******************************************************************************/
|
||||
|
||||
#include "system/includes.h"
|
||||
@@ -30,6 +29,12 @@
|
||||
#include "app_led.h"
|
||||
#include "app_pump.h"
|
||||
#include "app_spray.h"
|
||||
#include "app_nvm.h"
|
||||
#include "app_arbiter.h"
|
||||
#include "app_th_scan.h"
|
||||
#include "app_linkage.h"
|
||||
#include "app_timer_task.h"
|
||||
#include "app_runrec.h"
|
||||
#include "key_manager.h"
|
||||
|
||||
#define LOG_TAG_CONST APP
|
||||
@@ -72,6 +77,8 @@ static void usr_timer_tick(void *priv)
|
||||
user_key_handle(); /* 派发按键回调:喷淋启停 / 配对提示 / OTA 标志 */
|
||||
app_spray_poll(dt); /* 作业引擎:时长/间隔倒数,到点切泵(唯一切泵者) */
|
||||
app_function_poll(); /* 同步 DP1 = 作业态(含间隔等待) */
|
||||
app_nvm_tick(dt); /* VM 防抖计时(只计时,写入在任务上下文) */
|
||||
app_runrec_tick(dt); /* 泵实际导通折秒(只累计,写入在任务上下文) */
|
||||
app_led_run(dt); /* 绿=作业态、红=配对态;内部推进配对会话 */
|
||||
}
|
||||
|
||||
@@ -101,8 +108,16 @@ void usr_jb_init(void)
|
||||
jbInit();
|
||||
userInit(); /* DP7 默认 10s×3+3s 已就位 */
|
||||
|
||||
app_nvm_init();
|
||||
app_nvm_load(); /* VM 有效则覆盖 DP7/计划/plan_en;DP1/泵不恢复(不自动喷) */
|
||||
|
||||
app_pump_init(); /* 泵两脚低(bsp_hw 已配),状态清零 */
|
||||
app_spray_init(); /* 作业引擎:空闲不喷 */
|
||||
app_th_scan_init();
|
||||
app_linkage_init(); /* 联动引擎(湿度回差,P2) */
|
||||
app_timer_init(); /* 计划引擎(到点触发一轮,P2) */
|
||||
app_runrec_init(); /* 31 天运行记录(P2) */
|
||||
app_arbiter_init();
|
||||
app_function_init();
|
||||
|
||||
user_key_init(); /* 双键:PB1 喷淋短按 / PA0 配网 5s-12s */
|
||||
@@ -113,9 +128,11 @@ void usr_jb_init(void)
|
||||
/* priority=1 常驻注册,永不重挂(5V 常电不需要低功耗) */
|
||||
usr_timer_add(NULL, usr_timer_tick, USR_TIMER_IDLE_MS, 1);
|
||||
|
||||
log_info("sprayer P0 up: led=%d key=%d pump=%d spray=%d\n",
|
||||
log_info("sprayer up: led=%d key=%d pump=%d spray=%d lkg=%d tmr=%d scan=%d rec=%d nvm=%d\n",
|
||||
BOARD_LED_ENABLE, BOARD_KEY_ENABLE,
|
||||
BOARD_PUMP_ENABLE, BOARD_SPRAY_ENABLE);
|
||||
BOARD_PUMP_ENABLE, BOARD_SPRAY_ENABLE,
|
||||
BOARD_LINKAGE_ENABLE, BOARD_TIMER_ENABLE,
|
||||
BOARD_TH_SCAN_ENABLE, BOARD_RUNREC_ENABLE, BOARD_NVM_ENABLE);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -137,5 +154,10 @@ void usr_timer_loop(void)
|
||||
{
|
||||
userHandle();
|
||||
jbProtocolHandle(&gDevData);
|
||||
app_function_loop(); /* 配对/OTA 动作落地(app_defer 消费) */
|
||||
app_arbiter_poll(); /* 轮结束收口:单次自毁/出队/联动补判 */
|
||||
app_th_scan_tick(); /* 断连已配对:重连广播/扫描 500ms 交替 */
|
||||
app_linkage_run(500); /* 湿度回差开停 */
|
||||
app_timer_run(500); /* 计划到点入队 + 空闲起轮 */
|
||||
app_runrec_rotate_if_needed(); /* 收 pending 秒/灌 DP18/跨天旋转 */
|
||||
app_function_loop(); /* VM 防抖落盘 + 配对/OTA 落地 */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user