删除条件配置功能,修改成联动配置DP,并且增加31天运行记录,修改程序需求

This commit is contained in:
2026-09-03 10:21:11 +08:00
parent 5377186cfb
commit d56d8204e1
31 changed files with 1609 additions and 1430 deletions
+18 -20
View File
@@ -2,12 +2,9 @@
* @file app_function.c
* @brief CBR3 功能总装实现
* @author cyWu <1917507415@qq.com>
* @date 2026.08.31
* @version V2.2.0,上电即开机:短按切档;长按分级满 5s 提示→松手提交配对、
* 满 12s 到点进 OTA;配对/OTA 的实质动作(清绑定写 VM、
* usr_app_ota_init)统一放 app_function_loop(任务上下文)执行,
* 中断层只置标志;DP0 power 恒为开机态(规格书 0 章第 5 条:预留
* 不当开关),已删除 soft_off/is_power_on 等围绕"可关机"的死代码
* @date 2026.09.02
* @version V3.0.0(规格书 V3.0.0):app_cond → app_linkage/app_runrec
* 出厂重置改清联动 20B + 31 天运行记录(DP27,规格书第 14 章)
******************************************************************************/
#include "system/includes.h" /* 必须先于 app_main.hu8/u16/u32 等类型由 SDK 定义 */
@@ -18,13 +15,15 @@
#include "app_nvm.h"
#include "app_defer.h"
#include "app_arbiter.h"
#include "app_cond.h"
#include "app_linkage.h"
#include "app_runrec.h"
#include "app_timer_task.h"
#include "app_th.h"
#include "app_led.h"
#include "app_main.h"
#include "usr_le_api.h"
#include "jb_product.h"
#include "board_pin.h"
#include <string.h>
#define LOG_TAG_CONST APP
@@ -82,7 +81,7 @@ void app_function_poll(void)
{
gDevData.fan_gear = app_fan_get_gear(); /* DP2 必须等于当前真实档位 */
gDevData.mode = app_mode_get_active();
/* DP22:传感器连续失败报 1;2 预留,温湿度比较异常只走显示闪烁不上报 */
/* DP24 fault_code:传感器连续失败报 1;2 预留,温湿度出范围只走显示闪烁不上报8.2 */
gDevData.fault_code = app_th_is_fault() ? 1 : 0;
}
@@ -97,7 +96,7 @@ void usr_on_key_short(void)
{
uint8_t g;
app_arbiter_manual_intervene(); /* 手动动作:释放条件/定时占用(12 章) */
app_arbiter_manual_intervene(); /* 手动动作:释放联动/定时占用 + 本轮联动作废12 章) */
app_mode_stop(); /* 退模式(不动档位,下面立刻切循环下一档) */
g = app_fan_get_gear(); /* 当前实际档:手动=手动档;模式中=模式强制档(1/3) */
g = (uint8_t)((g + 1) % 4); /* 1→2→3→0→1 */
@@ -151,17 +150,15 @@ void usr_on_key_ota_start(void)
}
/**
* @brief 出厂重置:清业务 VM 与 RAM,保留 BLE 配对(规格书 14 章)
* @brief 出厂重置:清业务 VM 与 RAM,保留 BLE 配对(规格书 14 章)
* @note 清联动 20B、定时 7 组、31 天运行记录(VM 由 app_nvm_reset 全清);
* RAMmode/gear/fan 停、联动作废清掉(app_linkage_init)、
* 运行记录清零。不断开、不软复位。
* @return 无
*/
void app_function_factory_reset(void)
{
uint8_t i;
uint8_t *c[7] = {
gDevData.cond_config1, gDevData.cond_config2, gDevData.cond_config3,
gDevData.cond_config4, gDevData.cond_config5, gDevData.cond_config6,
gDevData.cond_config7
};
uint8_t *tm[7] = {
gDevData.time_config1, gDevData.time_config2, gDevData.time_config3,
gDevData.time_config4, gDevData.time_config5, gDevData.time_config6,
@@ -169,21 +166,22 @@ void app_function_factory_reset(void)
};
app_nvm_reset();
app_arbiter_init();
app_cond_init();
app_timer_init();
app_arbiter_init(); /* owner=NONE */
app_linkage_init(); /* 联动配置 RAM 清零 + 作废标志清掉(init 不清配置,这里显式清) */
memset(gDevData.linkage_config, 0, BOARD_LINKAGE_CFG_LEN);
app_runrec_reset(); /* 31 天运行记录清零(14 章) */
app_timer_init(); /* 定时引擎状态复位 */
app_mode_stop();
app_fan_set_gear(0);
gDevData.mode = 0;
gDevData.fan_gear = 0;
gDevData.cond_en = 0;
gDevData.linkage_delete = 0;
gDevData.time_en = 0;
gDevData.fault_en = 0;
gDevData.alarm_en = 0;
gDevData.fault_code = 0;
gDevData.alarm_code = 0;
for (i = 0; i < 7; i++) {
memset(c[i], 0, 7);
memset(tm[i], 0, 8);
}
log_info("factory reset: business vm cleared, pairing kept\n");