现场(2026-09-02实测): 线圈旁金属板A上电把Origin学低(128096),A拿走CAPVD弹回 真空场(128856) dev=+761(0.59%),被36321a1双向保护"dev>0永不更新"永久冻结 → B触发需809cnt(正常54cnt) 灵敏度假性降低且不恢复(V4.20分钟级可自愈) 修复: dev>+4dlt高位两段式受控重校准 ① 60s(ENV_RESYNC_WAIT)高位连续未回摆 → 判定永久环境变化(瞬态铁块类不污染) ② 学习基线B: 连续空闲窗200tick均值 + settle判稳(连续2窗漂移≤0.1%) ③ 空闲原子替换Origin, 清freeze/ORG/entry残留, slow snap, 黄灯恢复 - 学习期打断(回窗/dev<0/断线重连)→重算; 30s预算超时放弃保留旧Origin - 黄灯模式4: 环境学习中常亮(优先级: 断开快闪>学习常亮>N短闪>灭) - tests/test_env_resync.c 5场景ALL PASS(恢复66s/瞬态不学/打断重算/放弃/不震荡) - docs: devlog V2.22 + spec V2.3 + 产品手册 V2.7 同步
73 lines
1.7 KiB
C
73 lines
1.7 KiB
C
/**
|
|
**************************************************************************
|
|
* @file cmcng.h
|
|
* @version v1.0
|
|
* @date 2025-09-08
|
|
* @brief һЩÅäÖÃ
|
|
**************************************************************************
|
|
* Copyright notice & Disclaimer
|
|
* * Create 2025-09-08 by wangfq
|
|
* *
|
|
**************************************************************************
|
|
*/
|
|
#ifndef __CMCNG_H__
|
|
#define __CMCNG_H__
|
|
|
|
#define PRODUCT_MODEL "DLD154"
|
|
#define FIRMWARE_VER "4.24"
|
|
#define HARDWARE_VER "3.00"
|
|
#define FIRMWARE_VER_MAIN 4
|
|
#define FIRMWARE_VER_SUB 24
|
|
#define HARDWARE_VER_MAIN 3
|
|
#define HARDWARE_VER_SUB 0
|
|
|
|
|
|
#include <stdio.h>
|
|
#include <stdint.h>
|
|
|
|
|
|
#ifdef DEBUG
|
|
#define PRINT(X...) printf(X)
|
|
#else
|
|
#define PRINT(X...)
|
|
#endif
|
|
|
|
|
|
|
|
typedef struct _LOOP_ACS_INFO
|
|
{
|
|
uint8_t flag_event;
|
|
uint8_t loop_num;
|
|
uint8_t freq_level;
|
|
uint8_t sensity;
|
|
uint8_t relay1_cng;
|
|
uint8_t relay1_state;
|
|
uint8_t relay2_cng;
|
|
uint8_t relay2_state;
|
|
uint8_t loop_state;
|
|
uint8_t output_mode;
|
|
uint8_t dir_mode;
|
|
uint8_t delay;
|
|
uint8_t car_state;
|
|
uint8_t direction;
|
|
uint8_t flag_loop_safe;
|
|
uint32_t loop_safe_counter;
|
|
uint8_t condition;
|
|
uint32_t frequent;
|
|
uint32_t loop_capvd;
|
|
int16_t variation;
|
|
uint32_t event_counter;
|
|
uint32_t report_counter;
|
|
} Loop_ACS_Info;
|
|
extern Loop_ACS_Info g_loop_acs_info;
|
|
|
|
|
|
extern uint8_t g_flag_output;
|
|
extern uint8_t g_flag_output2;
|
|
|
|
extern uint8_t g_input_div;
|
|
|
|
|
|
|
|
#endif
|