删除条件配置功能,修改成联动配置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
+25 -10
View File
@@ -1,14 +1,21 @@
/******************************************************************************
* @file app_nvm.h
* @brief CBR3 VM 持久化(P1 起):mode/fan_gear/条件/定时/使能
* @brief CBR3 VM 持久化(P1 起):mode/fan_gear/联动/定时/运行记录/使能
* @author cyWu <1917507415@qq.com>
* @date 2026.08.31
* @version V1.1.0,实现:3 个 VM item(状态/条件/定时)+ 500ms 防抖写入 +
* 立即写接口
* @date 2026.09.02
* @version V2.0.0(规格书 V3.0.0):删除 CFG_USER_CBR3_COND(49B 条件配置)
* 与 cond_en;新增 linkage 20B + run_record 124B**VM 版本升到 2**
* 旧条件数据**不迁移**(当新设备,走首次上电默认值)
*
* @note 存:mode、fan_gear、cond_en、cond_config1~7、time_en、time_config1~7、
* fault_en、alarm_en。不存:DP0、条件作废标志、模式已运行秒数、原始采样
* 写 VM 时机:APP 改配置后、单次定时自毁、档位/模式稳定变化(500ms 防抖)。
* @note 存:mode、fan_gear、linkage_config(20B)、time_en、time_config1~7、
* run_record(31×uint32 + slot0 日期)、fault_en、alarm_en
* 不存:DP0、联动作废标志、模式已运行秒数、原始采样、
* linkage_delete(脉冲,RAM 瞬态)、BLE 三元组。
* 写 VM 时机:APP 改配置后、单次定时自毁、档位/模式稳定变化
* (500ms 防抖);运行记录每累计 10 分钟一次、跨天旋转立刻写。
*
* ⚠ 写 flash 只能在任务上下文(app_nvm_flush / app_nvm_save /
* app_nvm_save_runrec),20ms 中断上下文只允许 app_nvm_tick 打脏。
******************************************************************************/
#ifndef __APP_NVM_H__
@@ -30,8 +37,16 @@ void app_nvm_init(void);
void app_nvm_save(void);
/**
* @brief 从 VM 加载业务字段并应用(开机 3s 后调用):
* mode/fan_gear 恢复、条件/定时配置回填 gDevData;mode 从周期头开跑
* @brief 立即保存运行记录 item(跨天旋转时用,任务上下文)
* @note 与 app_nvm_save 的区别:只写 31 天记录这一项,避免跨天时把
* 状态/配置一起无谓擦写一遍
* @return 无
*/
void app_nvm_save_runrec(void);
/**
* @brief 从 VM 加载业务字段并应用(开机调用):
* mode/fan_gear 恢复、联动/定时/运行记录回填 gDevData;mode 从周期头开跑
* @return 无
*/
void app_nvm_load(void);
@@ -60,7 +75,7 @@ void app_nvm_mark_dirty(void);
/**
* @brief 出厂重置:清全部业务 VM(保留 BLE 配对,规格书第 14 章)
* @note 由 jb_product DP25 调用;RAM 复位由调用方完成
* @note 由 jb_product DP27 调用;RAM 复位由调用方完成
* @return 无
*/
void app_nvm_reset(void);