Files
wangfq d1fde88dd1 feat(DLD154Pro): RS485 省 Flash 减配 + 固件 V3.05
为节省 Flash 资源,注释掉 RS485 侧一批低频/非核心协议分支与调试打印:
- Modbus: FC 0x03(读保持寄存器)/0x10(批量写)/0x11(Report Slave ID)分发禁用;
  IR 0x0006/0x0007(Variation)/0x000A/0x000B/0x000C 读禁用(Variation 走全数据块
  0x010A/0x010B);HR 0x0000–0x0004/0x0009/0x000A 写禁用(FC 0x06 仅剩
  0x0010/0x0011/0x0012 有效)
- 700BS: 0x3D DIP 查询禁用 + 4 处调试 PRINT 移除
- MB_MAX_READ_REGS 125→40(40×2=80B 与 MB_MAX_DATA_BYTES 匹配,原 60 会越界 40B)
- 呼吸灯光耦加速步长 32→64;OTA 跳转前 mDelaymS(5) 移除
- cmcng.h 版本 V3.04 → V3.05(字符串 + SUB 宏同步)

协议文档已同步标注未实现(rs485-modbus V1.8 / rs485-700bs),见 docs commit。
2026-08-27 08:55:20 +08:00

64 lines
2.2 KiB
C

/*
* cmcng.h
*
* Created on: Aug 27, 2024
* Author: Thinkpad
* 2026-07-18: 算法移植 DLD154V4B, 移除 FltHistoryManager / SecondOrderState /
* StageRangeConfig 等旧算法结构
*/
#ifndef INCLUDE_CMCNG_H_
#define INCLUDE_CMCNG_H_
#include <stdint.h>
/*********************************************************************
* GLOBAL TYPEDEFS
*/
#define PRODUCT_MODEL "DLD154Pro"
#define FIRMWARE_VER "3.05"
#define HARDWARE_VER "3.01"
#define FIRMWARE_VER_MAIN 3
#define FIRMWARE_VER_SUB 5
/* 归一化基数: variation 换算 dL/L 时除以该值 (2^19=524288, 必须与 peripheral_main.c MEASUREMENT_BASE 同步) */
#define LOOP_MEASURE_BASE 524288L
#define HARDWARE_VER_MAIN 3
#define HARDWARE_VER_SUB 1
/* 功能模式? (direction_mode ?4?, 协议保留; 新算法不再消?) */
#define FUNCTION_A 0x01 // 二次判断 (已废?)
#define FUNCTION_B 0x02 // 二次判断增强条件判断 (已废?)
#define FUNCTION_C 0x04 //
#define FUNCTION_D 0x08 //
extern uint16_t g_hold_time;
extern char g_flag_debug;
extern uint8_t g_dev_number[6];
extern uint8_t MACAddr[6];
extern uint8_t g_loop_cut_last;
extern uint32_t g_loop_cut_amount;
extern uint8_t g_loop_power_up_state;
extern uint8_t g_function_mode;
extern uint8_t g_fm_700bs_disable ; //0: 700bs protocol; 1 Modbus protocol
extern uint8_t g_output_radar_mode;
extern uint8_t g_opt_trigger; // 光耦/雷达 处理后触发信号 (1=有效)
/* 新算法状? (DLD154V4B 移植) */
extern uint8_t g_loop_stable; // 稳定期结束标? (0=收敛?, 1=稳定)
extern uint8_t g_env_activity; // 环境活跃? (BLE condition 字段来源)
extern uint8_t g_storage_uart_num;
extern uint32_t g_storage_uart_baud;
extern uint8_t g_max_counter_bt_min;
extern uint32_t g_max_counter_bt_timeout;
extern uint8_t g_rs485_id;
uint32_t mstick(void);
#endif /* INCLUDE_CMCNG_H_ */