feat(DBNMQTTool): 脱机事件日志命令支持 — log_stat/log_query/log_clear (MQTT V1.06)
- protocol.py: CMD_LOG_* 常量 + LOG_COMMANDS + data_log_query 边界钳制 (start_seq>=1, count 1~4) + LOG_EVENT_TYPE_DESC 事件类型中文描述 - main.py: 参数配置 Tab 新增脱机日志面板 (统计/拉取/清除 + 显示区) - _on_message 响应分发: log_stat 统计展示, log_query 记录格式化 (unix_ts 真实时间 / boot+ts_ms 未同步), log_clear 二次确认 - devlog 追加
This commit is contained in:
@@ -139,3 +139,30 @@ DBNMQTTool/
|
||||
- **主动上报配置**: `report_config` 面板支持完整 7 参数独立开关
|
||||
- `right` 局部变量 → `self._notebook`,修复 tab 引用丢失
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 2026-08-05 — 脱机事件日志命令支持 (MQTT V1.06)
|
||||
|
||||
配合 vd960DBN 固件 P1.3(commit 1a01316)+ 协议 V1.06,工具新增脱机事件日志面板(参数配置 Tab 底部):
|
||||
|
||||
### 新增命令
|
||||
|
||||
| 命令 | 按钮 | 说明 |
|
||||
|------|------|------|
|
||||
| `log_stat` | 统计 | 日志统计/分页定位: enabled/boot_seq/count/capacity/seq_first/seq_last |
|
||||
| `log_query` | 拉取日志 | 按全局序号分页拉取, 起始序号 + 条数(1~4) 可调 |
|
||||
| `log_clear` | 清除日志 | 二次确认弹窗, 审计留痕不可撤销 |
|
||||
|
||||
### 实现要点
|
||||
|
||||
- `protocol.py`: 新增 `CMD_LOG_*` 常量、`LOG_COMMANDS` 集合、`data_log_query()` 构建器(start_seq≥1 / count 1~4 边界钳制)、`LOG_EVENT_TYPE_DESC` 事件类型中文描述(10 类 + unknown)
|
||||
- `main.py`: 参数配置 Tab 新增 g6 组(起始序号/条数 spinbox + 三按钮 + 只读显示区 QPlainTextEdit)
|
||||
- `_on_message` code==0 分支新增 `log_stat`/`log_query`/`log_clear` 响应处理
|
||||
- 显示优化: log_query 记录带事件类型中文描述; unix_ts 已同步显示真实时间, 未同步显示 `boot+ts_ms(未同步)`
|
||||
- 清除日志前 QMessageBox 二次确认(防误触, 与出厂初始化/设备复位同模式)
|
||||
|
||||
### 验证
|
||||
|
||||
- `py_compile` 四个模块通过
|
||||
- protocol 逻辑单测: data_log_query 边界钳制 (0→1, 99→4, 0→1)、命令枚举一致性、build_request 带 data
|
||||
|
||||
Reference in New Issue
Block a user