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。
This commit is contained in:
wangfq
2026-08-27 08:55:20 +08:00
parent 16f5e9b738
commit d1fde88dd1
6 changed files with 920 additions and 919 deletions
@@ -62,7 +62,7 @@ void rs485_init(void)
RS485_RE_RX(); // 默认接收模式
_hb_last_ms = mstick(); // 对齐心跳起始时刻,避免首次立即触发
PRINT("RS485: init ok, addr=%d, baud=%d\n", g_rs485_id, RS485_BAUD);
// PRINT("RS485: init ok, addr=%d, baud=%d\n", g_rs485_id, RS485_BAUD);
}
/*===========================================================================
@@ -126,7 +126,7 @@ static void handle_query_freq(uint8_t addr)
static void handle_reset_init(uint8_t addr)
{
SYS_ResetExecute();
PRINT("RS485: coil reset init\n");
// PRINT("RS485: coil reset init\n");
}
/* 0x3D — 查询拨码 DIP1-5 (DLD154Pro 无物理拨码, 从 BLE 配置映射) */
@@ -222,7 +222,7 @@ static void rs485_process_frame(void)
uint8_t xorr = _rx_buf[2];
if ((stx ^ addr) != xorr) {
PRINT("RS485: XOR fail %02X %02X %02X\n", stx, addr, xorr);
// PRINT("RS485: XOR fail %02X %02X %02X\n", stx, addr, xorr);
_rx_len = 0;
return;
}
@@ -237,9 +237,9 @@ static void rs485_process_frame(void)
case CMD_QUERY_STATUS: handle_query_status(addr); break;
case CMD_QUERY_FREQ: handle_query_freq(addr); break;
case CMD_RESET_INIT: handle_reset_init(addr); break;
case CMD_QUERY_DIP: handle_query_dip(addr); break;
// case CMD_QUERY_DIP: handle_query_dip(addr); break;
default:
PRINT("RS485: unknown cmd 0x%02X\n", stx);
// PRINT("RS485: unknown cmd 0x%02X\n", stx);
break;
}