|
| 1 | +# Fluent 串口助手功能需求规划 |
| 2 | + |
| 3 | +本文档记录后续功能增强方向。需求基于当前代码和 README 中已经具备的能力整理,避免重复规划已完成工作。 |
| 4 | + |
| 5 | +## 已有能力基线 |
| 6 | + |
| 7 | +- 串口扫描:端口名、描述、厂商、VID/PID、序列号。 |
| 8 | +- 连接参数:波特率、数据位、校验位、停止位、流控、RTS、DTR。 |
| 9 | +- 连接体验:手动刷新、自动重连、启动后自动连接上次串口。 |
| 10 | +- 接收显示:文本、HEX、混合显示、时间戳、自动断帧、暂停显示、自动滚动、清空记录。 |
| 11 | +- 终端检索:关键字搜索,以及全部、接收、发送方向过滤。 |
| 12 | +- 状态统计:RX/TX 总量、实时速率、连接时长、计数重置。 |
| 13 | +- 数据发送:文本/HEX 发送,None/CR/LF/CRLF 行结束符。 |
| 14 | +- 发送历史:保存最近发送内容并可回填。 |
| 15 | +- 常用包:保存、载入、发送、删除、排序。 |
| 16 | +- 定时发送:按毫秒级间隔循环发送当前内容。 |
| 17 | +- 文件发送:选择文件、按块发送、块间隔配置、发送进度。 |
| 18 | +- 记录导出:TXT、CSV、BIN。 |
| 19 | +- 接收保存:将接收原始数据保存到文件。 |
| 20 | +- 会话恢复:恢复串口参数、发送输入、常用包、文件发送参数。 |
| 21 | +- 外观设置:浅色、深色、跟随系统、主题色、界面字体和终端字体。 |
| 22 | + |
| 23 | +## P0:优先增强 |
| 24 | + |
| 25 | +### 1. 编码支持 |
| 26 | + |
| 27 | +状态:已实现。 |
| 28 | + |
| 29 | +接收显示和文本发送已经支持独立选择编码,覆盖常见设备和中文调试场景。 |
| 30 | + |
| 31 | +需求: |
| 32 | + |
| 33 | +- 接收编码支持 UTF-8、GBK、ASCII、Latin1。 |
| 34 | +- 发送编码支持 UTF-8、GBK、ASCII、Latin1。 |
| 35 | +- 接收编码和发送编码可分别配置。 |
| 36 | +- 编码配置需要持久化。 |
| 37 | +- 无法按当前编码解码的内容,应有明确替代显示,不应导致界面异常。 |
| 38 | + |
| 39 | +验收: |
| 40 | + |
| 41 | +- GBK 中文设备输出可以正确显示。 |
| 42 | +- GBK 文本发送到设备时字节内容正确。 |
| 43 | +- 切换编码后,后续新增记录按新编码显示。 |
| 44 | + |
| 45 | +### 2. 校验工具 |
| 46 | + |
| 47 | +增加常用校验计算能力,减少用户借助外部工具的成本。 |
| 48 | + |
| 49 | +需求: |
| 50 | + |
| 51 | +- 支持 CRC16-Modbus、CRC16-CCITT、CRC32、LRC、XOR、SUM8。 |
| 52 | +- 支持输入文本或 HEX 数据计算校验值。 |
| 53 | +- 支持大小端显示校验结果。 |
| 54 | +- 支持发送时自动追加指定校验码。 |
| 55 | +- 自动追加校验时,应在发送记录中体现最终发送字节。 |
| 56 | + |
| 57 | +验收: |
| 58 | + |
| 59 | +- 对标准测试向量能得到正确校验结果。 |
| 60 | +- HEX 输入非法时给出明确错误位置。 |
| 61 | +- 自动追加 CRC16-Modbus 后,发送字节包含低字节在前的校验码。 |
| 62 | + |
| 63 | +### 3. 帧解析增强 |
| 64 | + |
| 65 | +当前已有按接收间隔自动断帧。后续需要支持更多协议调试场景。 |
| 66 | + |
| 67 | +需求: |
| 68 | + |
| 69 | +- 支持按固定帧头断帧。 |
| 70 | +- 支持按固定帧尾断帧。 |
| 71 | +- 支持按固定长度断帧。 |
| 72 | +- 支持按超时断帧继续保留。 |
| 73 | +- 每帧可显示时间、方向、长度、HEX、文本、校验状态。 |
| 74 | +- 断帧策略需要持久化。 |
| 75 | + |
| 76 | +验收: |
| 77 | + |
| 78 | +- 配置帧尾 `0D 0A` 后,接收数据按 CRLF 分帧。 |
| 79 | +- 配置固定长度 8 后,连续数据按 8 字节分帧。 |
| 80 | +- 断帧显示不影响原始接收保存。 |
| 81 | + |
| 82 | +### 4. Modbus RTU 辅助 |
| 83 | + |
| 84 | +增加常用 Modbus RTU 调试入口,降低手写帧成本。 |
| 85 | + |
| 86 | +需求: |
| 87 | + |
| 88 | +- 支持读线圈、读离散输入、读保持寄存器、读输入寄存器。 |
| 89 | +- 支持写单线圈、写单寄存器、写多线圈、写多寄存器。 |
| 90 | +- 表单自动生成请求帧并追加 CRC16-Modbus。 |
| 91 | +- 可直接发送生成的请求帧。 |
| 92 | +- 对响应帧进行基础解析:站号、功能码、数据、异常码、CRC 是否正确。 |
| 93 | + |
| 94 | +验收: |
| 95 | + |
| 96 | +- 功能码 03 读保持寄存器请求生成正确。 |
| 97 | +- 响应 CRC 错误时明确标记。 |
| 98 | +- Modbus 辅助不影响普通终端收发流程。 |
| 99 | + |
| 100 | +### 5. 搜索体验增强 |
| 101 | + |
| 102 | +当前已有关键字过滤,但还缺少终端常用的定位能力。 |
| 103 | + |
| 104 | +需求: |
| 105 | + |
| 106 | +- 支持上一个/下一个匹配。 |
| 107 | +- 显示匹配数量和当前匹配序号。 |
| 108 | +- 支持大小写敏感开关。 |
| 109 | +- 支持正则搜索开关。 |
| 110 | +- 支持不隐藏其他记录,仅高亮匹配内容。 |
| 111 | + |
| 112 | +验收: |
| 113 | + |
| 114 | +- 搜索时可以在终端记录中逐项跳转。 |
| 115 | +- 清空搜索后恢复原显示。 |
| 116 | +- 正则表达式非法时提示错误且不崩溃。 |
| 117 | + |
| 118 | +## P1:实用增强 |
| 119 | + |
| 120 | +### 6. 常用包增强 |
| 121 | + |
| 122 | +当前已有常用包基础能力,需要增强批量管理能力。 |
| 123 | + |
| 124 | +需求: |
| 125 | + |
| 126 | +- 支持常用包分组。 |
| 127 | +- 支持备注字段。 |
| 128 | +- 支持启用/禁用单条常用包。 |
| 129 | +- 支持 JSON 导入导出。 |
| 130 | +- 支持批量发送选中常用包。 |
| 131 | + |
| 132 | +### 7. 宏命令 / 测试序列 |
| 133 | + |
| 134 | +用于设备初始化、AT 指令测试和回归测试。 |
| 135 | + |
| 136 | +需求: |
| 137 | + |
| 138 | +- 支持多步骤发送。 |
| 139 | +- 支持步骤间延时。 |
| 140 | +- 支持等待指定响应。 |
| 141 | +- 支持循环次数。 |
| 142 | +- 支持失败中止。 |
| 143 | +- 支持导出测试结果。 |
| 144 | + |
| 145 | +### 8. 自动应答 |
| 146 | + |
| 147 | +用于握手协议、简单设备模拟和交互式调试。 |
| 148 | + |
| 149 | +需求: |
| 150 | + |
| 151 | +- 支持收到文本/HEX/正则匹配后自动发送指定内容。 |
| 152 | +- 支持延时应答。 |
| 153 | +- 支持启用/禁用规则。 |
| 154 | +- 自动应答记录需要标记来源,避免和手动发送混淆。 |
| 155 | + |
| 156 | +### 9. 日志系统增强 |
| 157 | + |
| 158 | +当前已有导出和原始接收保存,需要增强长期记录能力。 |
| 159 | + |
| 160 | +需求: |
| 161 | + |
| 162 | +- 支持自动日志文件滚动。 |
| 163 | +- 文件名支持日期、串口名、波特率。 |
| 164 | +- 支持保存为可读 TXT、CSV 和原始 BIN。 |
| 165 | +- 支持限制单个日志文件大小。 |
| 166 | +- 日志状态需要在界面中明确展示。 |
| 167 | + |
| 168 | +### 10. 多标签会话 |
| 169 | + |
| 170 | +用于同时调试多个设备或多个 USB 转串口。 |
| 171 | + |
| 172 | +需求: |
| 173 | + |
| 174 | +- 支持同时打开多个串口。 |
| 175 | +- 每个会话独立终端、发送区、统计和日志设置。 |
| 176 | +- 支持复制当前会话配置创建新标签。 |
| 177 | +- 支持关闭单个会话时释放串口资源。 |
| 178 | + |
| 179 | +## P2:专业能力 |
| 180 | + |
| 181 | +### 11. 快速绘图 |
| 182 | + |
| 183 | +README 中已经标注快速绘图暂未开放。 |
| 184 | + |
| 185 | +需求: |
| 186 | + |
| 187 | +- 从接收文本中提取数字。 |
| 188 | +- 支持多通道曲线。 |
| 189 | +- 支持实时暂停和清空。 |
| 190 | +- 支持曲线数据导出 CSV。 |
| 191 | + |
| 192 | +### 12. 数据表格视图 |
| 193 | + |
| 194 | +提供比纯终端更结构化的分析视图。 |
| 195 | + |
| 196 | +需求: |
| 197 | + |
| 198 | +- 按帧显示时间、方向、长度、HEX、文本、校验。 |
| 199 | +- 支持排序、过滤、复制单帧。 |
| 200 | +- 支持从表格定位到终端记录。 |
| 201 | + |
| 202 | +### 13. 脚本插件能力 |
| 203 | + |
| 204 | +为复杂调试流程预留扩展空间。 |
| 205 | + |
| 206 | +需求: |
| 207 | + |
| 208 | +- 支持一种脚本语言执行自动化逻辑。 |
| 209 | +- 脚本可发送数据、读取收到的数据、写日志。 |
| 210 | +- 脚本异常需要隔离并提示,不应影响主程序稳定性。 |
| 211 | + |
| 212 | +### 14. 协议模板 |
| 213 | + |
| 214 | +用于非标准私有协议解析。 |
| 215 | + |
| 216 | +需求: |
| 217 | + |
| 218 | +- 支持定义帧头、长度字段、命令字、载荷、校验字段。 |
| 219 | +- 支持保存和切换模板。 |
| 220 | +- 支持按模板解析收到的帧。 |
| 221 | + |
| 222 | +### 15. 串口转发 / 桥接 |
| 223 | + |
| 224 | +用于调试中间链路和设备转发。 |
| 225 | + |
| 226 | +需求: |
| 227 | + |
| 228 | +- 支持串口 A 到串口 B 双向转发。 |
| 229 | +- 支持可选过滤规则。 |
| 230 | +- 支持转发日志。 |
| 231 | +- 支持转发方向统计。 |
| 232 | + |
| 233 | +## 推荐实施顺序 |
| 234 | + |
| 235 | +1. 编码支持。 |
| 236 | +2. 校验工具。 |
| 237 | +3. 帧解析增强。 |
| 238 | +4. Modbus RTU 辅助。 |
| 239 | +5. 搜索体验增强。 |
| 240 | + |
| 241 | +前五项与现有终端、发送、记录模型关系最直接,收益高且工程风险可控。多标签、脚本插件和协议模板涉及架构扩展,建议在基础能力稳定后再实施。 |
0 commit comments