Skip to content

Releases: heropml/SerialTool

CommTool v1.5.7

Choose a tag to compare

@heropml heropml released this 14 Aug 09:23

CommTool — 开源串口调试助手 / 网络调试工具(UART + TCP/UDP)。v1.5.7 正式版:TCP Server 多客户端可导出 PCAP;关键字增量高亮与搜索节流;Ctrl+Enter 发送;实时日志及时落盘。

v1.5.7 正式版

TCP Server 多客户端 PCAP

  • 多于一个对端(含定向回复与 __all__ 广播)不再拒绝导出 .pcap / .pcapng
  • 每个客户端独立 4 元组与 TCP 序号;导出前多于一个对端会列出确认
  • 广播按该次发送时的对端展开;后来才连上的客户端不会被补进更早的广播帧
  • 旧的单对端 .ctrec 仍可导出

关键字高亮与搜索

  • 增量着色按文末累积脏区间扫描,长会话 + 头部截断不再漏高亮
  • 终端模式纳入规则指纹;开关与 ESC[2J 全清会清掉残留选区
  • 搜索栏 150ms 防抖;查询未变时跳过全文档扫描,文档增长则重建当前页

发送与日志

  • 普通发送框 Ctrl+Enter 发送(Enter 仍换行);先提交 IME 组合;终端模式不变
  • 实时日志每次写入后 flush(),约 1 秒合并 fsync;磁盘满仍会关掉日志;空闲同步异常不再冒出定时器

工程加固

  • 文案里的字面花括号不再误触发 .format
  • TCP 普通发送加写缓冲上限,避免慢客户端无限积压
  • 会话上限统一;串口 / 网络清理共用 safe_step;UDP 基类收口

产品边界

  • 本版不做会话树、拖拽分屏、标签拖出成窗
  • P2(CLI / REST / 插件 dissector)继续暂缓
  • macOS DMG 仍由协作者在 Mac 上跑 release_macos.sh 补到同一 Release;门禁通过前检查更新不提供 Mac 下载
  • Linux x86_64CommTool_Setup_v1.5.7_linux_x86_64.run 免 sudo 安装到 ~/.local/opt/CommTool;xcb/X11 已打进包。在线更新走 latest.jsonurl_linux(GitHub)

测试

  • 全量测试:按文件隔离 pytest 全部通过(1574 collected,11 skipped)

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.5.7.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.5.7.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.5.7.dmg arm64;拖入「应用程序」。资产经门禁校验后才写入更新清单;未公证,首次打开见下方说明
Linux(x86_64) CommTool_Setup_v1.5.7_linux_x86_64.run 免 sudo,默认 ~/.local/opt/CommTool;glibc ≥ 2.27(Ubuntu 18.04+ / 多数麒麟)

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。

CommTool v1.5.6

Choose a tag to compare

@heropml heropml released this 13 Aug 16:28

CommTool — 开源串口调试助手 / 网络调试工具(UART + TCP/UDP)。v1.5.6 正式版:多会话引擎补齐——文件传输 / 回放 / 设备扫描 / 自动应答按标签独立,扫描表与录制捕获按会话隔离。

v1.5.6 正式版

剩余引擎按会话独立

  • 文件传输:worker / 连接 / 目标 / 桥接钉在本会话;开始 / 停止 / 日志跟当前标签;关对话框取消所有会话的传输
  • 回放:播放状态与驱动 TX 钉在本会话;播放 / 停止跟当前标签;关对话框停止所有会话的回放
  • 设备扫描:不再整窗一次拒绝;各标签可各自扫,互不接管其它标签的主机轮询
  • 自动应答:开关按会话独立(窗口勾选跟当前标签);后台 RX 仍喂本会话 AR
  • 脚本 / Modbus 主机 / 序列:双标签可各跑一套;Run/Stop 跟当前标签;关脚本控制台结束全部 worker

UI 按标签隔离

  • 脚本控制台日志按会话保存,切标签只看当前会话输出
  • 设备扫描表按会话保存扫描结果;后台会话的回调不再刷当前标签的表
  • 录制捕获按会话保存事件;停录 / 加载 / 切标签不再互相覆盖

修复

  • 脚本后台 worker 结束时仍释放该会话的 I/O 钉住;过期 worker 不再误清当前标签
  • 脚本超长截断后警告可在切换 / 加载 / 新建后重新触发
  • 文件传输按真实文件大小确认(超过 100 MB 先询问);完成回调不再阻塞 GUI 线程
  • 后台 RX 异常列表不再吞掉 AttributeError;会话代理空上下文时调试记录丢弃写入
  • 回放对话框关闭先停当前播放再停其余会话;去掉重复的对话框引用清理
  • 会话代理属性与 Session 槽位启动时对拍,漏代理立刻失败

产品边界

  • 本版不做会话树、拖拽分屏、标签拖出成窗
  • P2(CLI / REST / 插件 dissector)继续暂缓
  • macOS DMG 仍由协作者在 Mac 上跑 release_macos.sh 补到同一 Release;门禁通过前检查更新不提供 Mac 下载

测试

  • 全量测试:1541 passed,11 skipped,295 subtests passed

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.5.6.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.5.6.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.5.6.dmg arm64;拖入「应用程序」。资产经门禁校验后才写入更新清单;未公证,首次打开见下方说明

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。

CommTool v1.5.5

Choose a tag to compare

@heropml heropml released this 13 Aug 08:19

CommTool — 开源串口调试助手 / 网络调试工具(UART + TCP/UDP)。v1.5.5 正式版:多会话引擎收口——软切标签、后台 RX 喂本会话引擎、序列与 Modbus 从机 bank 按会话独立。

v1.5.5 正式版

软切标签

  • 独占引擎钉在启动时的会话:切到其它标签不再被硬拦,后台任务继续跑
  • 关闭仍在跑任务的标签会拦截,标签悬停提示当前占用(session_tip_engine_busy
  • 定时发送、多条循环发送仍按会话独立,切标签后台继续

后台 RX 喂本会话引擎

  • 非活动标签收到的数据会喂给该会话钉住的引擎(自动应答、序列、脚本/传输等占用方)
  • 绘图、组帧、仪表盘、触发器仍只跟活动标签,避免后台噪声刷当前视图

按会话独立的运行态

  • 序列:每个标签可各自跑一套序列(独立定时器与回调)
  • Modbus 从机 bank:每个会话一份寄存器;窗口共享从机配置,改配置时重建全部会话 bank
  • 自动应答仍为窗口开关,命中后按本会话发出

整窗一份、钉会话的工具

  • 脚本控制台、文件传输、Modbus 主机、回放、发送 DSL、录制、宏、设备扫描:同窗各一份,钉在启动会话
  • 文件传输运行中,其它标签点「开始」会被窗口级门禁拦住,避免把正在跑的 worker 撕走
  • 序列「停止」只停当前标签自己的那一轮

产品边界

  • 本版不做会话树、拖拽分屏、标签拖出成窗
  • 脚本 / Modbus 主机 / 录制仍是整窗一份(非每会话一份)
  • P2(CLI / REST / 插件 dissector)继续暂缓
  • macOS DMG 仍由协作者在 Mac 上跑 release_macos.sh 补到同一 Release;门禁通过前检查更新不提供 Mac 下载

测试

  • 基线:既有套件 + 多会话软切 / 后台 RX / 序列与从机 bank / 传输启动门禁等新增用例(以 CI 为准)

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.5.5.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.5.5.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.5.5.dmg arm64;拖入「应用程序」。资产经门禁校验后才写入更新清单;未公证,首次打开见下方说明

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。

CommTool v1.5.4

Choose a tag to compare

@heropml heropml released this 12 Aug 12:29

CommTool — 开源串口调试助手 / 网络调试工具(UART + TCP/UDP)。v1.5.4 正式版:多条循环发送 per-session、桥接网关 timeout/unit_map、全局 QSS/切语言薄拆,以及 updater 截断响应修复与 except 抽样收窄。

v1.5.4 正式版

多条循环发送 per-session

  • 循环定时器挂到会话:切标签后后台会话继续轮发,与定时发送语义对齐
  • 分组仍为整窗共享;编辑或切换分组时同步刷新所有正在循环的会话;新序列为空则停止对应循环
  • 进终端模式 / 关机仍停止全部会话的循环

桥接网关 UI

  • 桥接对话框暴露从机超时与 Unit ID 映射(timeout / unit_map),默认仍为 1s 与原样透传
  • 设置持久化到 bridge/gw_*;非法映射有 toast;三语文案齐全

工程打磨

  • 抽出 app_style / i18n_uiapply_style_apply_language 薄包装,便于改主题/文案
  • B6:updater / serial_io / net_iomain_window 连接·发送·日志·设置、session_host 会话路径宽泛 except 抽样收窄
  • 修复:HTTP 响应截断(IncompleteRead)不再挂死自动更新检查或泄漏半成品安装包;补 Windows updater 单测

产品边界

  • P2(CLI / REST / 插件 dissector)继续暂缓
  • 触发联动发送仍不做;完整 VT100 / BLE·HID·CAN 等不在范围
  • macOS DMG 仍由协作者在 Mac 上跑 release_macos.sh 补到同一 Release;门禁通过前检查更新不提供 Mac 下载

测试

  • 基线:既有套件 + updater 截断 / 网关边界 / 多会话循环刷新等新增用例(以 CI 为准)

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.5.4.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.5.4.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.5.4.dmg arm64;拖入「应用程序」。资产经门禁校验后才写入更新清单;未公证,首次打开见下方说明

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。

CommTool v1.5.3

Choose a tag to compare

@heropml heropml released this 12 Aug 05:17

CommTool — 开源串口调试助手 / 网络调试工具(UART + TCP/UDP)。v1.5.3 正式版:主界面防误触滚轮、数据区选区转文本/HEX,以及阶段 A/B 工程打磨与 CI 加固。

v1.5.3 正式版

主界面防误触

  • 主窗口内的 QComboBox(含其内部编辑框)在弹出列表未打开时忽略鼠标滚轮,避免划过参数区时误改波特率 / 类型等
  • 应用级 eventFilter 常驻安装;仅拦截「主窗口祖先 + 未弹列表」路径,不影响其它对话框与已展开的下拉
  • 会话重命名 / 连接预设命名等单行输入框改用主题按钮(MsPrimaryBtn / MsGhostBtn),不再落回 Windows 原生 QInputDialog 样式

数据区选区转换

  • 接收区右键新增 转为文本 / 转为 HEX:按当前选区做 HEX↔文本互转
  • 结果在信息对话框中展示,并复制到剪贴板;成功/失败/空选均有 toast
  • 单次转换上限 64 KiB(编码前字符数与编码后字节数),防止超大选区卡 UI
  • 转 HEX 时按文本编码;转文本时对选区做 HEX 清洗解析(空白剥离为有意行为)

工程与 CI(阶段 A/B)

  • 文档真源与依赖拆分、split/i18n 契约、session_host 契约单测、静默 except 预算门禁
  • macOS CI 烟雾(offscreen 子集)、ruff 门禁、覆盖率收集(先不设硬门槛)
  • README 多会话边界说明;路由契约 / ruff 注释与 macOS smoke 依赖精简等收口

产品边界

  • P2(CLI / REST / 插件 dissector)继续暂缓
  • 触发联动发送仍不做;完整 VT100 / BLE·HID·CAN 等不在范围
  • 多条循环发送 per-session、网关 UI 暴露 timeout/unit_map 仍为可选未做
  • macOS DMG 仍由协作者在 Mac 上跑 release_macos.sh 补到同一 Release;门禁通过前检查更新不提供 Mac 下载

测试

  • 基线:1465 passed / 11 skipped / 295 subtests(CI 在既有 1454 上叠加本版相关用例)

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.5.3.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.5.3.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.5.3.dmg arm64;拖入「应用程序」。资产经门禁校验后才写入更新清单;未公证,首次打开见下方说明

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。

CommTool v1.5.2

Choose a tag to compare

@heropml heropml released this 11 Aug 13:55

CommTool — 开源串口调试助手 / 网络调试工具(UART + TCP/UDP)。v1.5.2 正式版:绘图与仪表盘可视化扩展、Excel/xlsx 导出、PCAP/pcapng 增强、回放驱动真实 TX,以及一轮 High/Medium/Low 稳定性打磨。

v1.5.2 正式版

绘图与仪表盘

  • 波形图:视图模式波形 / XY / 直方图;双 Y 轴与光标统计(min/max/mean);plot_stats 有限值过滤与安全柱宽
  • 工程持久化 plot_view / plot_dual_y
  • 仪表盘控件:Number / Gauge / LED / Progress(dash_widgets + dash_widget 工程字段)
  • 寄存器来源通道的告警 level 不被文本 feed 清掉,避免阈值闪烁

导出与抓包互通

  • 序列报告 / 结构化记录支持 Excel/xlsxopenpyxl);公式样单元格按文本落盘
  • PCAP:TCP Client/Server(单客户端)、UDP、UDP 组播 → 经典 .pcap + .pcapng;通配 0.0.0.0 解析为具体主机 IPv4;串口等仍用 .ctrec

回放驱动真实 TX

  • Player(mode=drive_tx) + UI 危险确认(非默认;默认仍 Virtual 注入 RX)
  • 连续失败暂停、同 tick 立即停发;部分写视为失败;末帧 abort+finished 优先清理占用
  • 与 Modbus / 自动应答互斥;循环/最快需二次确认

多会话与示例

  • 切标签时自动停止多条循环发送(toast);脚本/Modbus 等仍硬拦切标签
  • 示例工程扩展:NMEA / 定长帧头 / 传感器 CSV / TCP Client / 关键字高亮 / 仪表盘等
  • 工作区与会话条补充多会话边界说明(workspace_terminal_tip / session_list_tip

稳定性与防御(审计收尾)

  • High/Medium:结构化回放过滤同步、串口重配竞态、stop 短等待、陈旧 RX 按连接身份丢弃、侧信道 warning+节流 toast、TCP Server 广播快照、搜索防抖、CSV 打开失败不静默停录、报告步骤号、keyword mode 白名单、MultiSend 安全 int、.ctrec 头扫描、addr_base 不静默钳位等
  • Low:日志 toast {path}、HEX 搜索与触发器清洗对齐、sequence_split 进 CFG、open_conn 替换守卫、TCP/UDP 失败路径 deleteLaterpytest 写入开发依赖
  • compile_regex 对所有格量词仍保守拒绝(有意保留)

产品边界

  • P2(CLI / REST / 插件 dissector)继续暂缓
  • 触发联动发送仍不做;完整 VT100 / BLE·HID·CAN 等不在范围
  • macOS DMG 仍由协作者在 Mac 上跑 release_macos.sh 补到同一 Release;门禁通过前检查更新不提供 Mac 下载

测试

  • 基线:1433 passed / 11 skipped / 295 subtests

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.5.2.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.5.2.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.5.2.dmg arm64;拖入「应用程序」。资产经门禁校验后才写入更新清单;未公证,首次打开见下方说明

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。

CommTool v1.5.1

Choose a tag to compare

@heropml heropml released this 10 Aug 11:49

串口 + 网络一体调试工具。v1.5.1 正式版:在多会话基线上补齐搜索惰性分页与全局导航、可逆一键 I/O Graph、示例工程包,以及 Mac 发版门禁与显示选项矩阵回归。

v1.5.1 正式版

搜索:惰性分页与全局导航

  • find_spans(..., limit=, start=) 扫描期即止损,避免大日志一次扫完全文卡 UI
  • ▲/▼ 跨页导航;find_last_page() 一趟定位末页;到顶/到底全局环绕
  • 零宽正则匹配后安全前进,避免死循环;有更多未展示命中时计数带 +

一键 I/O Graph(可逆临时模式)

  • 状态栏右键或工作区「I/O Graph」打开时间轴 + rx_Bps / tx_Bps / rx_pps / tx_pps 预设
  • 进入时按通道索引快照既有曲线,关闭 / 改轴 / 清空解析器时恢复,不冲掉用户序列
  • 临时模式隔离 RX feed 与非速率命名样本,打开时不清空已有数据

示例工程与安装包资源

  • examples/ 提供 Modbus RTU、AT 调制解调器、双会话预设 .ctproj(稳定 preset_id
  • Windows 安装目录带 examples;macOS DMG 提供可见 Examples 文件夹
  • 双会话示例:打开后新建会话并应用 Session B;虚拟连接默认回环便于无硬件试用

Mac 发版门禁与更新源

  • latest.jsonurl_mac 仅在 DMG 经 GitHub 资产校验后写入,避免预填死链
  • 更新器 Mac 候选优先 GitHub;scripts/check_mac_asset.py + release_macos.sh 门禁
  • 关于/更新对话框对未就绪的 Mac 资产给出明确说明

macOS 安装包热修复

  • 修复应用级 Qt 事件过滤器在接收视图尚未创建或会话销毁时访问 None.viewport(),避免 PyQt 回调异常升级为 qFatal / SIGABRT
  • 将 Windows 专用的 Segoe UI Symbol 映射为 macOS 的 Apple Symbols,消除启动时的字体回退告警
  • 11 项 macOS 针对性回归、Apple Silicon .app 启动冒烟、深度签名及 DMG 映像校验通过

多会话显示选项与协议加固

  • 活动标签显示开关以实时 UI 为准;后台标签仍用各自 display_opts(时间戳 / HEX / 转储 / ANSI / 分包 / 编码 / 冻结 / 日志)
  • 冻结视图优先读 display_context["freeze_view"]
  • Modbus 从机 CRC 重同步性能;主机 TCP transaction id 校验;虚拟注入过长日志截断
  • 切会话时重置搜索状态,避免旧高亮串台

产品边界

  • P2(CLI / REST / 插件 dissector)继续暂缓
  • 重建 PCAP(仅 TCP Client / 单对端 UDP)排入后续 v1.6,不在本版
  • macOS DMG 仍由协作者在 Mac 上跑 release_macos.sh 补到同一 Release;门禁通过前检查更新不提供 Mac 下载

测试

  • 基线:1359 passed / 11 skipped / 295 subtests

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.5.1.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.5.1.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.5.1.dmg arm64;拖入「应用程序」。资产经门禁校验后才写入更新清单;未公证,首次打开见下方说明

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。

CommTool v1.5.0

Choose a tag to compare

@heropml heropml released this 10 Aug 04:05

串口 + 网络一体调试工具。v1.5.0 正式版:同一窗口内多会话标签并发连接;后台标签可继续收发日志与周期发送;具名互斥任务提示、标签状态/重命名、关键字 Regex/HEX、草稿防抖自动保存,以及 Windows offscreen CI。

v1.5.0 正式版

终端多会话标签

  • 同窗并发连接:串口 / TCP / UDP / 虚拟可在多个标签中同时打开;每个标签独立连接、收发视图、相关显示选项、实时日志路径、自动重连与周期发送
  • 后台不抢前台:后台标签继续接收、写日志、周期发送;自动应答 / Modbus 从机等窗口级引擎只处理活动标签的 RX
  • 互斥任务表:脚本控制台、自动化序列、文件传输、Modbus 主机、录制/回放、发送 DSL、设备扫描、多条循环发送共享占用表;启动冲突时 toast 列出正在运行的任务名;离开活动标签前须结束互斥任务
  • 多条循环发送:周期定时器仍为窗口级,循环运行中禁止切标签(与会话级周期发送不同)
  • 标签提示:绿=已连接、黄=重连等待、灰=已断开;悬停显示连接 / 周期发送 / 实时日志;双击可设自定义标签名(tooltip 仍显示真实端口/地址)
  • 关闭确认:关闭标签前确认;已连接会话提示将断开

关键字高亮与草稿保存

  • 关键字规则支持 文本 / 正则(ReDoS 安全)/ HEX,与搜索同一匹配引擎;同角色被格式拆开的 fragment 合并后再匹配
  • 连接与发送区用户编辑约 1.5s 防抖写入草稿;切标签时暂停 autosave,避免半加载 UI 落盘;周期发送等引擎节拍不写配置

连接与会话隔离

  • 每会话 conn_fields 持久化;缺省 serial_dtr / serial_rts / auto_reconnect 回退 profile QSettings,空字段不再继承上一标签控件
  • 会话关闭确认;工程未保存警告样式对齐

工程与 CI

  • Windows GitHub Actions:QT_QPA_PLATFORM=offscreen 全量 pytest;夜间/手动可选 soak
  • 双 profile 窗口隔离与 v1.5 跟进项回归测试

产品边界

  • 本版不做会话树、拖拽分屏、撕出标签;两个会话不可共用同一展开后的实时日志路径
  • 多窗口 / 多 profile 仍是独立工作台,与同窗多标签互补
  • P2(CLI / REST / 插件 dissector)继续暂缓

测试

  • 基线:1329 passed / 11 skipped / 291 subtests

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.5.0.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.5.0.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.5.0.dmg arm64;拖入「应用程序」。未公证,首次打开见下方说明

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。

CommTool v1.4.2

Choose a tag to compare

@heropml heropml released this 08 Aug 12:56

串口 + 网络一体调试工具。v1.4.2 正式版:在 v1.4.1 可维护基线上,收齐 S-2 运行时/显示/设置/连接抽离与 S-3 断线重连 soak;并补齐发送历史删除与对话框按钮样式统一;v1.4 主线功能冻结。

v1.4.2 正式版

架构与可维护(S-2 R43–R55)

  • 运行时编排(R43–R50):重连策略 / Modbus 轮询计划 / 序列编排 / 自动应答门控 / RX 分发 / TX 计划 / Modbus 收流 / AR post-hit 抽出为 Qt-free 模块;CommTool 保留薄包装
  • 显示与设置 I/O(R51–R55)config_io 加载门控、view_format 块前缀与日志拼装、connection_presets 开连字段采集、新模块 term_vt(终端流状态 / tooltip 色);设置分区与 settings.ini 命名决策迁出
  • 刻意保留:整段 QSS、_apply_language 控件遍历、VT 解析循环、_settings_file 路径 I/O(Qt 壳,不再作为刀目标)

稳定性(S-3)

  • VirtualConn.simulate_link_drop 断线重连基线;CI 虚拟掉线 / churn 测试
  • 可选门禁:COMMTOOL_SOAK_DISCONNECTCOMMTOOL_SOAK_SERIAL=COMx[,COMy] 真机 open/close(未设或占用则 skip)、COMMTOOL_SOAK_NIGHTLY 加密循环

产品边界

  • v1.4 主线(S-1~S-5)收齐;P2(CLI / REST / 插件 dissector)继续暂缓,功能冻结,优先修 bug 与发版

易用性补丁(同版重发)

  • 发送历史删除:历史窗口支持「删除」按钮与 Delete/Backspace,立即持久化并校正 ↑↓ 导航位置
  • 按钮样式对齐:发送历史与文件传输对话框按钮统一为多条发送同款幽灵/主按钮样式

测试

  • 基线:1186 passed / 6 skipped / 291 subtests

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.4.2.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.4.2.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.4.2.dmg arm64;拖入「应用程序」。未公证,首次打开见下方说明

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。

CommTool v1.4.1

Choose a tag to compare

@heropml heropml released this 08 Aug 06:27

串口 + 网络一体调试工具。v1.4.1 正式版:在 v1.4.0 能力基线上,完成 S-2 主窗口可维护拆分与 S-1/S-3/S-4/S-5 稳定性/易用性收尾。

v1.4.1 正式版

架构与可维护(S-2)

  • 主窗口服务层拆分(R1–R33):自动应答 / 序列引擎 / 报告 / 视图格式 / RX 文本 / 触发安全 / 配置键与导入导出 / 连接预设 / 串口参数等 Qt-free 模块;CommTool 保留薄包装
  • GUI build_ 工厂(R34–R42)*:ui_options / conn_ui / 侧栏三卡 / 收发区 / sidebar / workspace 构建全部迁出;主窗口仅组装

稳定性与易用性(S-1 / S-3 / S-4 / S-5)

  • S-1:主路径静默 except 收敛为 debug 日志;proc.pid 守卫、日志切段分步关闭
  • S-3:吞吐与重连突发基线;COMMTOOL_SOAK / nightly 可选长跑
  • S-4:日志按大小切分(parse_size_limit / should_roll_size
  • S-5:连接/断线/发送失败可操作提示;发送历史搜索;Modbus 主机「单次读写」

修复

  • parse_json_list([]) / parse_json_dict({}) 不再误返 None(空与缺失区分)
  • 空发送仍重置发送历史导航态
  • 清理 bridge_dialog / main_window 未使用导入
  • 无换行连续收包的单 block 字符预算裁剪(_trim_recv_overflow

测试

  • 基线:1148 passed / 4 skipped / 291 subtests

下载

形式 文件 说明
Windows 安装版 CommTool_Setup_v1.4.1.exe 推荐,向导安装 + 桌面快捷方式
Windows 单文件版 CommTool_v1.4.1.exe 免安装,双击直接运行(首启自解压稍慢 1~2s)
macOS(Apple Silicon) CommTool_v1.4.1.dmg arm64;拖入「应用程序」。未公证,首次打开见下方说明

Windows 10/11(64 位)无需安装 Python。旧版用户可通过「帮助 → 关于 → 检查更新」升级(国内优先走 Gitee,海外回退 GitHub)。

macOS 首次打开提示「已损坏,无法打开」:把 app 拖进「应用程序」后,在终端运行一次 xattr -dr com.apple.quarantine /Applications/CommTool.app 即可正常打开(仅 Apple Silicon)。