Files
DLD154V4B/utilities/at32f421_freertos_demo/inc/cmcng.h
T
wangfq 278d470b60 feat(V4B): Debug串口打印重组 — 频率/采样/基准全量输出 (V4.20)
现场有影响算法的异常待分析, 扩充调试输出:
1. 周期状态行(2s, DBG|前缀): f频率kHz/Xn/LPCNT/Value/CAPVD/slow/Origin/dlt/SENS/VD/FRZ/LIM/LOOP/STBL
   - calc_freq_khz(): f=60000×LPCNT/CAPVD (60MHz捕获时钟, 无车≈99kHz/深车124kHz验证✓)
   - g_slope_limit_cnt: 斜率限幅截断计数(EMI线索, 周期清零)
2. 事件行(EVT|前缀): enter_try(进入线首中)/leave_try(离开线首中)/loop_disconnect/loop_reconnect
   - 原有 Car_In/Car_OFF/Loop stable/Baseline timeout 保留
3. cmcng.h 新增 DEBUG_ENABLE 开关(1=开现场分析 0=关发布)

文档: devlog V2.18
2026-09-02 09:49:24 +08:00

81 lines
1.8 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.20"
#define HARDWARE_VER "3.00"
#define FIRMWARE_VER_MAIN 4
#define FIRMWARE_VER_SUB 20
#define HARDWARE_VER_MAIN 3
#define HARDWARE_VER_SUB 0
#include <stdio.h>
#include <stdint.h>
#ifndef DEBUG_ENABLE
#define DEBUG_ENABLE 1 // 1=调试串口打印开启(现场分析) 0=关闭(发布), V4.20
#endif
#if DEBUG_ENABLE
#ifndef DEBUG
#define DEBUG
#endif
#endif
#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