Merge pull request 'fix(wave): bench 定时自抓到期判定无符号回绕恒真修复,第四幕板级闭环入档(#84)' (#95) from exec-issue-84-1f621ac1c3ce into master
CI / 静态门禁 (pre-commit) (push) Failing after 45s
CI / 主机侧单测 (MSVC) (push) Failing after 45s

Reviewed-on: http://100.123.83.113:3001/wandering1/STM32F4-Base/pulls/95
This commit was merged in pull request #95.
This commit is contained in:
2026-11-07 22:05:57 +08:00
20 changed files with 2279 additions and 55 deletions
@@ -160,7 +160,7 @@ flowchart TD
| **取窗竞态** | `App/algo/sample_ring.c` 的 `sample_ring_window()` 没有临界区(读 `s_head` 后逐点拷),现在只有 adcTask 同任务调用才安全 | 录波**不复用它**:adcTask 在自己的节拍里取「本拍帧」压专用环;跨任务只传递「已封存」标志,杜绝跨任务读活缓冲 |
| **FatFs 追加写** | 该移植 `FA_OPEN_APPEND` 不含 `FA_WRITE`,且 `f_write` 簇分配失败时返回 `FR_OK` 加短写、无错误码(`docs/架构设计/STM32F4-Base存储架构说明.md` §10.1) | 打开一律 `FA_WRITE\|FA_OPEN_APPEND`;**判成功必须比对写回字节数**,短写按失败处理(丢段 + 日志),绝不当成功记账 |
| **只能 8.3 短名** | 出处同一张存储架构说明的短名限制:`FF_USE_LFN=0`,不得以点开头、不得长名 | 文件名 = WAVE 加两位十进制再加 .BIN,共 100 个名字轮转覆盖;目录 /wave(与 /log 平级,FTP 根下可见) |
| **落盘途中环被解冻、甚至已换段**(实现期复核新增第四条,2026-10-29) | adcTask 优先级高于 defaultTask:搬段窗口里 adcTask 可能正好走到 SEALED 滞留 2 s 自弃,甚至已经封出下一段。**数据区 CRC 是对「本道实际读到的字节」算的**,半新半旧的段照样自洽——长度等式照过、两个 CRC 照对,文件骗得过任何读者,也骗过我们自己 | 写完关档后**复检环侧身份**:`wave_ring_sealed()` 仍为 1,且 `wave_ring_get_stat()` 的 `last_t0_ms` 与 `last_seq` 跟本道开始搬时那份段头一致;不符即走既有失败路——unlink 本道开过的文件 + `write_done(-1)`(此时多半回 `E_STATE`,环侧 `err` 已由自弃计过,不重复补账)+ 段号不推进(下一段同号重写覆盖)+ 单条 `[ERR] … seg drop: ring abandoned` 留痕。落点 `App/task/default_task.c`:786 到 796 行。**当前只有代码与单测面,板级未测**;可观察项见 §10 板级行 |
| **落盘途中环被解冻、甚至已换段**(实现期复核新增第四条,2026-10-29) | adcTask 优先级高于 defaultTask:搬段窗口里 adcTask 可能正好走到 SEALED 滞留 2 s 自弃,甚至已经封出下一段。**数据区 CRC 是对「本道实际读到的字节」算的**,半新半旧的段照样自洽——长度等式照过、两个 CRC 照对,文件骗得过任何读者,也骗过我们自己 | 写完关档后**复检环侧身份**:`wave_ring_sealed()` 仍为 1,且 `wave_ring_get_stat()` 的 `last_t0_ms` 与 `last_seq` 跟本道开始搬时那份段头一致;不符即走既有失败路——unlink 本道开过的文件 + `write_done(-1)`(此时多半回 `E_STATE`,环侧 `err` 已由自弃计过,不重复补账)+ 段号不推进(下一段同号重写覆盖)+ 单条 `[ERR] … seg drop: ring abandoned` 留痕。落点 `App/task/default_task.c`:818 到 823 行(复检与弃段处置),统一留痕打印在 843 行。**2026-11-07 板级已闭环**(#84 台架远程轮:临界占卷命中三判据逐条对上,见 §10「bench 定时自抓与占卷弃段观察闭环记录」小节) |
![录波数据的四个所有者与跨任务边界:adcTask 只写环,defaultTask 独占落盘,uiTask 与 PC 只读](../images/故障录波数据流.svg)
@@ -309,7 +309,7 @@ flowchart TD
- `err` 是落盘失败或 CRC 自弃次数(**字节数不符就算失败**,见 §5.2);`ovf` 是冷却期丢弃的触发数;`drop` 是冻结窗口丢掉的录波点数;
- **实际落地形态(逐字)**:打印点在 `App/task/adc_task.c`:782 行,格式串 `"wave: seg=%lu armed=%u src=%s pts=%u err=%lu ovf=%lu drop=%lu"`——**字段名与顺序就是上面的模板**(台架与 PC 脚本按行名 grep,动它就断脚本);`src` 取 M(手动)/ P(保护)/ T(定时自抓)/ `-`(本次上电还没触发过);`armed` 只在 FREEZE 与 SEALED 为 1(COOL 期只挡新触发不录新段,画进 armed 会被台架误读);`seg` 是累计**成功回执**的段数、不是轮转号;`err` = 落盘失败 + SEALED 滞留超时自弃(含 §5.2 第四条的 ring abandoned 判废),由环内计数收口,落盘道不数第二份账。`err` 与 `ovf` 的**已知容差**(lead 裁定 2026-10-29,不修只入档):这两个计数是跨上下文的读-改-自增(`ovf` 由任意上下文的拒绝路径加、`err` 由 adcTask 的滞留自弃与 defaultTask 的落盘失败分别加),本层双端编译、不许引 FreeRTOS / CMSIS 的临界区内在函数,所以并发拒绝或并发失败时**理论上可能少计一次**。定性为**观测计数的已知容差**:只用于趋势与判读,**不作为任何判据的唯一依据**——要坐实「冷却期内确实来了第二次触发」,同时看 `armed` 与那一刻 `/log/start.log` 的时刻。契约原文见 `App/algo/wave_ring.h` 文件头「观测计数的已知容差」段;
- **落盘道失败留痕名清单(2026-10-30 并入原卡片登记簿;台架判读按名索引,不新增第二种形态)**:单板上一律一行 `[WAVE] seg drop: <原因> (idx=… written=…)`,统一打印点 `App/task/default_task.c`:816——`crc selftest FAIL` / `mkdir /wave` / `opendir /wave` / `readdir /wave` / `seg_path` / `pack_start` / `f_open` / `pack_next` / `f_write short` / `pack stall` / `f_close` / `len mismatch` / **`ring abandoned`**(最后一条即 §5.2 第四条陷阱的处置留痕,代码与主机单测面已有、板级未测,观察项见 §10);另有一条非失败的慢段留痕 `[WAVE][WARN] seg held <毫秒> ms (idx=…)`(`App/task/default_task.c`:831)——搬得慢不是错,真失败才走 `seg drop`。
- **落盘道失败留痕名清单(2026-10-30 并入原卡片登记簿;台架判读按名索引,不新增第二种形态)**:单板上一律一行 `[WAVE] seg drop: <原因> (idx=… written=…)`,统一打印点 `App/task/default_task.c`:843——`crc selftest FAIL` / `mkdir /wave` / `opendir /wave` / `readdir /wave` / `seg_path` / `pack_start` / `f_open` / `pack_next` / `f_write short` / `pack stall` / `f_close` / `len mismatch` / **`ring abandoned`**(最后一条即 §5.2 第四条陷阱的处置留痕,2026-11-07 板级已闭环,留痕原文与三判据实证见 §10「bench 定时自抓与占卷弃段观察闭环记录」);另有一条非失败的慢段留痕 `[WAVE][WARN] seg held <毫秒> ms (idx=…)`(`App/task/default_task.c`:858)——搬得慢不是错,真失败才走 `seg drop`。
- 只在原先静默的黑洞处补锚点,别重复已有步骤——每条 DBG 日志约 90 B Flash 加 216 B 栈(`AGENTS.md` 的日志与工具链节);
- 该行已同步进 `docs/测试说明/专项验证/ADC前端注入验证流程.md` 的读数地点表(2026-10-29;同一张表还登记了录波段文件与 PC 侧读段工具)。
@@ -322,7 +322,7 @@ flowchart TD
| 主机侧纯逻辑单测(新增,进 `test/host/`) | ① 环:预触发与后触发点数、冻结与解冻、冷却丢弃计数;② 段格式编解码往返,含 CRC 不符、零长度、字节数不符三条失败路径;③ 触发状态机三条来路(手动 / 保护 / bench)。**环与格式必须是纯逻辑**(不碰寄存器、不碰 RTOS)才能这样测——这是 `App/algo/` 既有分层纪律 |
| PC 侧工具的定性 | `test/host/wave_read.py` 是 **bench 工具**(`test/host/` 下的 loose .py,先例 `test/host/ftp_capture.py`),**不是**主机单测套件 → 不建 `run_unit_test.py`、不加 pre-commit 专属钩子(专属钩子默认不补,按 Lead 裁定 2026-10-27);它自带 `--selftest` 就是它的自带回归,跑法与四个子命令见 `docs/测试说明/专项验证/ADC前端注入验证流程.md` §4 |
| 跨工具链分叉(实证,写进来是为了下一个模块别重踩) | 两份录波 .c 只 include 自身头(链上只有 stdint.h)时,ARMCC 报 22 条 identifier "NULL" is undefined;而主机 MSVC / gcc 会传递性把 stddef.h 拉进来,**主机单测完全照不出这个分叉** → 新增模块需要用 NULL 就自己 include stddef.h(与 `App/algo/sample_ring.c` 同口径,别塞公共头) |
| 板级 | 信号发生器注 1 V / 50 Hz → 手动一段 → FTP 拉回 → PC 脚本量出周波数、幅值、极性与注入一致;再把 PC 重算的基波有效值与板上 `meas:` 对表。**判据只量四样:周波数、幅值、极性、钉轨路数——不比绝对相位**(理由见 §4.2「段内点序」:触发瞬间在工频周期内任意落点,段字节里没有绝对时间参考;真要比相位必须让发生器给同步触发,本波不做)。**钉轨对表的合格判据 = 头位图 ⊇ 实测钉轨路数,且差异必须能由注入条件解释**——因为 `clip_mask` 是按来源派生的链路可信性标记(§6.2 偏移 24 行),不是本段实测值:只加直流或小幅注入时那五路本就不该钉轨,硬取等式会假红。**同段另起一条强观察项**:V0.1 下这五路若在做**交流注入**时反而没钉轨,先怀疑接线或该路根本没被驱动——这是告警面,不是失败面(等式仍作为默认尺子留在 PC 侧 `shape --strict` 里,因为它有这个信号价值;要放行差异用那条判据的解释权,不靠改尺子)。**§5.2 第四条的板级观察项(代码与单测面已有、板级未测)**:bench 连续自抓期间人为把卷占住 2 s 以上(例如同一段跑 FTP 大文件读),看串口 `wave:` 行的 `err` 是否加一、是否只出现**一条** `[ERR] … seg drop: ring abandoned` 留痕(不是每拍刷屏)、且段号不推进(下一段仍写同号文件) |
| 板级 | 信号发生器注 1 V / 50 Hz → 手动一段 → FTP 拉回 → PC 脚本量出周波数、幅值、极性与注入一致;再把 PC 重算的基波有效值与板上 `meas:` 对表。**判据只量四样:周波数、幅值、极性、钉轨路数——不比绝对相位**(理由见 §4.2「段内点序」:触发瞬间在工频周期内任意落点,段字节里没有绝对时间参考;真要比相位必须让发生器给同步触发,本波不做)。**钉轨对表的合格判据 = 头位图 ⊇ 实测钉轨路数,且差异必须能由注入条件解释**——因为 `clip_mask` 是按来源派生的链路可信性标记(§6.2 偏移 24 行),不是本段实测值:只加直流或小幅注入时那五路本就不该钉轨,硬取等式会假红。**同段另起一条强观察项**:V0.1 下这五路若在做**交流注入**时反而没钉轨,先怀疑接线或该路根本没被驱动——这是告警面,不是失败面(等式仍作为默认尺子留在 PC 侧 `shape --strict` 里,因为它有这个信号价值;要放行差异用那条判据的解释权,不靠改尺子)。**§5.2 第四条的板级观察项(代码与单测面已有、板级未测)**:bench 连续自抓期间人为把卷占住 2 s 以上(例如同一段跑 FTP 大文件读),看串口 `wave:` 行的 `err` 是否加一、是否只出现**一条** `[ERR] … seg drop: ring abandoned` 留痕(不是每拍刷屏)、且段号不推进(下一段仍写同号文件)——**2026-11-07 已闭环**:bench 定时自抓与临界占卷三判据台架远程轮逐条对上,长占卷静默自弃(72.6 s 连续占卷 `err` 1→15 零留痕)与临界命中唯一留痕(`err` 恰 +1、同号重写)两种形态都有实证,见下「bench 定时自抓与占卷弃段观察闭环记录」小节 |
| 板级·触发来路(2026-10-30 并入原卡「手动触发与保护启动接线」板级段) | 真机面板按一次「手动录波」出一段;造一次过流,段号与该时刻 `/log/start.log` 事件对齐;冷却期内二次触发只加 `ovf` 不重录(**同时看 `armed` 与那一刻 start.log 的时刻,不要只盯 `ovf` 数字**——容差见 §9);冻结窗口内 104 上送与保护判据不受影响(这条是「丢录波样本不丢采集」的验收) |
| 板级·回放页(2026-10-30 并入原卡「现场单通道回放页」板级段) | 真机上放一段真波(不是模拟器合成节拍);远端看图能拍到该页做留证(只作留证,不是波形通路,§8.4);**空态与 CRC 失败态绝不允许画成一条直线**——用坏段在真机复现一次。**2026-10-31 远程半轮进展见下「板级远程半轮记录」小节**:PC 侧坏段拒收已过;回放页坏段/空态画面的测试面**已于 2026-11-02 枚举缺陷修复后打开**(真机已验证真段显示 + 切段切道,见下「回放页枚举恒空缺陷修复记录」小节),坏段/空态两画面本身**已于 2026-11-06 台架远程轮拍毕闭环——见下「回放页坏段/空态画面闭环记录」小节,本行判据全部板级实证完毕** |
| UI | `ui-verify` 五步;回放页入 `ui-golden` 黄金参考(**参考图一旦入库只能改代码对齐,禁止刷参考掩盖**);新叶走 `gen_menu.py` 重生成 + 字库链 |
@@ -382,7 +382,8 @@ try 锁纪律)照常读出并显示 ⇒ try 锁读径正常;`manual_req` 作
**本半轮没跑的(人到场轮清单)**:注量对表(周波数 / 幅值 / 极性 / 钉轨路数)、`meas:`
浮点数值对表、两个待台架核数值(封存超时窗 §4.2 兜底行与冷却时长 `App/algo/wave_ring.h`)、P 触发与 start.log 对齐(还得先解标定闭锁)、
bench T 源与卷占用 2 s 的 `ring abandoned` 观察(需 bench 构建)、~~回放页坏段画面与空态画面
~~bench T 源与卷占用 2 s 的 `ring abandoned` 观察(需 bench 构建)~~ **(2026-11-07 台架远程轮已闭环,见下「bench
定时自抓与占卷弃段观察闭环记录」小节)**、~~回放页坏段画面与空态画面
(等枚举缺陷修复后才有测试面)~~ **(2026-11-02 枚举缺陷修复后测试面已开,见下小节;2026-11-06
台架远程轮两画面已拍毕闭环,见「回放页坏段/空态画面闭环记录」小节)**、
`task_prof` 读路径耗时峰值。**执行动作侧**(到场的人做什么、
@@ -477,6 +478,69 @@ stored 0xF991 calc 0xB111 …nothing drawn`(rc=1),画面与解码器两份
跑完(幅值 / 相位 / 削顶,104 浮点遥测按用户裁定不作对照证据),尾步两画面 2026-11-06 拍毕;
手册第二幕状态与 `docs/任务规划/README.md` §2.0「独立」行已同步销项。
### bench 定时自抓与占卷弃段观察闭环记录(2026-11-07,台架远程轮,#84 第四幕)
bench 锁全程持有(任务 `exec-issue-84`,`_wt` 规范锁区手工获取、收工 `--bench-pass`
释放);烧写按 2026-11-02 常授权执行(手册 §6 步骤 1 的「等你回“烧”」按常授权跳过)。
临时开关(`App/task/adc_task.c` 的本地宏 `WAVE_BENCH_AUTOCAP` 翻 1、`uvprojx` 加
`DTU_BENCH` 定义)全程不入仓、收工还原。证据目录
`docs/测试说明/测试数据/wave_bench_20261107/`(串口摘录、各轮 JSON、目录清单、构建日志)。
**执行链(时间序)**:
1. bench 构建首烧即暴露 **F0 缺陷**(见下现场发现)。修复重烧后 T 源定时自抓对上判据:
心跳 `wave: seg=NN armed=0 src=T pts=320` 每 10 s 恰 +5 段(2 s 节奏)、err 平段稳定,
启动即打 `[WARN] wave bench autocap ON: 1 seg / 2000 ms, auto-stop 300 s`。
2. 占卷造法:FTP 根 `FILLER.BIN`(2 MB,RETR ≈7.2 s)与 `FILL3.BIN`(600 KB,≈2.2–2.5 s)。
lftpd 从 open 到 close 全程持卷锁(`Drivers/BSP/NET/lftpd/lftpd_io.c`),主机侧 RETR 完成
时刻与串口 `[FTP] DOWNLOAD … OK` 行 ±5 ms 对齐,可互证时间戳。
3. **长占卷 → 静默自弃分支**:连续 9 轮 RETR 共占卷 72.6 s(`phase1.json`),期间 `err` 1→15、
`ovf` 1→18、seg 13→27(只有轮间零点几秒空隙抢到盘)——被占覆盖的落盘尝试各在 SEALED 滞留
2000 tick 后自弃并各给 `err` +1,**串口零留痕(全窗 0 条 `[ERR] [WAVE]`)**:「不是每拍刷屏」
判据以最严形态成立。
4. **临界占卷 → 唯一留痕**:δ 阶梯扫占卷窗内放锁落点(锚 = ON 行 +2.01 s、周期 2.0005 s、
步距 25 ms),第 11 发命中:`[ERR] [WAVE] seg drop: ring abandoned (idx=36 written=5250)`,
同毫秒 `[WAVE][WARN] seg held 124 ms (idx=36)`;全窗串口仅此一条 `[ERR] [WAVE]` 行
(打印由一次性闩锁 `s_wfail_latch` 把关,设计即如此)。心跳对 `err=4 ovf=10` → 10 s 后
`err=5 ovf=11`:**命中本身给 err 恰 +1**(同窗此前 4 发 LATE 类静默自弃与 ovf 各笔均有
逐发归因表)。弃段后段号不推进:弃段路径先 unlink 该槽文件,P1(+3.4 s)即见同号
`WAVE36.BIN` 重建 5250 B 全新单段(对照在档 WAVE00.BIN 已累计 126000 B),P3(+15.4 s)
同号仍在,sha256 `b12e130e80fb4d8b…2a0a11ca`。三判据(err+1 / 只有一条留痕 / 同号不推进)
全部板级实证。
5. **占卷期间活性**:104 端口 2404 TCP 探测在占卷中段收到 `68 04 0b 00 00 00`(STARTDT 确认)、
7003 UI 链路 status 正常应答(主菜单 MENU)、串口 `meas:`/`wave:` 心跳不断——
「丢录波不丢采集」在占卷场景再添实证(冻结窗口场景见上「板级远程半轮记录」)。
6. 收工:卷上占卷文件三处全删(ROOT 只剩 V5_UP/CONFIG.INI/PROT_SET/LOG//WAVE/)、`/WAVE`
只剩真实轮转段 → 重烧产品构建全量重建 → /serial-boot-test 全锚点判定(结论与逐锚点表见
证据目录 README)→ bench 锁释放。
**现场发现**:
- **F0(bench 构建定时器判据缺陷,已修复并硬件实证)**:`App/task/adc_task.c`:588 原无符号判据
`(uint32_t)(now - s_wave_bench_next) >= WAVE_BENCH_PERIOD_MS` 在 `next = now + PERIOD` 挂出后
立刻成立(now<next 时差值回绕成巨数),台架实测以 1 kHz tick 连发请求:`ovf` 每秒 +1000、
段节奏被去重钳到 ~1.5 s/段,违背 ON 行承诺的「1 seg / 2000 ms」。改有符号判定
`(int32_t)(now - s_wave_bench_next) >= 0`(半程内回绕安全)后节奏恰 +5/10 s。产品影像零漂移:
该段本就整块在 `#if defined(DTU_BENCH)` 闸内(旁证:bench 产物 Code 255284 vs 产品 254820,
差 464 B,bench 代码确被裁掉)。
- **F1(单发、未复现、只记不断)**:20:28:57 占卷扫荡窗口一次 `reset cause: software
(NVIC_SystemReset)`,无前置 `[ERR]`/断言/fault 打印(列明的四条软件复位路径都先打印再复位——
打印丢失或存在打印外调用点,未定位);此后 6+ 窗口、约 50 min 同等负载未复现。留作观察项,
再现第二例再升级排查。
- **F2(占卷方法学)**:lftpd 放卷锁比串口 `[FTP] DOWNLOAD … OK` 行早约 0.11–0.14 s(由放锁后
writer 首次抢到盘的时点反推)。临界命中要按「DOWNLOAD 行时刻 − 0.13 s + δ」摆放锁落点——
此常数是此前多轮全空手、改后 11 发即中的钥匙。
- **F3(同一竞态的另一留痕名,非新增缺陷)**:20:30:31 长占卷窗内一条 `[ERR] [WAVE] seg drop:
pack_next (idx=28 written=1920)`:与 §5.2 第四条同族——写到一半环已换段,该分支先按旧槽号
报 `pack_next` 再走统一弃段。属上表既有留痕名的板级首见,记例不另开缺陷。
- **i104 bind FAIL 每次上电复现**:`[ERR][I104] i104: bind port 2404 FAIL, retry in loop` 台架与
产品构建同现,静默重试后套接字实际绑定成功(TCP 探测 STARTDT 为证)——#53 既有面(见上
「回放页坏段/空态画面闭环记录」末段),不新开。
**至此第四幕(bench 定时自抓 + 占卷弃段观察)板级闭环**:§5.2 第四条与 §10 板级行的观察项
销项;手册 §1 第四幕行与 §6 状态已同步。本票唯一入库代码改动 = F0 有符号判定修复
(bench 闸内,产品行为零变化)。
---
## 11. 与 `docs/任务规划/数据可信.md` 的口径变更(三处)
@@ -768,4 +768,3 @@ defaultTask(喂狗点)内也不饿狗,残留形态收敛为「有界时长
2026-10-25 F2/F3 探针轮、2026-11-02 录波枚举台架轮(卷锁 try 超时 0 次)、
2026-11-05 PR #82 补验 soak(STOR 密集)均无该签名。重开判据不变:**台架再出
存储侧喂狗饥饿才排期**;观察行留登记簿 §2。
@@ -13,7 +13,7 @@
| 第一幕 | 枚举埋点与修复上板 | **已完成(2026-11-02,远程)** | 无 | 改码加埋点 → 构建 → 烧录回读 → 远程开回放页 → 读 FR 码定性 → 修复重烧 | `docs/子系统设计/故障录波设计说明.md` §10「回放页枚举恒空缺陷修复记录」 |
| 第二幕 | 注量对表 | **已闭环(2026-11-06)**——注量对表 2026-11-04 由 #40 交流轮跑完;坏段/空态画面 2026-11-06 台架远程轮拍毕,本幕现场无需重做 | ~~接 UA 发生器线 1 次、拔 1 次;面板按 2 次键(或让 agent 远程注键)~~ 已由远程轮与 #40 消化 | 记心跳基准 → FTP 拉段 → `wave_read` 量四样 → `meas:`/104 YC 对表 → 削顶注大一遍 → 坏段上板看回放页绝不平线 | `docs/子系统设计/故障录波设计说明.md` §10「板级」行 +「板级·回放页」行后半 +「回放页坏段/空态画面闭环记录」 |
| 第三幕 | P 触发对时刻 | **要到场**,还含**两个由你拍板的决定** | IA 两点标定各接一次线 + 过流加大到 UI 见数值过 2 A | 读码算 k/b → 写配置生效 → 验证解锁 → 触发后对 start.log 时刻/段号/src=P | `docs/子系统设计/故障录波设计说明.md` §10「板级·触发来路」行 |
| 第四幕 | bench 自抓与卷占用 | **可远程**(烧录同上;占卷用 FTP 造) | 无 | 烧 bench 构建 → 造占卷 ≥2 s → 看 `err`+1、**一条** `ring abandoned`、同号重写 → 还原产品构建 | `docs/子系统设计/故障录波设计说明.md` §10 板级行的 `ring abandoned` 观察项 |
| 第四幕 | bench 自抓与卷占用 | **已完成(2026-11-07,远程)**——三判据逐条对上,且顺手修掉 bench 定时器判据缺陷一枚(F0,见闭环记录);无需重做 | ~~烧 bench 构建 → 造占卷 ≥2 s → 看 `err`+1、**一条** `ring abandoned`、同号重写 → 还原产品构建~~ 已由远程轮消化 | 同左(已全部执行:长占卷 72.6 s 静默自弃 err 1→15 零留痕 + 临界命中唯一留痕 err 恰 +1 同号重写 + 104/UI 占卷中照常) | `docs/子系统设计/故障录波设计说明.md` §10「bench 定时自抓与占卷弃段观察闭环记录」 |
幕间依赖:**第二幕的"坏段上板看回放页"一步已不再被阻塞**(第一幕 2026-11-02 已修好并板级闭环);其余各幕互相独立,可以先做不用等的。
@@ -118,6 +118,15 @@ flowchart LR
3. **判据三件套(agent 读串口与目录,给你摘要)**:`wave:` 行 `err` +1;串口**只有一条** `[ERR] [WAVE] seg drop: ring abandoned`;被弃段号**不推进**,下一段写同号;期间 104 链路与 UI 心跳照常(丢了录波不丢采集)。
4. **[agent]** 删掉 `FILLER.BIN` → 重烧**产品构建**(等"烧"确认)→ 跑一遍启动锚点校验(`/serial-boot-test` 的 required/forbidden 全套)→ 释放 bench 锁。
> **2026-11-07 本幕已由远程轮跑完闭环(#84)**:步骤 1/4 的等"烧"按 2026-11-02 常授权跳过;
> 判据三件套逐条对上——长占卷 72.6 s 静默自弃 `err` 1→15 零留痕(「不是每拍刷屏」的最严形态)、
> 临界占卷命中唯一留痕 `ring abandoned` 且 `err` 恰 +1、弃段槽号不推进同号重写、占卷期间 104
> 链路(STARTDT 实测应答)与 UI(7003 status 主菜单)照常;另修掉 bench 定时器判据缺陷一枚
> (F0,产品构建字节零漂移)。收工项:占卷文件三处全删、`/WAVE` 只剩真实轮转段、设备已回产品
> 构建。全程证据与逐数字实证见 `docs/子系统设计/故障录波设计说明.md` §10
> 「bench 定时自抓与占卷弃段观察闭环记录」+ 证据目录
> `docs/测试说明/测试数据/wave_bench_20261107/`。
---
## 7. 收工还原清单(一项不落,agent 逐条过给你看)
@@ -0,0 +1,87 @@
# wave_bench_20261107 —— 第四幕「bench 定时自抓与占卷弃段观察」证据(#84,台架远程轮)
**一句话**:bench 自抓与「卷被占住时弃段」两条路径都拿到了板级实证——临界占卷命中恰好**一条**
`[ERR] [WAVE] seg drop: ring abandoned`、`err` 恰 +1、段号不推进同号重写;长占卷 72.6 s 静默
自弃 err 1→15 零留痕;期间 104 链路与 UI 照常;顺手修掉 bench 定时器判据缺陷一枚(F0)。
产品构建已还烧,除 #53 跟踪中的 i104 首绑 FAIL 行外全锚点过(端口实测活,见「已知限制」)。
## 1. 判据对照(手册 §6 步骤 3 三件套 + 活度)
| 判据 | 结果 | 实证 |
| --- | --- | --- |
| `wave:` 行 `err` +1 | ✅ 恰 +1 | `serial_excerpt_sweep7_window.txt`:`seg=36 … err=4` (21:15:32) → `seg=39 … err=5` (21:15:42);err 全窗归因 = 4 次静默自弃 + 1 次命中 = 5 ✓ |
| 只出现**一条** `ring abandoned`(不是每拍刷屏) | ✅ 唯一 | 同 excerpt:21:13–21:19 全窗 `[ERR]` 共 2 条 = 命中 1 条 + `[ERR][I104] bind FAIL`(#53 启动面,非落盘留痕);命中行:`seg drop: ring abandoned (idx=36 written=5250)` |
| 段号不推进、下一段仍写同号文件 | ✅ | `sweep7_211352.json` P1/P2/P3:命中即 unlink WAVE36.BIN → +3.4 s 起该槽 5250 B 全新单段(同刻邻槽 WAVE00=126000 B 累积对照),sha256 `b12e130e…2a0a11ca`;心跳 seg 36→39 但**文件 idx 恒 36** |
| 长占卷静默侧(err+N 零留痕,「不刷屏」最严形态) | ✅ | `phase1.json`:72.61 s 连续 FILLER 占卷,err 1→15(+14 = 覆盖 14 次封存的自弃),`err_lines=0` |
| 期间 104 链路与 UI 心跳照常 | ✅ | `phase1.json` probes(占卷中转储中):i104 TCP 2404 → `68040b000000`(STARTDT 确认)、7003 UI status=**MENU**(主菜单)ok |
| 收工:FILLER 删净 / /WAVE 只剩真实段 / 产品构建 / 锁空闲 | ✅ | `final_wave_listing.txt`(根 = LOG、WAVE、V5_UP.BIN、CONFIG.INI、PROT_SET.BIN,FILLER/FILL2/FILL3 全删);产品构建 `fw build: Nov 7 2026 21:32:52`,`boot_log_fail2_*` 除 i104 行外 8/9 required 全过 + readback OK;bench 锁以 `--bench-pass` 释放 |
## 2. 命中窗口时间线(`sweep7_probes_211352.jsonl` 逐拍)
bootstrap stlink 复位 21:13:52 → `wave bench autocap ON` 21:13:53.357(锚 0=ON+2.01 s,
周期实测 2.0005 s)→ 探针 1–10(`/FILL3.BIN` 600 KB RETR ≈2.4 s,δ 阶梯 −150…+160 ms,
锚只被 LATE 类更新防自污染):LATE 4 次(rel 2.019/2.007/1.932/1.812 = 释放点在弃段边界后,
各自静默自弃 err+1 零留痕)、E 6 次(rel −0.02…−0.12 = 提前干净落盘)→ **探针 11
δ=−90 ms,rel=−0.011 s 命中**:21:15:35.576 `[ERR] seg drop: ring abandoned (idx=36)`,
同刻 `seg held 124 ms (idx=36)`(临界抓段全程含住边界,写毕复检判死自删)。
方法要点(F2):lftpd 交还卷锁比 `[FTP] DOWNLOAD … OK` 串口落账行**早约 0.11–0.135 s**,
δ 阶梯常数 C_BASE=2.19 s 已把该提前量烧进目标式;锚自 LATE 探针回收(grab_rx − (2P+0.16+QP))。
## 3. 现场发现
- **F0(已修,本 PR 唯一代码改动)**:`App/task/adc_task.c` bench 周期到期判定用无符号差值,
`next=now+PERIOD` 挂出后 `(now−next)>=2000` 因回绕**每拍成立**——首个 bench 构建台架实证
以 ~1 kHz 连发请求(ovf 每秒 +1000、段节奏钳到 ~1.5 s/段、drop 计数狂涨),违背 ON 行
承诺的 `1 seg / 2000 ms`。改有符号比较后实测 seg 精确 +5/10 s。产品镜像字节零漂移
(bench 段在 `#if DTU_BENCH` 门内;bench Code=255284 vs 产品 254820,差 464 B 即门控旁证)。
首烧 run_boot_test 的 FAIL(i104 MISS + bind FAIL)与本缺陷无关,属 #53 面。
- **F1(单次未复现,仅记录)**:20:28:57 板载 `reset cause: software (NVIC_SystemReset)`
无任何打印前导;四个复位调用点均「先打印后复位」。其后 6+ 个 autocap 窗(含 72.6 s 连续
占卷)未复现。复原摘录与来源声明见 `serial_excerpt_sweep5_f1f3.txt`。
- **F3(同族分支板级首见)**:20:30:31 `seg drop: pack_next (idx=28 written=1920)`——复检
判死的「落盘中途」分支(对照命中走的是「落盘前解冻」分支),同一段竞态家族,同套处置
(删文件、号不推进、统一打印点),见设计说明 §5.2 第四条 / §10 留痕名清单。
- **i104 首绑 FAIL(#53 既有跟踪)**:每次上电/复位 +2.7 s 复现一行 `[ERR][I104] bind port
2404 FAIL, retry in loop`,net 层 reconcile 静默重挂后端口实测活(本窗 21:37:09 探针
`68040b000000` + `serial_excerpt_product_final_2133plus.txt` 的 relisten 三连行)。
本轮不新开(11-06 第二幕轮先例同此,设计说明 §10 回放页记录有注)。
## 4. 复现要点
1. bench 构建:`STM32F407-Demo.uvprojx` Define 加 `DTU_BENCH` + `adc_task.c` 的
`WAVE_BENCH_AUTOCAP` 置 1(两枚临时开关都不入库),烧写,串口见
`wave bench autocap ON`(300 s 自动停,reset 可重挂窗)。
2. 根目录 STOR 占卷文件(8.3 名,本窗用 2 MB `FILLER.BIN` ≈7.1 s/次 与 600 KB
`FILL3.BIN` ≈2.4 s/次);RETR 释放点按 §2 方法贴到弃段边界前 ~110 ms 带内。
3. 看串口 `[ERR] [WAVE] seg drop:` 唯一行 + `wave:` 心跳 err 增量 + `/WAVE` 同号槽重写。
4. 收工按手册 §6 步骤 4。驱动脚本为票据级(未入库),关键常数见 §2;台架常授权下免「等烧」。
## 5. 已知限制
- **串口持久日志被后续 run_boot_test 的 open+clear 清空**(21:33:07 gen=3):sweep5 窗口
(20:2x)原始切片未及整段归档,`serial_excerpt_sweep5_f1f3.txt` 为**逐字复原件**(来源
声明在文件头);sweep7 窗口与产品终窗为原始切片。
- `/WAVE` 是 100 槽轮转覆盖,命中时刻 WAVE36 的 5250 B 样本无法事后单独归档(后续真实段
继续同号重写属设计行为);命中时状态以 P1/P2/P3 三点尺寸+sha + 目录清单固化。
- 启动锚点校验在产品构建上因 #53 行判 FAIL(两次复跑同因);该行是唯一 MISS/HIT,
端口活度以 TCP STARTDT 实测补偿,定性沿用 11-06 轮先例。
- F1 复位不定性、不复现即不追(观察面),如现场再见按 `boot_stats` CSR 值起单。
## 6. 文件清单
| 文件 | 内容 |
| --- | --- |
| `sweep7_211352.json` | 命中窗总结(锚链、P1/P2/P3 采样、心跳对、唯一性核验) |
| `sweep7_probes_211352.jsonl` | 命中轮 11 探针逐拍记录(δ/rel/cls/err_lines_new) |
| `sweep7_probes_210925.jsonl` | 前一轮(网格自污染教训,探针 1–2 回收陈旧封存) |
| `serial_excerpt_sweep7_window.txt` | 命中窗串口原始切片(21:13:52–21:15:59,噪声过滤) |
| `phase1.json` | 72.6 s 连续占卷 + 占卷中 104/UI 探针 + err 1→15 心跳链 |
| `serial_excerpt_sweep5_f1f3.txt` | F1 复位 + F3 pack_next 复原摘录(含来源声明) |
| `serial_excerpt_product_final_2133plus.txt` | 产品终窗串口切片(bind FAIL→relisten→探针应答) |
| `boot_log_fail1/fail2_20261107_*.txt` | 产品构建两次启动锚点校验全日志(唯一 FAIL 项 = #53 行) |
| `final_wave_listing.txt` | 收工态 /WAVE 计数与抽样尺寸、WAVE36=10500 注记 |
| `sweep_1794051196.json` | 更早 58 拍扫相位轮(全 E 类零 err——「1.6 s 占卷结构上够不着边界」的方法学反证) |
关联:`docs/子系统设计/故障录波设计说明.md` §10「bench 定时自抓与占卷弃段观察闭环记录」;
`docs/测试说明/专项验证/故障录波板级到场轮执行手册.md` §1/§6/§7;Gitea #84。
@@ -0,0 +1,157 @@
[+0ms] [----/--/-- --:--:--][APP] boot: syslog init OK
[+0ms] [----/--/-- --:--:--][APP] fw build: Nov 7 2026 21:28:55 suite=NONE dstr=off
[+10ms] [----/--/-- --:--:--][APP] reset cause: software (NVIC_SystemReset) (CSR=0x14000000)
[+10ms] PREVRUN seg=2 seq=2101112827 t=436031
[+21ms] TICKRUN uw=436055 n=436055 duw=24
[+21ms] [----/--/-- --:--:--][RTC] sd2506_init: OK
[+31ms] [----/--/-- --:--:--][APP] SD2506 init: OK (ret=0)
[+42ms] [2026-11-07 21:29:18][CLK] sys_clock_init: RTC initial time 2026-11-07 21:29:18
[+42ms] [2026-11-07 21:29:18][CLK] sys_clock_init: wall clock base = unix 1794086958, base_tick=142
[+52ms] [2026-11-07 21:29:18][APP] RS485 init: OK (UART4, DE=PA15)
[+63ms] [2026-11-07 21:29:18][APP] ScreenLink init: OK (ret=0, USART1 700000 baud, BRR=0x0078)
[+73ms] [2026-11-07 21:29:18][NAND] Resetting NAND...
[+94ms] [2026-11-07 21:29:18][NAND] Reading NAND ID...
[+94ms] [2026-11-07 21:29:18][NAND] NAND ID: MID=0xC8, DID=0x52
[+105ms] [2026-11-07 21:29:18][NAND] Scanning bad blocks...
[+240ms] [2026-11-07 21:29:18][NAND] BBT scan: 0 bad blocks found
[+240ms] [2026-11-07 21:29:18][NAND] Enabling ECC...
[+240ms] [2026-11-07 21:29:18][NAND] Unlocking block protection...
[+250ms] [2026-11-07 21:29:18][NAND] Locating BBT pool...
[+250ms] [2026-11-07 21:29:18][NAND] Loading persisted BBT...
[+261ms] [2026-11-07 21:29:18][NAND] NAND init OK
[+261ms] [2026-11-07 21:29:18][APP] NAND init: OK
[+271ms] [2026-11-07 21:29:18][ADC] Init OK
[+271ms] [2026-11-07 21:29:18][APP] ADC init: OK
[+271ms] [2026-11-07 21:29:18][APP] ADC input layer init: OK
[+282ms] [2026-11-07 21:29:18][APP] phasor layer init: OK (inst=5)
[+282ms] [2026-11-07 21:29:18][APP] freq layer init: OK
[+292ms] [2026-11-07 21:29:18][CFG] register: section 'adc_cal' (9 keys)
[+292ms] [2026-11-07 21:29:18][CFG] register: section 'adc_cal_ofs' (8 keys)
[+303ms] [2026-11-07 21:29:18][APP] adc cal init: OK (k_q16 tpafe=10000000 stm32=52800000)
[+313ms] [2026-11-07 21:29:18][CFG] register: section 'run_par' (9 keys)
[+313ms] [2026-11-07 21:29:18][APP] run par init: OK (db9 k/b via adc_cal, evt=1<<8)
[+323ms] [2026-11-07 21:29:18][CFG] register: section 'comm' (2 keys)
[+333ms] [2026-11-07 21:29:18][APP] comm init: OK (ca=1 port=2404)
[+333ms] [2026-11-07 21:29:18][APP] protection init: OK (set=40 elm=9)
[+344ms] [2026-11-07 21:29:18][APP] SD2506 ID: 2512153425482405
[+344ms] [2026-11-07 21:29:18][APP] SD2506 time: 2026-11-07 21:29:19 (week 6)
[+354ms] [2026-11-07 21:29:18][APP] SD2506 temp: 24 C
[+354ms] [2026-11-07 21:29:18][APP] SD2506 battery: 3.12 V
[+365ms] [2026-11-07 21:29:18][APP] App init OK
[+365ms] [2026-11-07 21:29:18][NAND_FTL] Initializing NAND FTL...
[+386ms] [2026-11-07 21:29:18][PROT] uncalibrated -> protection blocked (UA/UN/IA VALID not all set)
[+469ms] [2026-11-07 21:29:18] [FS] FATFS mounted
[+532ms] [2026-11-07 21:29:18][SYSLOG] runlog boot entry: reboot
[+532ms] [2026-11-07 21:29:18][CFG] register: section 'network' (4 keys)
[+542ms] [2026-11-07 21:29:18][CFG] register: section 'ftp' (3 keys)
[+553ms] [2026-11-07 21:29:18][CFG] register: section 'sntp' (4 keys)
[+563ms] [2026-11-07 21:29:18][CFG] load: OK (1064B, heap free 16552B)
[+563ms] [2026-11-07 21:29:18][NET_CFG] load: OK ip=192.168.31.100
[+574ms] [2026-11-07 21:29:18] [CFG] prot set loaded (/prot_set.bin)
[+595ms] [2026-11-07 21:29:18][NAND_FTL] Map resumed: 46942/93232 sectors used
[+605ms] [2026-11-07 21:29:18][NAND_FTL] Map head=36160 tail=91677 epoch=8
[+605ms] [2026-11-07 21:29:18][NAND_FTL] NAND FTL ready (capacity: 93232 pages = 182 MB)
[+616ms] [2026-11-07 21:29:18][ADC_TASK] first: UA=-19 UB=414 UC=518 UN=-18 IA=-16 IB=0 IC=768 IN=901 T=713
[+626ms] [2026-11-07 21:29:18][ADC_TASK] phasor(first) C01-IA-F1: Re=0 Im=0 rms=0 (x0.1)
[+626ms] [2026-11-07 21:29:18][ADC_TASK] phasor(first) C02-UA-F1: Re=0 Im=0 rms=0 (x0.1)
[+636ms] [2026-11-07 21:29:18][ADC_TASK] phasor(first) C03-UN-F1: Re=0 Im=0 rms=0 (x0.1)
[+646ms] [2026-11-07 21:29:18][ADC_TASK] phasor(first) C04-IA-F2: Re=0 Im=0 rms=0 (x0.1)
[+656ms] [2026-11-07 21:29:18][ADC_TASK] phasor(first) C05-IA-F5: Re=0 Im=0 rms=0 (x0.1)
[+656ms] [2026-11-07 21:29:18][ADC_TASK] freq(first): f=0 valid=0 (x0.01)
[+667ms] [2026-11-07 21:29:18][PROT] protect task start: cycle=20ms elm=9
[+667ms] [2026-11-07 21:29:18][NET_TASK] === Network Init ===
[+677ms] [2026-11-07 21:29:18][NET] ch395f ver=0x4A fun_para=0x08
[+677ms] [2026-11-07 21:29:18][NET_TASK] net init: OK
[+688ms] [2026-11-07 21:29:18][NET_TASK] MAC: 3C:AB:72:53:2B:12
[+688ms] MISS start snap=0x000001E7 req=0x000001F7 t=794
[+688ms] [2026-11-07 21:29:18][WD] [WD] armed: timeout ~2498ms (worst ~1701ms), miss_tol=800ms
[+698ms] [2026-11-07 21:29:18][NET_TASK] IP_INF: IP=192.168.31.100 GW=192.168.31.1 MASK=255.255.255.0
[+751ms] [2026-11-07 21:29:18][UI_TASK] UI task: started, wait net ready
[+2642ms] [2026-11-07 21:29:20][NET_TASK] PHY: 100M FULL
[+2663ms] [2026-11-07 21:29:20][NET_TASK] netTask: started (single-socket mode)
[+2694ms] [2026-11-07 21:29:20][ERR][I104] i104: bind port 2404 FAIL, retry in loop
[+2725ms] [2026-11-07 21:29:20] [FTP] using factory default password
[+2735ms] MISS start snap=0x000001E7 req=0x000001F7 t=2839
[+2735ms] [PROF] t=2843 uic=0 uip=0 uipn=0 uil=0 uiw=0 uis=0 uisn=0 adc=2370 adcm=1997 adcn=0 gl=0
[+2746ms] [PROF2] t=2843 defd=92186 defs=37170 netp=1004 netn=387 adcp=8 adcq=0 gl=0
[+2756ms] [2026-11-07 21:29:20] [FTP] waiting for connection...
[+2756ms] [2026-11-07 21:29:20][UI_TASK] UI task: net ready, init port
[+2766ms] [2026-11-07 21:29:20][UI_TASK] UI task: ui_port_init enter
[+2777ms] [2026-11-07 21:29:20][UI_PORT] theme: mono dark_bg=true applied
[+2777ms] [2026-11-07 21:29:20][UI_TASK] UI port init: OK
[+2787ms] [2026-11-07 21:29:20][UI_TASK] UI task: ui_menu_init enter
[+2787ms] [2026-11-07 21:29:20][UI_MENU] menu build start: total=15136 free=12692 big=12692
[+2798ms] [2026-11-07 21:29:20][UI_MENU_VIEW] view init: root frame w=66 h=107
[+2808ms] [2026-11-07 21:29:20][UI_MENU] menu build done: total=15020 free=11828 big=11816 used=3192
[+2818ms] [2026-11-07 21:29:20][UI_TASK] UI menu init: OK
[+2818ms] [2026-11-07 21:29:20][UI_STANDBY] standby: ready (idle=60000ms)
[+2829ms] [2026-11-07 21:29:20][UI_TASK] UI standby: ready (idle=60s)
[+2871ms] [2026-11-07 21:29:20][UI_TASK] UI net sink: started (port 7003)
[+2892ms] [2026-11-07 21:29:20][SBLINK] first frame: size=6 cmd=1 key=0
[+4898ms] [PROF] t=5005 uic=181 uip=29627 uipn=5854 uil=10999 uiw=19608 uis=1139 uisn=0 adc=4531 adcm=1997 adcn=0 gl=0
[+4909ms] [PROF2] t=5005 defd=92186 defs=37170 netp=1024 netn=0 adcp=9 adcq=0 gl=0
[+5368ms] [2026-11-07 21:29:23][SBLINK] rx=19 ok=19 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+5379ms] [2026-11-07 21:29:23] [STACK] default peak_used=2176/5120 free_min=2944 (57%)
[+5389ms] [2026-11-07 21:29:23] [STACK] net peak_used=1116/3840 free_min=2724 (70%)
[+5389ms] [2026-11-07 21:29:23] [STACK] ftp peak_used=740/4096 free_min=3356 (81%)
[+5400ms] [2026-11-07 21:29:23] [STACK] ui peak_used=4104/16384 free_min=12280 (74%)
[+5410ms] [2026-11-07 21:29:23] [STACK] timesync peak_used=476/2560 free_min=2084 (81%)
[+5410ms] [2026-11-07 21:29:23] [STACK] adc peak_used=1024/2560 free_min=1536 (60%)
[+5421ms] [2026-11-07 21:29:23] [STACK] iec104 peak_used=540/2560 free_min=2020 (78%)
[+5432ms] [2026-11-07 21:29:23] [STACK] protect peak_used=492/2048 free_min=1556 (75%)
[+5442ms] [2026-11-07 21:29:23] [STACK] heap free=15624 min_ever=8464
[+5442ms] [2026-11-07 21:29:23][SBLINK] tx=9 done=8 drop=10 kerr=0 abor=0 fb=5 bad=0 us=511 max=513 kq=0 off=0 dfok=0 dfold=0
[+6902ms] [PROF] t=7008 uic=354 uip=94941 uipn=5854 uil=11000 uiw=85308 uis=1139 uisn=0 adc=6534 adcm=1997 adcn=0 gl=0
[+6912ms] [PROF2] t=7008 defd=92186 defs=37170 netp=1984 netn=0 adcp=9 adcq=0 gl=0
[+8918ms] [PROF] t=9025 uic=536 uip=94941 uipn=4855 uil=10998 uiw=85308 uis=1139 uisn=0 adc=8551 adcm=1997 adcn=0 gl=0
[+8929ms] [PROF2] t=9025 defd=92186 defs=37170 netp=1984 netn=0 adcp=9 adcq=0 gl=0
[+10368ms] [2026-11-07 21:29:28][ADC_TASK] frames=10000 idle=0 skip=1 seq=10006 frst_err=0 ring=9999 adc1_rc=0 adc1_err=0 adc1_seq=10005 adc1_gap=5 adc1_hw=0 tgap=1
[+10379ms] [2026-11-07 21:29:28][ADC_TASK] phasor(hb) C01-IA-F1: Re=0 Im=0 rms=0 (x0.1)
[+10389ms] [2026-11-07 21:29:28][ADC_TASK] phasor(hb) C02-UA-F1: Re=0 Im=0 rms=0 (x0.1)
[+10399ms] [2026-11-07 21:29:28][ADC_TASK] phasor(hb) C03-UN-F1: Re=0 Im=0 rms=0 (x0.1)
[+10410ms] [2026-11-07 21:29:28][ADC_TASK] phasor(hb) C04-IA-F2: Re=0 Im=0 rms=0 (x0.1)
[+10410ms] [2026-11-07 21:29:28][ADC_TASK] phasor(hb) C05-IA-F5: Re=0 Im=0 rms=0 (x0.1)
[+10420ms] [2026-11-07 21:29:28][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[+10420ms] [2026-11-07 21:29:28][ADC_TASK] adc: UA=-20 UB=404 UC=618 UN=-19 IA=-20 IB=0 IC=760 IN=893 T=730
[+10431ms] [2026-11-07 21:29:28][ADC_TASK] cal: ua_mv=-3 un_mv=-2 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[+10441ms] [2026-11-07 21:29:28][ADC_TASK] meas: seq=50 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[+10452ms] [2026-11-07 21:29:28][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[+10462ms] [2026-11-07 21:29:28][SBLINK] rx=37 ok=37 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+10473ms] [2026-11-07 21:29:28][SBLINK] tx=27 done=27 drop=10 kerr=0 abor=0 fb=16 bad=0 us=674 max=674 kq=0 off=0 dfok=0 dfold=0
[+10928ms] [PROF] t=11033 uic=707 uip=98476 uipn=9855 uil=10997 uiw=85308 uis=1139 uisn=0 adc=10557 adcm=3430 adcn=0 gl=0
[+10939ms] [PROF2] t=11033 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
[+12948ms] [PROF] t=13051 uic=889 uip=98476 uipn=5859 uil=10999 uiw=85308 uis=1139 uisn=0 adc=12575 adcm=3430 adcn=0 gl=0
[+12958ms] [PROF2] t=13051 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
[+14969ms] [PROF] t=15069 uic=1071 uip=98476 uipn=5855 uil=10997 uiw=85308 uis=1139 uisn=0 adc=14593 adcm=3430 adcn=0 gl=0
[+14969ms] [PROF2] t=15069 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
[+15467ms] [2026-11-07 21:29:33][SBLINK] rx=55 ok=55 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+15477ms] [2026-11-07 21:29:33][SBLINK] tx=45 done=44 drop=10 kerr=0 abor=0 fb=26 bad=0 us=513 max=674 kq=0 off=0 dfok=0 dfold=0
[+16986ms] [PROF] t=17094 uic=1252 uip=98476 uipn=1853 uil=11000 uiw=85308 uis=1139 uisn=0 adc=16618 adcm=3430 adcn=0 gl=0
[+16996ms] [PROF2] t=17094 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
[+19005ms] [PROF] t=19112 uic=1434 uip=98476 uipn=5855 uil=10998 uiw=85308 uis=1139 uisn=0 adc=18636 adcm=3430 adcn=0 gl=0
[+19015ms] [PROF2] t=19112 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
[+20371ms] [2026-11-07 21:29:38][ADC_TASK] frames=19998 idle=0 skip=2 seq=20006 frst_err=0 ring=19996 adc1_rc=0 adc1_err=0 adc1_seq=20005 adc1_gap=8 adc1_hw=0 tgap=3
[+20382ms] [2026-11-07 21:29:38][ADC_TASK] phasor(hb) C01-IA-F1: Re=0 Im=0 rms=0 (x0.1)
[+20393ms] [2026-11-07 21:29:38][ADC_TASK] phasor(hb) C02-UA-F1: Re=0 Im=0 rms=0 (x0.1)
[+20393ms] [2026-11-07 21:29:38][ADC_TASK] phasor(hb) C03-UN-F1: Re=0 Im=0 rms=0 (x0.1)
[+20403ms] [2026-11-07 21:29:38][ADC_TASK] phasor(hb) C04-IA-F2: Re=0 Im=0 rms=0 (x0.1)
[+20413ms] [2026-11-07 21:29:38][ADC_TASK] phasor(hb) C05-IA-F5: Re=0 Im=0 rms=0 (x0.1)
[+20424ms] [2026-11-07 21:29:38][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[+20424ms] [2026-11-07 21:29:38][ADC_TASK] adc: UA=-21 UB=403 UC=618 UN=-20 IA=-19 IB=0 IC=769 IN=885 T=752
[+20435ms] [2026-11-07 21:29:38][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-2 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[+20445ms] [2026-11-07 21:29:38][ADC_TASK] meas: seq=100 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[+20445ms] [2026-11-07 21:29:38][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[+20466ms] [2026-11-07 21:29:38][SBLINK] rx=72 ok=72 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+20476ms] [2026-11-07 21:29:38][SBLINK] tx=62 done=62 drop=10 kerr=0 abor=0 fb=36 bad=0 us=692 max=692 kq=0 off=0 dfok=0 dfold=0
[+21043ms] [PROF] t=21144 uic=1607 uip=99653 uipn=10854 uil=10999 uiw=85308 uis=1139 uisn=0 adc=20666 adcm=3453 adcn=0 gl=0
[+21054ms] [PROF2] t=21144 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
[+23054ms] [PROF] t=23162 uic=1789 uip=99653 uipn=5854 uil=11000 uiw=85308 uis=1139 uisn=0 adc=22684 adcm=3453 adcn=0 gl=0
[+23065ms] [PROF2] t=23162 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
[+25075ms] [PROF] t=25180 uic=1971 uip=99653 uipn=5853 uil=10984 uiw=85308 uis=1139 uisn=0 adc=24702 adcm=3453 adcn=0 gl=0
[+25085ms] [PROF2] t=25180 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
[+25478ms] [2026-11-07 21:29:43][SBLINK] rx=90 ok=90 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+25489ms] [2026-11-07 21:29:43][SBLINK] tx=80 done=80 drop=10 kerr=0 abor=0 fb=46 bad=0 us=513 max=692 kq=0 off=0 dfok=0 dfold=0
[+27105ms] [PROF] t=27205 uic=2152 uip=99653 uipn=3850 uil=11003 uiw=85308 uis=1139 uisn=0 adc=26727 adcm=3453 adcn=0 gl=0
[+27105ms] [PROF2] t=27205 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
[+29124ms] [PROF] t=29223 uic=2334 uip=99653 uipn=5854 uil=10999 uiw=85308 uis=1139 uisn=0 adc=28745 adcm=3453 adcn=0 gl=0
[+29124ms] [PROF2] t=29223 defd=92186 defs=37170 netp=5002 netn=0 adcp=9 adcq=0 gl=0
@@ -0,0 +1,157 @@
[+0ms] [----/--/-- --:--:--][APP] boot: syslog init OK
[+10ms] [----/--/-- --:--:--][APP] fw build: Nov 7 2026 21:32:52 suite=NONE dstr=off
[+10ms] [----/--/-- --:--:--][APP] reset cause: software (NVIC_SystemReset) (CSR=0x14000000)
[+21ms] PREVRUN seg=2 seq=2101145323 t=196140
[+21ms] TICKRUN uw=196153 n=196153 duw=13
[+31ms] [----/--/-- --:--:--][RTC] sd2506_init: OK
[+31ms] [----/--/-- --:--:--][APP] SD2506 init: OK (ret=0)
[+42ms] [2026-11-07 21:33:15][CLK] sys_clock_init: RTC initial time 2026-11-07 21:33:15
[+52ms] [2026-11-07 21:33:15][CLK] sys_clock_init: wall clock base = unix 1794087195, base_tick=142
[+62ms] [2026-11-07 21:33:15][APP] RS485 init: OK (UART4, DE=PA15)
[+62ms] [2026-11-07 21:33:15][APP] ScreenLink init: OK (ret=0, USART1 700000 baud, BRR=0x0078)
[+83ms] [2026-11-07 21:33:15][NAND] Resetting NAND...
[+94ms] [2026-11-07 21:33:15][NAND] Reading NAND ID...
[+104ms] [2026-11-07 21:33:15][NAND] NAND ID: MID=0xC8, DID=0x52
[+104ms] [2026-11-07 21:33:15][NAND] Scanning bad blocks...
[+240ms] [2026-11-07 21:33:15][NAND] BBT scan: 0 bad blocks found
[+240ms] [2026-11-07 21:33:15][NAND] Enabling ECC...
[+250ms] [2026-11-07 21:33:15][NAND] Unlocking block protection...
[+250ms] [2026-11-07 21:33:15][NAND] Locating BBT pool...
[+261ms] [2026-11-07 21:33:15][NAND] Loading persisted BBT...
[+271ms] [2026-11-07 21:33:15][NAND] NAND init OK
[+271ms] [2026-11-07 21:33:15][APP] NAND init: OK
[+271ms] [2026-11-07 21:33:15][ADC] Init OK
[+271ms] [2026-11-07 21:33:15][APP] ADC init: OK
[+281ms] [2026-11-07 21:33:15][APP] ADC input layer init: OK
[+281ms] [2026-11-07 21:33:15][APP] phasor layer init: OK (inst=5)
[+292ms] [2026-11-07 21:33:15][APP] freq layer init: OK
[+292ms] [2026-11-07 21:33:15][CFG] register: section 'adc_cal' (9 keys)
[+302ms] [2026-11-07 21:33:15][CFG] register: section 'adc_cal_ofs' (8 keys)
[+302ms] [2026-11-07 21:33:15][APP] adc cal init: OK (k_q16 tpafe=10000000 stm32=52800000)
[+313ms] [2026-11-07 21:33:15][CFG] register: section 'run_par' (9 keys)
[+324ms] [2026-11-07 21:33:15][APP] run par init: OK (db9 k/b via adc_cal, evt=1<<8)
[+324ms] [2026-11-07 21:33:15][CFG] register: section 'comm' (2 keys)
[+334ms] [2026-11-07 21:33:15][APP] comm init: OK (ca=1 port=2404)
[+334ms] [2026-11-07 21:33:15][APP] protection init: OK (set=40 elm=9)
[+345ms] [2026-11-07 21:33:15][APP] SD2506 ID: 2512153425482405
[+355ms] [2026-11-07 21:33:15][APP] SD2506 time: 2026-11-07 21:33:16 (week 6)
[+355ms] [2026-11-07 21:33:15][APP] SD2506 temp: 23 C
[+365ms] [2026-11-07 21:33:15][APP] SD2506 battery: 3.12 V
[+365ms] [2026-11-07 21:33:15][APP] App init OK
[+376ms] [2026-11-07 21:33:15][NAND_FTL] Initializing NAND FTL...
[+397ms] [2026-11-07 21:33:15][PROT] uncalibrated -> protection blocked (UA/UN/IA VALID not all set)
[+480ms] [2026-11-07 21:33:15] [FS] FATFS mounted
[+542ms] [2026-11-07 21:33:15][SYSLOG] runlog boot entry: reboot
[+542ms] [2026-11-07 21:33:15][CFG] register: section 'network' (4 keys)
[+553ms] [2026-11-07 21:33:15][CFG] register: section 'ftp' (3 keys)
[+563ms] [2026-11-07 21:33:15][CFG] register: section 'sntp' (4 keys)
[+574ms] [2026-11-07 21:33:15][CFG] load: OK (1064B, heap free 16552B)
[+574ms] [2026-11-07 21:33:15][NET_CFG] load: OK ip=192.168.31.100
[+584ms] [2026-11-07 21:33:15] [CFG] prot set loaded (/prot_set.bin)
[+605ms] [2026-11-07 21:33:15][NAND_FTL] Map resumed: 46942/93232 sectors used
[+615ms] [2026-11-07 21:33:15][NAND_FTL] Map head=36288 tail=91795 epoch=8
[+615ms] [2026-11-07 21:33:15][NAND_FTL] NAND FTL ready (capacity: 93232 pages = 182 MB)
[+625ms] [2026-11-07 21:33:15][ADC_TASK] first: UA=-19 UB=414 UC=518 UN=-17 IA=-17 IB=0 IC=764 IN=898 T=718
[+636ms] [2026-11-07 21:33:15][ADC_TASK] phasor(first) C01-IA-F1: Re=0 Im=0 rms=0 (x0.1)
[+636ms] [2026-11-07 21:33:15][ADC_TASK] phasor(first) C02-UA-F1: Re=0 Im=0 rms=0 (x0.1)
[+646ms] [2026-11-07 21:33:15][ADC_TASK] phasor(first) C03-UN-F1: Re=0 Im=0 rms=0 (x0.1)
[+657ms] [2026-11-07 21:33:15][ADC_TASK] phasor(first) C04-IA-F2: Re=0 Im=0 rms=0 (x0.1)
[+667ms] [2026-11-07 21:33:15][ADC_TASK] phasor(first) C05-IA-F5: Re=0 Im=0 rms=0 (x0.1)
[+667ms] [2026-11-07 21:33:15][ADC_TASK] freq(first): f=0 valid=0 (x0.01)
[+677ms] [2026-11-07 21:33:15][NET_TASK] === Network Init ===
[+677ms] [2026-11-07 21:33:15][PROT] protect task start: cycle=20ms elm=9
[+688ms] [2026-11-07 21:33:15][NET] ch395f ver=0x4A fun_para=0x08
[+688ms] [2026-11-07 21:33:15][NET_TASK] net init: OK
[+688ms] [2026-11-07 21:33:15][NET_TASK] MAC: 3C:AB:72:53:2B:12
[+698ms] MISS start snap=0x000001E7 req=0x000001F7 t=799
[+698ms] [2026-11-07 21:33:15][WD] [WD] armed: timeout ~2498ms (worst ~1701ms), miss_tol=800ms
[+709ms] [2026-11-07 21:33:15][NET_TASK] IP_INF: IP=192.168.31.100 GW=192.168.31.1 MASK=255.255.255.0
[+761ms] [2026-11-07 21:33:15][UI_TASK] UI task: started, wait net ready
[+2654ms] [2026-11-07 21:33:17][NET_TASK] PHY: 100M FULL
[+2675ms] [2026-11-07 21:33:17][NET_TASK] netTask: started (single-socket mode)
[+2706ms] [2026-11-07 21:33:17][ERR][I104] i104: bind port 2404 FAIL, retry in loop
[+2738ms] [2026-11-07 21:33:17] [FTP] using factory default password
[+2738ms] MISS start snap=0x000001E7 req=0x000001F7 t=2845
[+2748ms] [PROF] t=2849 uic=0 uip=0 uipn=0 uil=0 uiw=0 uis=0 uisn=0 adc=2376 adcm=2000 adcn=0 gl=0
[+2758ms] [PROF2] t=2849 defd=92190 defs=37462 netp=1004 netn=393 adcp=8 adcq=0 gl=0
[+2758ms] [2026-11-07 21:33:17] [FTP] waiting for connection...
[+2769ms] [2026-11-07 21:33:17][UI_TASK] UI task: net ready, init port
[+2779ms] [2026-11-07 21:33:17][UI_TASK] UI task: ui_port_init enter
[+2779ms] [2026-11-07 21:33:17][UI_PORT] theme: mono dark_bg=true applied
[+2790ms] [2026-11-07 21:33:17][UI_TASK] UI port init: OK
[+2790ms] [2026-11-07 21:33:17][UI_TASK] UI task: ui_menu_init enter
[+2801ms] [2026-11-07 21:33:17][UI_MENU] menu build start: total=15136 free=12692 big=12692
[+2811ms] [2026-11-07 21:33:17][UI_MENU_VIEW] view init: root frame w=66 h=107
[+2821ms] [2026-11-07 21:33:17][UI_MENU] menu build done: total=15020 free=11828 big=11816 used=3192
[+2821ms] [2026-11-07 21:33:17][UI_TASK] UI menu init: OK
[+2832ms] [2026-11-07 21:33:17][UI_STANDBY] standby: ready (idle=60000ms)
[+2832ms] [2026-11-07 21:33:17][UI_TASK] UI standby: ready (idle=60s)
[+2884ms] [2026-11-07 21:33:17][UI_TASK] UI net sink: started (port 7003)
[+2905ms] [2026-11-07 21:33:17][SBLINK] first frame: size=6 cmd=1 key=0
[+4909ms] [PROF] t=5010 uic=181 uip=29627 uipn=5850 uil=11004 uiw=19639 uis=1138 uisn=0 adc=4536 adcm=2000 adcn=0 gl=0
[+4920ms] [PROF2] t=5010 defd=92190 defs=37462 netp=1983 netn=0 adcp=8 adcq=0 gl=0
[+5375ms] [2026-11-07 21:33:20] [STACK] default peak_used=2176/5120 free_min=2944 (57%)
[+5385ms] [2026-11-07 21:33:20] [STACK] net peak_used=1116/3840 free_min=2724 (70%)
[+5385ms] [2026-11-07 21:33:20] [STACK] ftp peak_used=740/4096 free_min=3356 (81%)
[+5396ms] [2026-11-07 21:33:20] [STACK] ui peak_used=4204/16384 free_min=12180 (74%)
[+5406ms] [2026-11-07 21:33:20] [STACK] timesync peak_used=476/2560 free_min=2084 (81%)
[+5416ms] [2026-11-07 21:33:20] [STACK] adc peak_used=1024/2560 free_min=1536 (60%)
[+5416ms] [2026-11-07 21:33:20] [STACK] iec104 peak_used=540/2560 free_min=2020 (78%)
[+5427ms] [2026-11-07 21:33:20] [STACK] protect peak_used=492/2048 free_min=1556 (75%)
[+5438ms] [2026-11-07 21:33:20] [STACK] heap free=15624 min_ever=8464
[+5438ms] [2026-11-07 21:33:20][SBLINK] rx=19 ok=19 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+5448ms] [2026-11-07 21:33:20][SBLINK] tx=9 done=9 drop=10 kerr=0 abor=0 fb=6 bad=0 us=676 max=676 kq=0 off=0 dfok=0 dfold=0
[+6915ms] [PROF] t=7011 uic=354 uip=72696 uipn=6850 uil=11004 uiw=21657 uis=1138 uisn=0 adc=6537 adcm=2000 adcn=0 gl=0
[+6915ms] [PROF2] t=7011 defd=92190 defs=37462 netp=1984 netn=0 adcp=8 adcq=0 gl=0
[+8931ms] [PROF] t=9028 uic=536 uip=72696 uipn=6855 uil=10997 uiw=21657 uis=1139 uisn=0 adc=8554 adcm=2000 adcn=0 gl=0
[+8941ms] [PROF2] t=9028 defd=92190 defs=37462 netp=1984 netn=0 adcp=8 adcq=0 gl=0
[+10372ms] [2026-11-07 21:33:25][ADC_TASK] frames=10000 idle=0 skip=1 seq=10006 frst_err=0 ring=9999 adc1_rc=0 adc1_err=0 adc1_seq=10005 adc1_gap=5 adc1_hw=0 tgap=1
[+10392ms] [2026-11-07 21:33:25][ADC_TASK] phasor(hb) C01-IA-F1: Re=0 Im=0 rms=0 (x0.1)
[+10392ms] [2026-11-07 21:33:25][ADC_TASK] phasor(hb) C02-UA-F1: Re=0 Im=0 rms=0 (x0.1)
[+10403ms] [2026-11-07 21:33:25][ADC_TASK] phasor(hb) C03-UN-F1: Re=0 Im=0 rms=0 (x0.1)
[+10413ms] [2026-11-07 21:33:25][ADC_TASK] phasor(hb) C04-IA-F2: Re=0 Im=0 rms=0 (x0.1)
[+10413ms] [2026-11-07 21:33:25][ADC_TASK] phasor(hb) C05-IA-F5: Re=0 Im=0 rms=0 (x0.1)
[+10424ms] [2026-11-07 21:33:25][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[+10434ms] [2026-11-07 21:33:25][ADC_TASK] adc: UA=-21 UB=404 UC=618 UN=-21 IA=-22 IB=0 IC=757 IN=890 T=732
[+10434ms] [2026-11-07 21:33:25][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[+10445ms] [2026-11-07 21:33:25][ADC_TASK] meas: seq=50 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[+10455ms] [2026-11-07 21:33:25][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[+10465ms] [2026-11-07 21:33:25][SBLINK] rx=37 ok=37 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+10476ms] [2026-11-07 21:33:25][SBLINK] tx=27 done=27 drop=10 kerr=0 abor=0 fb=16 bad=0 us=674 max=676 kq=0 off=0 dfok=0 dfold=0
[+10931ms] [PROF] t=11033 uic=707 uip=94476 uipn=9855 uil=10982 uiw=22171 uis=1139 uisn=0 adc=10557 adcm=3434 adcn=0 gl=0
[+10941ms] [PROF2] t=11033 defd=92190 defs=37462 netp=4024 netn=0 adcp=8 adcq=0 gl=0
[+12949ms] [PROF] t=13051 uic=889 uip=94476 uipn=5854 uil=10999 uiw=22171 uis=1155 uisn=0 adc=12575 adcm=3434 adcn=0 gl=0
[+12959ms] [PROF2] t=13051 defd=92190 defs=37462 netp=4024 netn=0 adcp=8 adcq=0 gl=0
[+14973ms] [PROF] t=15069 uic=1071 uip=94476 uipn=5855 uil=10981 uiw=22171 uis=1155 uisn=0 adc=14593 adcm=3434 adcn=0 gl=0
[+14983ms] [PROF2] t=15069 defd=92190 defs=37462 netp=4024 netn=0 adcp=8 adcq=0 gl=0
[+15472ms] [2026-11-07 21:33:30][SBLINK] rx=55 ok=55 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+15482ms] [2026-11-07 21:33:30][SBLINK] tx=45 done=45 drop=10 kerr=0 abor=0 fb=26 bad=0 us=513 max=676 kq=0 off=0 dfok=0 dfold=0
[+16994ms] [PROF] t=17092 uic=1252 uip=94476 uipn=1862 uil=11000 uiw=22171 uis=1155 uisn=0 adc=16616 adcm=3434 adcn=0 gl=0
[+17005ms] [PROF2] t=17092 defd=92190 defs=37462 netp=4024 netn=0 adcp=8 adcq=0 gl=0
[+19016ms] [PROF] t=19110 uic=1434 uip=94476 uipn=5851 uil=10919 uiw=22171 uis=1155 uisn=0 adc=18634 adcm=3434 adcn=0 gl=0
[+19016ms] [PROF2] t=19110 defd=92190 defs=37462 netp=4024 netn=0 adcp=8 adcq=0 gl=0
[+20371ms] [2026-11-07 21:33:35][ADC_TASK] frames=19998 idle=0 skip=2 seq=20006 frst_err=0 ring=19996 adc1_rc=0 adc1_err=0 adc1_seq=20005 adc1_gap=8 adc1_hw=0 tgap=3
[+20392ms] [2026-11-07 21:33:35][ADC_TASK] phasor(hb) C01-IA-F1: Re=0 Im=0 rms=0 (x0.1)
[+20392ms] [2026-11-07 21:33:35][ADC_TASK] phasor(hb) C02-UA-F1: Re=0 Im=0 rms=0 (x0.1)
[+20403ms] [2026-11-07 21:33:35][ADC_TASK] phasor(hb) C03-UN-F1: Re=0 Im=0 rms=0 (x0.1)
[+20413ms] [2026-11-07 21:33:35][ADC_TASK] phasor(hb) C04-IA-F2: Re=0 Im=0 rms=0 (x0.1)
[+20413ms] [2026-11-07 21:33:35][ADC_TASK] phasor(hb) C05-IA-F5: Re=0 Im=0 rms=0 (x0.1)
[+20424ms] [2026-11-07 21:33:35][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[+20435ms] [2026-11-07 21:33:35][ADC_TASK] adc: UA=-22 UB=403 UC=619 UN=-22 IA=-22 IB=0 IC=761 IN=894 T=752
[+20435ms] [2026-11-07 21:33:35][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[+20445ms] [2026-11-07 21:33:35][ADC_TASK] meas: seq=100 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[+20455ms] [2026-11-07 21:33:35][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[+20476ms] [2026-11-07 21:33:35][SBLINK] rx=73 ok=73 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+20487ms] [2026-11-07 21:33:35][SBLINK] tx=63 done=63 drop=10 kerr=0 abor=0 fb=36 bad=0 us=676 max=676 kq=0 off=0 dfok=0 dfold=0
[+21046ms] [PROF] t=21144 uic=1608 uip=94476 uipn=10854 uil=11000 uiw=22171 uis=1155 uisn=0 adc=20666 adcm=3457 adcn=0 gl=0
[+21056ms] [PROF2] t=21144 defd=92190 defs=37462 netp=4984 netn=0 adcp=8 adcq=0 gl=0
[+23067ms] [PROF] t=23162 uic=1790 uip=94476 uipn=5854 uil=11000 uiw=22171 uis=1155 uisn=0 adc=22684 adcm=3457 adcn=0 gl=0
[+23067ms] [PROF2] t=23162 defd=92190 defs=37462 netp=4984 netn=0 adcp=8 adcq=0 gl=0
[+25081ms] [PROF] t=25180 uic=1972 uip=94476 uipn=5853 uil=11000 uiw=22171 uis=1155 uisn=0 adc=24702 adcm=3457 adcn=0 gl=0
[+25091ms] [PROF2] t=25180 defd=92190 defs=37462 netp=4984 netn=0 adcp=8 adcq=0 gl=0
[+25485ms] [2026-11-07 21:33:40][SBLINK] rx=91 ok=91 keys=0 crc=0 len=0 fmt=0 err=1 bits=0x08 rearm=0 size=6 key=0
[+25495ms] [2026-11-07 21:33:40][SBLINK] tx=81 done=81 drop=10 kerr=0 abor=0 fb=46 bad=0 us=513 max=676 kq=0 off=0 dfok=0 dfold=0
[+27110ms] [PROF] t=27205 uic=2153 uip=94476 uipn=3777 uil=11082 uiw=22171 uis=1155 uisn=0 adc=26727 adcm=3457 adcn=0 gl=0
[+27110ms] [PROF2] t=27205 defd=92190 defs=37462 netp=4984 netn=0 adcp=8 adcq=0 gl=0
[+29128ms] [PROF] t=29223 uic=2335 uip=94476 uipn=5854 uil=10999 uiw=22171 uis=1155 uisn=0 adc=28745 adcm=3457 adcn=0 gl=0
[+29128ms] [PROF2] t=29223 defd=92190 defs=37462 netp=4984 netn=0 adcp=8 adcq=0 gl=0
@@ -0,0 +1,28 @@
== build_log_verify.txt ==
Program Size line: Program Size: Code=255292 RO-data=30992 RW-data=2080 ZI-data=150104
linking...
Program Size: Code=255292 RO-data=30992 RW-data=2080 ZI-data=150104
FromELF: creating hex file...
".\STM32F407-Demo\STM32F407-Demo.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:16
== build_log_fix.txt ==
Program Size line: Program Size: Code=255284 RO-data=30992 RW-data=2080 ZI-data=150104
linking...
Program Size: Code=255284 RO-data=30992 RW-data=2080 ZI-data=150104
FromELF: creating hex file...
".\STM32F407-Demo\STM32F407-Demo.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:16
== build_log_final.txt ==
Program Size line: Program Size: Code=254820 RO-data=30896 RW-data=2072 ZI-data=150104
linking...
Program Size: Code=254820 RO-data=30896 RW-data=2072 ZI-data=150104
FromELF: creating hex file...
".\STM32F407-Demo\STM32F407-Demo.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:15
== build_log_final2.txt ==
Program Size line: Program Size: Code=254820 RO-data=30896 RW-data=2072 ZI-data=150104
linking...
Program Size: Code=254820 RO-data=30896 RW-data=2072 ZI-data=150104
FromELF: creating hex file...
".\STM32F407-Demo\STM32F407-Demo.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:15
@@ -0,0 +1,123 @@
{
"mode": "phase1",
"t_start": "2026-11-07T21:22:16.703+08:00",
"before": {
"ts": "2026-11-07T21:22:16.789+08:00",
"list": "226 Closing data connection.",
"root": "226 Closing data connection."
},
"probes_mid_occupation": {
"ui": {
"ok": true,
"status": {
"ver": 1,
"kind": "MENU",
"depth": 0,
"path": [
0
],
"sel": [
0
],
"page": null
},
"ts": "2026-11-07T21:22:41.356+08:00"
},
"i104": {
"ok": true,
"resp_hex": "68040b000000",
"ts": "2026-11-07T21:22:42.486+08:00"
}
},
"rounds": [
{
"start": "2026-11-07T21:22:17.852+08:00",
"start_epoch": 1794057737.8524384,
"end": "2026-11-07T21:22:25.113+08:00",
"dur_ms": 7261,
"gap_after_s": 0.15
},
{
"start": "2026-11-07T21:22:25.862+08:00",
"start_epoch": 1794057745.8617094,
"end": "2026-11-07T21:22:33.129+08:00",
"dur_ms": 7268,
"gap_after_s": 0.15
},
{
"start": "2026-11-07T21:22:33.870+08:00",
"start_epoch": 1794057753.8708818,
"end": "2026-11-07T21:22:41.116+08:00",
"dur_ms": 7246,
"gap_after_s": 0.15
},
{
"start": "2026-11-07T21:22:42.566+08:00",
"start_epoch": 1794057762.566658,
"end": "2026-11-07T21:22:49.991+08:00",
"dur_ms": 7425,
"gap_after_s": 0.15
},
{
"start": "2026-11-07T21:22:50.735+08:00",
"start_epoch": 1794057770.735756,
"end": "2026-11-07T21:22:57.922+08:00",
"dur_ms": 7187,
"gap_after_s": 0.15
},
{
"start": "2026-11-07T21:22:58.661+08:00",
"start_epoch": 1794057778.6610878,
"end": "2026-11-07T21:23:05.916+08:00",
"dur_ms": 7255,
"gap_after_s": 0.15
},
{
"start": "2026-11-07T21:23:06.653+08:00",
"start_epoch": 1794057786.653875,
"end": "2026-11-07T21:23:13.797+08:00",
"dur_ms": 7144,
"gap_after_s": 0.15
},
{
"start": "2026-11-07T21:23:14.538+08:00",
"start_epoch": 1794057794.5386658,
"end": "2026-11-07T21:23:21.772+08:00",
"dur_ms": 7234,
"gap_after_s": 0.15
},
{
"start": "2026-11-07T21:23:22.512+08:00",
"start_epoch": 1794057802.5123067,
"end": "2026-11-07T21:23:29.767+08:00",
"dur_ms": 7255,
"gap_after_s": 0.15
}
],
"occupation_total_s": 72.61,
"after": {
"ts": "2026-11-07T21:23:55.964+08:00",
"list": "226 Closing data connection.",
"root": "226 Closing data connection."
},
"events": {
"err_line_count": 0,
"err_lines": [],
"other_err": [],
"autocap_on": [],
"hb_first": "[RX] 2026-11-07T21:22:25.266+08:00 [2026-11-07 21:22:24][ADC_TASK] wave: seg=13 armed=0 src=T pts=320 err=1 ovf=1 drop=38616",
"hb_last": "[RX] 2026-11-07T21:23:55.263+08:00 [2026-11-07 21:23:54][ADC_TASK] wave: seg=27 armed=0 src=T pts=320 err=15 ovf=18 drop=293616",
"hb_all": [
"[RX] 2026-11-07T21:22:25.266+08:00 [2026-11-07 21:22:24][ADC_TASK] wave: seg=13 armed=0 src=T pts=320 err=1 ovf=1 drop=38616",
"[RX] 2026-11-07T21:22:35.275+08:00 [2026-11-07 21:22:34][ADC_TASK] wave: seg=14 armed=0 src=T pts=320 err=2 ovf=4 drop=65472",
"[RX] 2026-11-07T21:22:45.268+08:00 [2026-11-07 21:22:44][ADC_TASK] wave: seg=15 armed=1 src=T pts=320 err=3 ovf=6 drop=105368",
"[RX] 2026-11-07T21:22:55.271+08:00 [2026-11-07 21:22:54][ADC_TASK] wave: seg=15 armed=0 src=T pts=320 err=6 ovf=9 drop=141040",
"[RX] 2026-11-07T21:23:05.272+08:00 [2026-11-07 21:23:04][ADC_TASK] wave: seg=15 armed=1 src=T pts=320 err=8 ovf=11 drop=185368",
"[RX] 2026-11-07T21:23:15.273+08:00 [2026-11-07 21:23:14][ADC_TASK] wave: seg=15 armed=0 src=T pts=320 err=11 ovf=14 drop=221040",
"[RX] 2026-11-07T21:23:25.276+08:00 [2026-11-07 21:23:24][ADC_TASK] wave: seg=15 armed=1 src=T pts=320 err=13 ovf=16 drop=265368",
"[RX] 2026-11-07T21:23:35.270+08:00 [2026-11-07 21:23:34][ADC_TASK] wave: seg=17 armed=0 src=T pts=320 err=15 ovf=18 drop=286464",
"[RX] 2026-11-07T21:23:45.268+08:00 [2026-11-07 21:23:44][ADC_TASK] wave: seg=22 armed=0 src=T pts=320 err=15 ovf=18 drop=290040",
"[RX] 2026-11-07T21:23:55.263+08:00 [2026-11-07 21:23:54][ADC_TASK] wave: seg=27 armed=0 src=T pts=320 err=15 ovf=18 drop=293616"
]
}
}
@@ -0,0 +1,40 @@
# exec-issue-84 产品构建最终窗口(daemon 持久日志 gen=3,21:33:07 起,噪声行过滤):
# 含 boot-test #2 捕获(bind FAIL L72 行)、net 层 reconcile/relisten、104 探针窗口。
[RX] 2026-11-07T21:33:16.263+08:00 [----/--/-- --:--:--][APP] reset cause: software (NVIC_SystemReset) (CSR=0x14000000)
[RX] 2026-11-07T21:33:16.618+08:00 [2026-11-07 21:33:15][APP] App init OK
[RX] 2026-11-07T21:33:16.941+08:00 [2026-11-07 21:33:15][NET_TASK] net init: OK
[RX] 2026-11-07T21:33:18.959+08:00 [2026-11-07 21:33:17][ERR][I104] i104: bind port 2404 FAIL, retry in loop
[RX] 2026-11-07T21:33:26.708+08:00 [2026-11-07 21:33:25][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:33:36.708+08:00 [2026-11-07 21:33:35][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:33:48.639+08:00 [----/--/-- --:--:--][APP] reset cause: software (NVIC_SystemReset) (CSR=0x14000000)
[RX] 2026-11-07T21:33:48.994+08:00 [2026-11-07 21:33:48][APP] App init OK
[RX] 2026-11-07T21:33:49.348+08:00 [2026-11-07 21:33:48][NET_TASK] net init: OK
[RX] 2026-11-07T21:33:50.303+08:00 [2026-11-07 21:33:49][I104] i104: listening on 2404
[RX] 2026-11-07T21:33:59.074+08:00 [2026-11-07 21:33:58][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:34:09.076+08:00 [2026-11-07 21:34:08][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:34:19.076+08:00 [2026-11-07 21:34:18][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:34:29.077+08:00 [2026-11-07 21:34:28][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:34:39.073+08:00 [2026-11-07 21:34:38][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:34:49.074+08:00 [2026-11-07 21:34:48][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:34:59.080+08:00 [2026-11-07 21:34:58][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:35:09.079+08:00 [2026-11-07 21:35:08][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:35:19.079+08:00 [2026-11-07 21:35:18][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:35:29.078+08:00 [2026-11-07 21:35:28][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:35:39.075+08:00 [2026-11-07 21:35:38][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:35:49.075+08:00 [2026-11-07 21:35:48][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:35:59.079+08:00 [2026-11-07 21:35:58][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:36:09.071+08:00 [2026-11-07 21:36:08][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:36:19.072+08:00 [2026-11-07 21:36:18][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:36:29.075+08:00 [2026-11-07 21:36:28][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:36:39.098+08:00 [2026-11-07 21:36:38][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:36:49.080+08:00 [2026-11-07 21:36:48][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:36:59.078+08:00 [2026-11-07 21:36:58][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:37:08.597+08:00 [2026-11-07 21:37:07][I104] i104: accepted fd=0
[RX] 2026-11-07T21:37:09.078+08:00 [2026-11-07 21:37:08][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:37:09.719+08:00 [2026-11-07 21:37:09] sock0 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:37:09.729+08:00 [2026-11-07 21:37:09][NET] sock0 reconcile: chip not listening (0x00/0xFF, was state=0) -> relisten
[RX] 2026-11-07T21:37:09.885+08:00 [2026-11-07 21:37:09] sock0 auto-relisten ok (eof)
[RX] 2026-11-07T21:37:19.074+08:00 [2026-11-07 21:37:18][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:37:29.070+08:00 [2026-11-07 21:37:28][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:37:39.078+08:00 [2026-11-07 21:37:38][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
[RX] 2026-11-07T21:37:49.078+08:00 [2026-11-07 21:37:48][ADC_TASK] wave: seg=0 armed=0 src=- pts=320 err=0 ovf=0 drop=0
@@ -0,0 +1,30 @@
# exec-issue-84 sweep5 窗口取证摘录(F1 复位异常 + F3 pack_next 留痕 + 静默自弃心跳链)
#
# 【来源声明】本文件非原始 serial.log 切片:会话用 daemon 持久日志于 21:33:07 被
# run_boot_test 的 open+clear 步骤清空(log cleared (gen=3)),20:27–20:36 窗口的
# 原始行未能赶在清空前整段归档。以下行为当时(20:28–20:30)从 live 日志逐字抓取
# 进会话记录的关键行,按时间序复原;行内 [RX] 主机时戳与板载时戳均为原始值,
# 个别噪声行(xx 占位)为复原时精度缺失标注,事实与时间戳未经改写。
## F1:单次未复现的板载软件复位(20:28:57,无任何打印前导)
# 复位前最后一条业务线(正常抓段 WARN):
[RX] 2026-11-07T20:28:56.5xx+08:00 [2026-11-07 20:28:56] [WAVE][WARN] seg held 59 ms (idx=37)
# 约 1.1 s 后,无 [ERR]、无 ASSERT/ERROR/堆栈溢出打印,直接出现冷启动横幅:
[RX] 2026-11-07T20:28:57.xx+08:00 reset cause: software (NVIC_SystemReset) (CSR=0x14000000)
# 复位时刻无 RETR 在飞(上一条 DOWNLOAD 落账 20:28:09,下一条 20:29:31 起)。
# 全仓四个 NVIC_SystemReset 调用点(Error_Handler / 栈溢出钩子 / ASSERT / 故障处理器)
# 均先打印后复位,本次一条都没落进日志——调用点未定。此后 6+ 个 autocap 窗、
# 含 72.6 s 连续占卷在内未再复现,按单次未复现异常记录,不下结论(设计说明 §10 F1)。
## F3:落盘中途弃段留痕 pack_next(20:30:31,与 ring abandoned 同族、不同分支)
# 该刻处于 7.1 s FILLER 占卷的锁已交还、writer 抓段慢尾期:
[RX] 2026-11-07T20:30:3x+08:00 [2026-11-07 20:30:31][ERR] [WAVE] seg drop: pack_next (idx=28 written=1920)
# written=1920 B 为半程停笔(满段 5250 B):落盘途中复检判死→删文件→同号不推进,
# 与 §5.2 第四条同族竞态的「落盘中途」分支,板级首见(设计说明 §10 F3)。
## 静默自弃类伴行证据(同类留痕唯一性对照)
# 20:2x 窗口内 err 计数 0→1→2 两次跳变,各自对应一次被占卷覆盖封存的静默自弃:
[RX] 2026-11-07T20:28:4x+08:00 wave: seg=… src=T err=1
[RX] 2026-11-07T20:29:4x+08:00 wave: seg=… src=T err=2
# 全程无 [ERR][WAVE] 伴随(除 20:30:31 的 pack_next)——「err+1 静默、留痕只此一条」
# 的静默侧实证,与 21:15:35 sweep7 命中(留痕侧)互补,两形态齐。
@@ -0,0 +1,469 @@
[RX] 2026-11-07T21:13:00.716+08:00 [2026-11-07 21:12:59] [WAVE][WARN] seg held 60 ms (idx=97)
[RX] 2026-11-07T21:13:02.715+08:00 [2026-11-07 21:13:01] [WAVE][WARN] seg held 62 ms (idx=98)
[RX] 2026-11-07T21:13:04.708+08:00 [2026-11-07 21:13:03] [WAVE][WARN] seg held 61 ms (idx=99)
[RX] 2026-11-07T21:13:06.211+08:00 [2026-11-07 21:13:05][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:13:06.211+08:00 [2026-11-07 21:13:05][ADC_TASK] adc: UA=-21 UB=404 UC=609 UN=-20 IA=-20 IB=0 IC=764 IN=899 T=752
[RX] 2026-11-07T21:13:06.221+08:00 [2026-11-07 21:13:05][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:13:06.231+08:00 [2026-11-07 21:13:05][ADC_TASK] meas: seq=1100 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:13:06.242+08:00 [2026-11-07 21:13:05][ADC_TASK] wave: seg=99 armed=0 src=T pts=320 err=1 ovf=10 drop=240680
[RX] 2026-11-07T21:13:06.707+08:00 [2026-11-07 21:13:05] [WAVE][WARN] seg held 59 ms (idx=0)
[RX] 2026-11-07T21:13:08.701+08:00 [2026-11-07 21:13:07] [WAVE][WARN] seg held 64 ms (idx=1)
[RX] 2026-11-07T21:13:10.694+08:00 [2026-11-07 21:13:09] [WAVE][WARN] seg held 67 ms (idx=2)
[RX] 2026-11-07T21:13:12.682+08:00 [2026-11-07 21:13:11] [WAVE][WARN] seg held 62 ms (idx=3)
[RX] 2026-11-07T21:13:14.723+08:00 [2026-11-07 21:13:13] [WAVE][WARN] seg held 63 ms (idx=4)
[RX] 2026-11-07T21:13:16.212+08:00 [2026-11-07 21:13:15][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:13:16.212+08:00 [2026-11-07 21:13:15][ADC_TASK] adc: UA=-21 UB=404 UC=608 UN=-20 IA=-21 IB=0 IC=763 IN=900 T=750
[RX] 2026-11-07T21:13:16.222+08:00 [2026-11-07 21:13:15][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:13:16.233+08:00 [2026-11-07 21:13:15][ADC_TASK] meas: seq=1150 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:13:16.233+08:00 [2026-11-07 21:13:15][ADC_TASK] wave: seg=104 armed=0 src=T pts=320 err=1 ovf=10 drop=244008
[RX] 2026-11-07T21:13:16.709+08:00 [2026-11-07 21:13:15] [WAVE][WARN] seg held 65 ms (idx=5)
[RX] 2026-11-07T21:13:18.721+08:00 [2026-11-07 21:13:17] [WAVE][WARN] seg held 63 ms (idx=6)
[RX] 2026-11-07T21:13:20.698+08:00 [2026-11-07 21:13:19] [WAVE][WARN] seg held 60 ms (idx=7)
[RX] 2026-11-07T21:13:22.702+08:00 [2026-11-07 21:13:21] [WAVE][WARN] seg held 63 ms (idx=8)
[RX] 2026-11-07T21:13:24.687+08:00 [2026-11-07 21:13:23] [WAVE][WARN] seg held 60 ms (idx=9)
[RX] 2026-11-07T21:13:26.204+08:00 [2026-11-07 21:13:25][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:13:26.215+08:00 [2026-11-07 21:13:25][ADC_TASK] adc: UA=-20 UB=405 UC=610 UN=-21 IA=-20 IB=0 IC=763 IN=898 T=751
[RX] 2026-11-07T21:13:26.225+08:00 [2026-11-07 21:13:25][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:13:26.225+08:00 [2026-11-07 21:13:25][ADC_TASK] meas: seq=1200 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:13:26.235+08:00 [2026-11-07 21:13:25][ADC_TASK] wave: seg=109 armed=0 src=T pts=320 err=1 ovf=10 drop=247464
[RX] 2026-11-07T21:13:26.711+08:00 [2026-11-07 21:13:25] [WAVE][WARN] seg held 65 ms (idx=10)
[RX] 2026-11-07T21:13:28.724+08:00 [2026-11-07 21:13:27] [WAVE][WARN] seg held 59 ms (idx=11)
[RX] 2026-11-07T21:13:30.711+08:00 [2026-11-07 21:13:29] [WAVE][WARN] seg held 60 ms (idx=12)
[RX] 2026-11-07T21:13:32.683+08:00 [2026-11-07 21:13:31] [WAVE][WARN] seg held 61 ms (idx=13)
[RX] 2026-11-07T21:13:34.723+08:00 [2026-11-07 21:13:33] [WAVE][WARN] seg held 63 ms (idx=14)
[RX] 2026-11-07T21:13:36.205+08:00 [2026-11-07 21:13:35][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:13:36.215+08:00 [2026-11-07 21:13:35][ADC_TASK] adc: UA=-21 UB=403 UC=609 UN=-20 IA=-20 IB=0 IC=763 IN=897 T=750
[RX] 2026-11-07T21:13:36.215+08:00 [2026-11-07 21:13:35][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:13:36.226+08:00 [2026-11-07 21:13:35][ADC_TASK] meas: seq=1250 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:13:36.236+08:00 [2026-11-07 21:13:35][ADC_TASK] wave: seg=114 armed=0 src=T pts=320 err=1 ovf=10 drop=251080
[RX] 2026-11-07T21:13:36.724+08:00 [2026-11-07 21:13:35] [WAVE][WARN] seg held 60 ms (idx=15)
[RX] 2026-11-07T21:13:38.682+08:00 [2026-11-07 21:13:37] [WAVE][WARN] seg held 62 ms (idx=16)
[RX] 2026-11-07T21:13:40.719+08:00 [2026-11-07 21:13:39] [WAVE][WARN] seg held 60 ms (idx=17)
[RX] 2026-11-07T21:13:42.704+08:00 [2026-11-07 21:13:41] [WAVE][WARN] seg held 64 ms (idx=18)
[RX] 2026-11-07T21:13:44.320+08:00 [2026-11-07 21:13:43][SNTP] off=547ms within deadband, no step
[RX] 2026-11-07T21:13:44.548+08:00 [2026-11-07 21:13:43] [STACK] default peak_used=2188/5120 free_min=2932 (57%)
[RX] 2026-11-07T21:13:44.559+08:00 [2026-11-07 21:13:43] [STACK] net peak_used=1188/3840 free_min=2652 (69%)
[RX] 2026-11-07T21:13:44.559+08:00 [2026-11-07 21:13:43] [STACK] ftp peak_used=2300/4096 free_min=1796 (43%)
[RX] 2026-11-07T21:13:44.569+08:00 [2026-11-07 21:13:43] [STACK] ui peak_used=4204/16384 free_min=12180 (74%)
[RX] 2026-11-07T21:13:44.580+08:00 [2026-11-07 21:13:43] [STACK] timesync peak_used=952/2560 free_min=1608 (62%)
[RX] 2026-11-07T21:13:44.590+08:00 [2026-11-07 21:13:43] [STACK] adc peak_used=1000/2560 free_min=1560 (60%)
[RX] 2026-11-07T21:13:44.590+08:00 [2026-11-07 21:13:43] [STACK] iec104 peak_used=544/2560 free_min=2016 (78%)
[RX] 2026-11-07T21:13:44.600+08:00 [2026-11-07 21:13:43] [STACK] protect peak_used=828/2048 free_min=1220 (59%)
[RX] 2026-11-07T21:13:44.600+08:00 [2026-11-07 21:13:43] [STACK] heap free=15624 min_ever=8464
[RX] 2026-11-07T21:13:44.725+08:00 [2026-11-07 21:13:43] [WAVE][WARN] seg held 59 ms (idx=19)
[RX] 2026-11-07T21:13:46.207+08:00 [2026-11-07 21:13:45][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:13:46.207+08:00 [2026-11-07 21:13:45][ADC_TASK] adc: UA=-21 UB=404 UC=609 UN=-20 IA=-20 IB=0 IC=763 IN=898 T=751
[RX] 2026-11-07T21:13:46.217+08:00 [2026-11-07 21:13:45][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:13:46.228+08:00 [2026-11-07 21:13:45][ADC_TASK] meas: seq=1300 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:13:46.238+08:00 [2026-11-07 21:13:45][ADC_TASK] wave: seg=119 armed=0 src=T pts=320 err=1 ovf=10 drop=254800
[RX] 2026-11-07T21:13:46.724+08:00 [2026-11-07 21:13:45] [WAVE][WARN] seg held 60 ms (idx=20)
[RX] 2026-11-07T21:13:48.706+08:00 [2026-11-07 21:13:47] [WAVE][WARN] seg held 61 ms (idx=21)
[RX] 2026-11-07T21:13:50.698+08:00 [2026-11-07 21:13:49] [WAVE][WARN] seg held 62 ms (idx=22)
[RX] 2026-11-07T21:13:52.638+08:00 [----/--/-- --:--:--][APP] boot: syslog init OK
[RX] 2026-11-07T21:13:52.638+08:00 [----/--/-- --:--:--][APP] fw build: Nov 7 2026 19:15:10 suite=NONE dstr=off
[RX] 2026-11-07T21:13:52.649+08:00 [----/--/-- --:--:--][APP] reset cause: software (NVIC_SystemReset) (CSR=0x14000000)
[RX] 2026-11-07T21:13:52.649+08:00 PREVRUN seg=2 seq=2100979038 t=266652
[RX] 2026-11-07T21:13:52.659+08:00 TICKRUN uw=266674 n=266674 duw=22
[RX] 2026-11-07T21:13:52.659+08:00 [----/--/-- --:--:--][RTC] sd2506_init: OK
[RX] 2026-11-07T21:13:52.669+08:00 [----/--/-- --:--:--][APP] SD2506 init: OK (ret=0)
[RX] 2026-11-07T21:13:52.680+08:00 [2026-11-07 21:13:52][CLK] sys_clock_init: RTC initial time 2026-11-07 21:13:52
[RX] 2026-11-07T21:13:52.680+08:00 [2026-11-07 21:13:52][CLK] sys_clock_init: wall clock base = unix 1794086032, base_tick=142
[RX] 2026-11-07T21:13:52.690+08:00 [2026-11-07 21:13:52][APP] RS485 init: OK (UART4, DE=PA15)
[RX] 2026-11-07T21:13:52.701+08:00 [2026-11-07 21:13:52][APP] ScreenLink init: OK (ret=0, USART1 700000 baud, BRR=0x0078)
[RX] 2026-11-07T21:13:52.711+08:00 [2026-11-07 21:13:52][NAND] Resetting NAND...
[RX] 2026-11-07T21:13:52.732+08:00 [2026-11-07 21:13:52][NAND] Reading NAND ID...
[RX] 2026-11-07T21:13:52.732+08:00 [2026-11-07 21:13:52][NAND] NAND ID: MID=0xC8, DID=0x52
[RX] 2026-11-07T21:13:52.743+08:00 [2026-11-07 21:13:52][NAND] Scanning bad blocks...
[RX] 2026-11-07T21:13:52.878+08:00 [2026-11-07 21:13:52][NAND] BBT scan: 0 bad blocks found
[RX] 2026-11-07T21:13:52.878+08:00 [2026-11-07 21:13:52][NAND] Enabling ECC...
[RX] 2026-11-07T21:13:52.878+08:00 [2026-11-07 21:13:52][NAND] Unlocking block protection...
[RX] 2026-11-07T21:13:52.888+08:00 [2026-11-07 21:13:52][NAND] Locating BBT pool...
[RX] 2026-11-07T21:13:52.888+08:00 [2026-11-07 21:13:52][NAND] Loading persisted BBT...
[RX] 2026-11-07T21:13:52.899+08:00 [2026-11-07 21:13:52][NAND] NAND init OK
[RX] 2026-11-07T21:13:52.899+08:00 [2026-11-07 21:13:52][APP] NAND init: OK
[RX] 2026-11-07T21:13:52.909+08:00 [2026-11-07 21:13:52][ADC] Init OK
[RX] 2026-11-07T21:13:52.909+08:00 [2026-11-07 21:13:52][APP] ADC init: OK
[RX] 2026-11-07T21:13:52.909+08:00 [2026-11-07 21:13:52][APP] ADC input layer init: OK
[RX] 2026-11-07T21:13:52.919+08:00 [2026-11-07 21:13:52][APP] freq layer init: OK
[RX] 2026-11-07T21:13:52.930+08:00 [2026-11-07 21:13:52][CFG] register: section 'adc_cal' (9 keys)
[RX] 2026-11-07T21:13:52.930+08:00 [2026-11-07 21:13:52][CFG] register: section 'adc_cal_ofs' (8 keys)
[RX] 2026-11-07T21:13:52.941+08:00 [2026-11-07 21:13:52][APP] adc cal init: OK (k_q16 tpafe=10000000 stm32=52800000)
[RX] 2026-11-07T21:13:52.951+08:00 [2026-11-07 21:13:52][CFG] register: section 'run_par' (9 keys)
[RX] 2026-11-07T21:13:52.951+08:00 [2026-11-07 21:13:52][APP] run par init: OK (db9 k/b via adc_cal, evt=1<<8)
[RX] 2026-11-07T21:13:52.961+08:00 [2026-11-07 21:13:52][CFG] register: section 'comm' (2 keys)
[RX] 2026-11-07T21:13:52.961+08:00 [2026-11-07 21:13:52][APP] comm init: OK (ca=1 port=2404)
[RX] 2026-11-07T21:13:52.972+08:00 [2026-11-07 21:13:52][APP] protection init: OK (set=40 elm=9)
[RX] 2026-11-07T21:13:52.982+08:00 [2026-11-07 21:13:52][APP] SD2506 ID: 2512153425482405
[RX] 2026-11-07T21:13:52.982+08:00 [2026-11-07 21:13:52][APP] SD2506 time: 2026-11-07 21:13:52 (week 6)
[RX] 2026-11-07T21:13:52.993+08:00 [2026-11-07 21:13:52][APP] SD2506 temp: 23 C
[RX] 2026-11-07T21:13:52.993+08:00 [2026-11-07 21:13:52][APP] SD2506 battery: 3.12 V
[RX] 2026-11-07T21:13:53.003+08:00 [2026-11-07 21:13:52][APP] App init OK
[RX] 2026-11-07T21:13:53.003+08:00 [2026-11-07 21:13:52][NAND_FTL] Initializing NAND FTL...
[RX] 2026-11-07T21:13:53.138+08:00 [2026-11-07 21:13:52][NAND_FTL] Map resumed: 46942/93232 sectors used
[RX] 2026-11-07T21:13:53.148+08:00 [2026-11-07 21:13:52][NAND_FTL] Map head=31888 tail=90356 epoch=8
[RX] 2026-11-07T21:13:53.148+08:00 [2026-11-07 21:13:52][NAND_FTL] NAND FTL ready (capacity: 93232 pages = 182 MB)
[RX] 2026-11-07T21:13:53.231+08:00 [2026-11-07 21:13:52] [FS] FATFS mounted
[RX] 2026-11-07T21:13:53.294+08:00 [2026-11-07 21:13:52][SYSLOG] runlog boot entry: reboot
[RX] 2026-11-07T21:13:53.294+08:00 [2026-11-07 21:13:52][CFG] register: section 'network' (4 keys)
[RX] 2026-11-07T21:13:53.305+08:00 [2026-11-07 21:13:52][CFG] register: section 'ftp' (3 keys)
[RX] 2026-11-07T21:13:53.315+08:00 [2026-11-07 21:13:52][CFG] register: section 'sntp' (4 keys)
[RX] 2026-11-07T21:13:53.326+08:00 [2026-11-07 21:13:52][CFG] load: OK (1064B, heap free 16552B)
[RX] 2026-11-07T21:13:53.326+08:00 [2026-11-07 21:13:52][NET_CFG] load: OK ip=192.168.31.100
[RX] 2026-11-07T21:13:53.336+08:00 [2026-11-07 21:13:52] [CFG] prot set loaded (/prot_set.bin)
[RX] 2026-11-07T21:13:53.357+08:00 [2026-11-07 21:13:52][ADC_TASK] [WARN] wave bench autocap ON: 1 seg / 2000 ms, auto-stop 300 s (BENCH BUILD ONLY)
[RX] 2026-11-07T21:13:53.368+08:00 [2026-11-07 21:13:52][ADC_TASK] first: UA=-17 UB=404 UC=594 UN=-17 IA=-17 IB=0 IC=763 IN=899 T=747
[RX] 2026-11-07T21:13:53.410+08:00 [2026-11-07 21:13:52][ADC_TASK] freq(first): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:13:53.420+08:00 [2026-11-07 21:13:52][PROT] protect task start: cycle=20ms elm=9
[RX] 2026-11-07T21:13:53.420+08:00 [2026-11-07 21:13:52][NET_TASK] === Network Init ===
[RX] 2026-11-07T21:13:53.431+08:00 [2026-11-07 21:13:52][NET] ch395f ver=0x4A fun_para=0x08
[RX] 2026-11-07T21:13:53.431+08:00 [2026-11-07 21:13:52][NET_TASK] net init: OK
[RX] 2026-11-07T21:13:53.441+08:00 MISS start snap=0x000001E7 req=0x000001F7 t=906
[RX] 2026-11-07T21:13:53.441+08:00 [2026-11-07 21:13:52][WD] [WD] armed: timeout ~2498ms (worst ~1701ms), miss_tol=800ms
[RX] 2026-11-07T21:13:53.452+08:00 [2026-11-07 21:13:52][NET_TASK] MAC: 3C:AB:72:53:2B:12
[RX] 2026-11-07T21:13:53.567+08:00 [2026-11-07 21:13:52][NET_TASK] IP_INF: IP=192.168.31.100 GW=192.168.31.1 MASK=255.255.255.0
[RX] 2026-11-07T21:13:53.577+08:00 [2026-11-07 21:13:52] [WAVE][WARN] seg held 79 ms (idx=1)
[RX] 2026-11-07T21:13:53.577+08:00 [2026-11-07 21:13:52][UI_TASK] UI task: started, wait net ready
[RX] 2026-11-07T21:13:55.414+08:00 [2026-11-07 21:13:54][NET_TASK] PHY: 100M FULL
[RX] 2026-11-07T21:13:55.424+08:00 [2026-11-07 21:13:54][NET_TASK] netTask: started (single-socket mode)
[RX] 2026-11-07T21:13:55.455+08:00 [2026-11-07 21:13:54][ERR][I104] i104: bind port 2404 FAIL, retry in loop
[RX] 2026-11-07T21:13:55.497+08:00 [2026-11-07 21:13:54] [FTP] using factory default password
[RX] 2026-11-07T21:13:55.497+08:00 [2026-11-07 21:13:54] [FTP] waiting for connection...
[RX] 2026-11-07T21:13:55.570+08:00 [2026-11-07 21:13:54] [WAVE][WARN] seg held 65 ms (idx=2)
[RX] 2026-11-07T21:13:55.570+08:00 [2026-11-07 21:13:54][UI_TASK] UI task: net ready, init port
[RX] 2026-11-07T21:13:55.580+08:00 [2026-11-07 21:13:54][UI_TASK] UI task: ui_port_init enter
[RX] 2026-11-07T21:13:55.591+08:00 [2026-11-07 21:13:54][UI_PORT] theme: mono dark_bg=true applied
[RX] 2026-11-07T21:13:55.591+08:00 [2026-11-07 21:13:54][UI_TASK] UI port init: OK
[RX] 2026-11-07T21:13:55.601+08:00 MISS start snap=0x000001E7 req=0x000001F7 t=3067
[RX] 2026-11-07T21:13:55.622+08:00 [2026-11-07 21:13:54][UI_TASK] UI task: ui_menu_init enter
[RX] 2026-11-07T21:13:55.622+08:00 [2026-11-07 21:13:54][UI_MENU] menu build start: total=15136 free=12692 big=12692
[RX] 2026-11-07T21:13:55.632+08:00 [2026-11-07 21:13:54][UI_MENU_VIEW] view init: root frame w=66 h=107
[RX] 2026-11-07T21:13:55.642+08:00 [2026-11-07 21:13:54][UI_MENU] menu build done: total=15020 free=11828 big=11816 used=3192
[RX] 2026-11-07T21:13:55.653+08:00 [2026-11-07 21:13:54][UI_TASK] UI menu init: OK
[RX] 2026-11-07T21:13:55.653+08:00 [2026-11-07 21:13:54][UI_STANDBY] standby: ready (idle=60000ms)
[RX] 2026-11-07T21:13:55.663+08:00 [2026-11-07 21:13:54][UI_TASK] UI standby: ready (idle=60s)
[RX] 2026-11-07T21:13:55.715+08:00 [2026-11-07 21:13:55][UI_TASK] UI net sink: started (port 7003)
[RX] 2026-11-07T21:13:57.598+08:00 [2026-11-07 21:13:56] [WAVE][WARN] seg held 63 ms (idx=3)
[RX] 2026-11-07T21:13:58.024+08:00 [2026-11-07 21:13:57] [STACK] default peak_used=2188/5120 free_min=2932 (57%)
[RX] 2026-11-07T21:13:58.034+08:00 [2026-11-07 21:13:57] [STACK] net peak_used=1116/3840 free_min=2724 (70%)
[RX] 2026-11-07T21:13:58.034+08:00 [2026-11-07 21:13:57] [STACK] ftp peak_used=764/4096 free_min=3332 (81%)
[RX] 2026-11-07T21:13:58.045+08:00 [2026-11-07 21:13:57] [STACK] ui peak_used=4204/16384 free_min=12180 (74%)
[RX] 2026-11-07T21:13:58.055+08:00 [2026-11-07 21:13:57] [STACK] timesync peak_used=476/2560 free_min=2084 (81%)
[RX] 2026-11-07T21:13:58.055+08:00 [2026-11-07 21:13:57] [STACK] adc peak_used=1000/2560 free_min=1560 (60%)
[RX] 2026-11-07T21:13:58.066+08:00 [2026-11-07 21:13:57] [STACK] iec104 peak_used=540/2560 free_min=2020 (78%)
[RX] 2026-11-07T21:13:58.076+08:00 [2026-11-07 21:13:57] [STACK] protect peak_used=540/2048 free_min=1508 (73%)
[RX] 2026-11-07T21:13:58.076+08:00 [2026-11-07 21:13:57] [STACK] heap free=15624 min_ever=8464
[RX] 2026-11-07T21:13:59.614+08:00 [2026-11-07 21:13:58] [WAVE][WARN] seg held 67 ms (idx=4)
[RX] 2026-11-07T21:14:01.600+08:00 [2026-11-07 21:14:00] [WAVE][WARN] seg held 64 ms (idx=5)
[RX] 2026-11-07T21:14:03.061+08:00 [2026-11-07 21:14:02][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:14:03.061+08:00 [2026-11-07 21:14:02][ADC_TASK] adc: UA=-21 UB=404 UC=617 UN=-20 IA=-21 IB=0 IC=771 IN=882 T=752
[RX] 2026-11-07T21:14:03.071+08:00 [2026-11-07 21:14:02][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:14:03.082+08:00 [2026-11-07 21:14:02][ADC_TASK] meas: seq=50 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:14:03.082+08:00 [2026-11-07 21:14:02][ADC_TASK] wave: seg=5 armed=0 src=T pts=320 err=0 ovf=0 drop=6024
[RX] 2026-11-07T21:14:03.092+08:00 [2026-11-07 21:14:02][PROT] elm UV-UA asserted=1 picked=1
[RX] 2026-11-07T21:14:03.581+08:00 [2026-11-07 21:14:02] [WAVE][WARN] seg held 69 ms (idx=6)
[RX] 2026-11-07T21:14:04.109+08:00 [2026-11-07 21:14:03] [STACK] default peak_used=2188/5120 free_min=2932 (57%)
[RX] 2026-11-07T21:14:04.109+08:00 [2026-11-07 21:14:03] [STACK] net peak_used=1116/3840 free_min=2724 (70%)
[RX] 2026-11-07T21:14:04.119+08:00 [2026-11-07 21:14:03] [STACK] ftp peak_used=764/4096 free_min=3332 (81%)
[RX] 2026-11-07T21:14:04.129+08:00 [2026-11-07 21:14:03] [STACK] ui peak_used=4204/16384 free_min=12180 (74%)
[RX] 2026-11-07T21:14:04.129+08:00 [2026-11-07 21:14:03] [STACK] timesync peak_used=476/2560 free_min=2084 (81%)
[RX] 2026-11-07T21:14:04.140+08:00 [2026-11-07 21:14:03] [STACK] adc peak_used=1000/2560 free_min=1560 (60%)
[RX] 2026-11-07T21:14:04.151+08:00 [2026-11-07 21:14:03] [STACK] iec104 peak_used=540/2560 free_min=2020 (78%)
[RX] 2026-11-07T21:14:04.151+08:00 [2026-11-07 21:14:03] [STACK] protect peak_used=624/2048 free_min=1424 (69%)
[RX] 2026-11-07T21:14:04.161+08:00 [2026-11-07 21:14:03] [STACK] heap free=15624 min_ever=8464
[RX] 2026-11-07T21:14:05.579+08:00 [2026-11-07 21:14:04] [WAVE][WARN] seg held 64 ms (idx=7)
[RX] 2026-11-07T21:14:07.578+08:00 [2026-11-07 21:14:06] [WAVE][WARN] seg held 65 ms (idx=8)
[RX] 2026-11-07T21:14:09.585+08:00 [2026-11-07 21:14:08] [WAVE][WARN] seg held 62 ms (idx=9)
[RX] 2026-11-07T21:14:11.572+08:00 [2026-11-07 21:14:10] [WAVE][WARN] seg held 64 ms (idx=10)
[RX] 2026-11-07T21:14:13.053+08:00 [2026-11-07 21:14:12][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:14:13.063+08:00 [2026-11-07 21:14:12][ADC_TASK] adc: UA=-21 UB=404 UC=611 UN=-21 IA=-20 IB=0 IC=772 IN=848 T=759
[RX] 2026-11-07T21:14:13.073+08:00 [2026-11-07 21:14:12][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:14:13.084+08:00 [2026-11-07 21:14:12][ADC_TASK] meas: seq=100 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:14:13.084+08:00 [2026-11-07 21:14:12][ADC_TASK] wave: seg=10 armed=0 src=T pts=320 err=0 ovf=0 drop=8960
[RX] 2026-11-07T21:14:13.228+08:00 [2026-11-07 21:14:12][NET] sock1 standalone accept
[RX] 2026-11-07T21:14:13.259+08:00 [2026-11-07 21:14:12] [FTP] connection received from 192.168.31.161:60724...
[RX] 2026-11-07T21:14:13.269+08:00 [2026-11-07 21:14:12] [FTP] CMD USER admin
[RX] 2026-11-07T21:14:13.269+08:00 [2026-11-07 21:14:12] [FTP] CMD PASS admin
[RX] 2026-11-07T21:14:13.280+08:00 [2026-11-07 21:14:12] [FTP] CMD TYPE I
[RX] 2026-11-07T21:14:13.290+08:00 [2026-11-07 21:14:12] [FTP] CMD PASV
[RX] 2026-11-07T21:14:13.332+08:00 [2026-11-07 21:14:12][NET] sock3 standalone accept
[RX] 2026-11-07T21:14:13.353+08:00 [2026-11-07 21:14:12] [FTP] CMD RETR /FILL3.BIN
[RX] 2026-11-07T21:14:14.287+08:00 [2026-11-07 21:14:13] [STACK] default peak_used=2188/5120 free_min=2932 (57%)
[RX] 2026-11-07T21:14:14.287+08:00 [2026-11-07 21:14:13] [STACK] net peak_used=1116/3840 free_min=2724 (70%)
[RX] 2026-11-07T21:14:14.298+08:00 [2026-11-07 21:14:13] [STACK] ftp peak_used=2028/4096 free_min=2068 (50%)
[RX] 2026-11-07T21:14:14.308+08:00 [2026-11-07 21:14:13] [STACK] ui peak_used=4204/16384 free_min=12180 (74%)
[RX] 2026-11-07T21:14:14.308+08:00 [2026-11-07 21:14:13] [STACK] timesync peak_used=476/2560 free_min=2084 (81%)
[RX] 2026-11-07T21:14:14.319+08:00 [2026-11-07 21:14:13] [STACK] adc peak_used=1000/2560 free_min=1560 (60%)
[RX] 2026-11-07T21:14:14.329+08:00 [2026-11-07 21:14:13] [STACK] iec104 peak_used=540/2560 free_min=2020 (78%)
[RX] 2026-11-07T21:14:14.340+08:00 [2026-11-07 21:14:13] [STACK] protect peak_used=624/2048 free_min=1424 (69%)
[RX] 2026-11-07T21:14:14.350+08:00 [2026-11-07 21:14:13] [STACK] heap free=15600 min_ever=8464
[RX] 2026-11-07T21:14:14.454+08:00 MISS start snap=0x00000177 req=0x000001F7 t=21918
[RX] 2026-11-07T21:14:15.593+08:00 [2026-11-07 21:14:14] [FTP] DOWNLOAD '/FILL3.BIN' OK
[RX] 2026-11-07T21:14:15.603+08:00 [2026-11-07 21:14:14] [FTP] CMD QUIT
[RX] 2026-11-07T21:14:15.603+08:00 [2026-11-07 21:14:14][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:14:15.614+08:00 [2026-11-07 21:14:14] [FTP] waiting for connection...
[RX] 2026-11-07T21:14:15.635+08:00 [2026-11-07 21:14:14] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:14:15.645+08:00 MISS start snap=0x000001E7 req=0x000001F7 t=23112
[RX] 2026-11-07T21:14:15.800+08:00 [2026-11-07 21:14:15] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:14:15.800+08:00 [2026-11-07 21:14:15][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:14:16.286+08:00 [2026-11-07 21:14:15] [STACK] default peak_used=2188/5120 free_min=2932 (57%)
[RX] 2026-11-07T21:14:16.286+08:00 [2026-11-07 21:14:15] [STACK] net peak_used=1120/3840 free_min=2720 (70%)
[RX] 2026-11-07T21:14:16.297+08:00 [2026-11-07 21:14:15] [STACK] ftp peak_used=2028/4096 free_min=2068 (50%)
[RX] 2026-11-07T21:14:16.307+08:00 [2026-11-07 21:14:15] [STACK] ui peak_used=4204/16384 free_min=12180 (74%)
[RX] 2026-11-07T21:14:16.307+08:00 [2026-11-07 21:14:15] [STACK] timesync peak_used=476/2560 free_min=2084 (81%)
[RX] 2026-11-07T21:14:16.318+08:00 [2026-11-07 21:14:15] [STACK] adc peak_used=1000/2560 free_min=1560 (60%)
[RX] 2026-11-07T21:14:16.328+08:00 [2026-11-07 21:14:15] [STACK] iec104 peak_used=540/2560 free_min=2020 (78%)
[RX] 2026-11-07T21:14:16.328+08:00 [2026-11-07 21:14:15] [STACK] protect peak_used=624/2048 free_min=1424 (69%)
[RX] 2026-11-07T21:14:16.338+08:00 [2026-11-07 21:14:15] [STACK] heap free=15624 min_ever=8464
[RX] 2026-11-07T21:14:17.612+08:00 [2026-11-07 21:14:16] [WAVE][WARN] seg held 64 ms (idx=11)
[RX] 2026-11-07T21:14:18.327+08:00 [2026-11-07 21:14:17] [STACK] default peak_used=2188/5120 free_min=2932 (57%)
[RX] 2026-11-07T21:14:18.338+08:00 [2026-11-07 21:14:17] [STACK] net peak_used=1120/3840 free_min=2720 (70%)
[RX] 2026-11-07T21:14:18.338+08:00 [2026-11-07 21:14:17] [STACK] ftp peak_used=2028/4096 free_min=2068 (50%)
[RX] 2026-11-07T21:14:18.348+08:00 [2026-11-07 21:14:17] [STACK] ui peak_used=4204/16384 free_min=12180 (74%)
[RX] 2026-11-07T21:14:18.359+08:00 [2026-11-07 21:14:17] [STACK] timesync peak_used=476/2560 free_min=2084 (81%)
[RX] 2026-11-07T21:14:18.369+08:00 [2026-11-07 21:14:17] [STACK] adc peak_used=1000/2560 free_min=1560 (60%)
[RX] 2026-11-07T21:14:18.369+08:00 [2026-11-07 21:14:17] [STACK] iec104 peak_used=544/2560 free_min=2016 (78%)
[RX] 2026-11-07T21:14:18.379+08:00 [2026-11-07 21:14:17] [STACK] protect peak_used=624/2048 free_min=1424 (69%)
[RX] 2026-11-07T21:14:18.390+08:00 [2026-11-07 21:14:17] [STACK] heap free=15624 min_ever=8464
[RX] 2026-11-07T21:14:19.611+08:00 [2026-11-07 21:14:18] [WAVE][WARN] seg held 62 ms (idx=12)
[RX] 2026-11-07T21:14:21.235+08:00 [2026-11-07 21:14:20][NET] sock1 standalone accept
[RX] 2026-11-07T21:14:21.246+08:00 [2026-11-07 21:14:20] [FTP] connection received from 192.168.31.161:50978...
[RX] 2026-11-07T21:14:21.267+08:00 [2026-11-07 21:14:20] [FTP] CMD USER admin
[RX] 2026-11-07T21:14:21.267+08:00 [2026-11-07 21:14:20] [FTP] CMD PASS admin
[RX] 2026-11-07T21:14:21.277+08:00 [2026-11-07 21:14:20] [FTP] CMD TYPE I
[RX] 2026-11-07T21:14:21.277+08:00 [2026-11-07 21:14:20] [FTP] CMD PASV
[RX] 2026-11-07T21:14:21.329+08:00 [2026-11-07 21:14:20][NET] sock3 standalone accept
[RX] 2026-11-07T21:14:21.340+08:00 [2026-11-07 21:14:20] [FTP] CMD RETR /FILL3.BIN
[RX] 2026-11-07T21:14:23.059+08:00 [2026-11-07 21:14:22][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:14:23.070+08:00 [2026-11-07 21:14:22][ADC_TASK] adc: UA=-21 UB=405 UC=611 UN=-21 IA=-20 IB=0 IC=769 IN=836 T=757
[RX] 2026-11-07T21:14:23.081+08:00 [2026-11-07 21:14:22][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:14:23.092+08:00 [2026-11-07 21:14:22][ADC_TASK] meas: seq=150 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:14:23.092+08:00 [2026-11-07 21:14:22][ADC_TASK] wave: seg=12 armed=1 src=T pts=320 err=1 ovf=1 drop=38656
[RX] 2026-11-07T21:14:23.610+08:00 [2026-11-07 21:14:22] [FTP] DOWNLOAD '/FILL3.BIN' OK
[RX] 2026-11-07T21:14:23.620+08:00 [2026-11-07 21:14:22] [FTP] CMD QUIT
[RX] 2026-11-07T21:14:23.620+08:00 [2026-11-07 21:14:22][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:14:23.631+08:00 [2026-11-07 21:14:22] [FTP] waiting for connection...
[RX] 2026-11-07T21:14:23.652+08:00 [2026-11-07 21:14:22] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:14:23.662+08:00 MISS start snap=0x000001E7 req=0x000001F7 t=31130
[RX] 2026-11-07T21:14:23.818+08:00 [2026-11-07 21:14:23] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:14:23.818+08:00 [2026-11-07 21:14:23][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:14:25.617+08:00 [2026-11-07 21:14:24] [WAVE][WARN] seg held 63 ms (idx=13)
[RX] 2026-11-07T21:14:27.606+08:00 [2026-11-07 21:14:26] [WAVE][WARN] seg held 63 ms (idx=14)
[RX] 2026-11-07T21:14:29.148+08:00 [2026-11-07 21:14:28][NET] sock1 standalone accept
[RX] 2026-11-07T21:14:29.158+08:00 [2026-11-07 21:14:28] [FTP] connection received from 192.168.31.161:60337...
[RX] 2026-11-07T21:14:29.158+08:00 [2026-11-07 21:14:28] [FTP] CMD USER admin
[RX] 2026-11-07T21:14:29.169+08:00 [2026-11-07 21:14:28] [FTP] CMD PASS admin
[RX] 2026-11-07T21:14:29.169+08:00 [2026-11-07 21:14:28] [FTP] CMD TYPE I
[RX] 2026-11-07T21:14:29.179+08:00 [2026-11-07 21:14:28] [FTP] CMD PASV
[RX] 2026-11-07T21:14:29.220+08:00 [2026-11-07 21:14:28][NET] sock3 standalone accept
[RX] 2026-11-07T21:14:29.231+08:00 [2026-11-07 21:14:28] [FTP] CMD RETR /FILL3.BIN
[RX] 2026-11-07T21:14:31.368+08:00 [2026-11-07 21:14:30] [WAVE][WARN] seg held 63 ms (idx=15)
[RX] 2026-11-07T21:14:31.410+08:00 [2026-11-07 21:14:30] [FTP] DOWNLOAD '/FILL3.BIN' OK
[RX] 2026-11-07T21:14:31.420+08:00 [2026-11-07 21:14:30] [FTP] CMD QUIT
[RX] 2026-11-07T21:14:31.420+08:00 [2026-11-07 21:14:30][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:14:31.420+08:00 [2026-11-07 21:14:30] [FTP] waiting for connection...
[RX] 2026-11-07T21:14:31.451+08:00 [2026-11-07 21:14:30] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:14:31.514+08:00 MISS start snap=0x00000177 req=0x000001F7 t=38974
[RX] 2026-11-07T21:14:31.609+08:00 [2026-11-07 21:14:30] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:14:31.619+08:00 [2026-11-07 21:14:30][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:14:33.058+08:00 [2026-11-07 21:14:32][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:14:33.058+08:00 [2026-11-07 21:14:32][ADC_TASK] adc: UA=-23 UB=404 UC=608 UN=-22 IA=-23 IB=0 IC=772 IN=834 T=753
[RX] 2026-11-07T21:14:33.069+08:00 [2026-11-07 21:14:32][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:14:33.079+08:00 [2026-11-07 21:14:32][ADC_TASK] meas: seq=200 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:14:33.089+08:00 [2026-11-07 21:14:32][ADC_TASK] wave: seg=15 armed=0 src=T pts=320 err=2 ovf=3 drop=59256
[RX] 2026-11-07T21:14:33.566+08:00 [2026-11-07 21:14:32] [WAVE][WARN] seg held 62 ms (idx=16)
[RX] 2026-11-07T21:14:35.610+08:00 [2026-11-07 21:14:34] [WAVE][WARN] seg held 62 ms (idx=17)
[RX] 2026-11-07T21:14:37.331+08:00 [2026-11-07 21:14:36][NET] sock1 standalone accept
[RX] 2026-11-07T21:14:37.352+08:00 [2026-11-07 21:14:36] [FTP] connection received from 192.168.31.161:61067...
[RX] 2026-11-07T21:14:37.362+08:00 [2026-11-07 21:14:36] [FTP] CMD USER admin
[RX] 2026-11-07T21:14:37.362+08:00 [2026-11-07 21:14:36] [FTP] CMD PASS admin
[RX] 2026-11-07T21:14:37.373+08:00 [2026-11-07 21:14:36] [FTP] CMD TYPE I
[RX] 2026-11-07T21:14:37.373+08:00 [2026-11-07 21:14:36] [FTP] CMD PASV
[RX] 2026-11-07T21:14:37.424+08:00 [2026-11-07 21:14:36][NET] sock3 standalone accept
[RX] 2026-11-07T21:14:37.445+08:00 [2026-11-07 21:14:36] [FTP] CMD RETR /FILL3.BIN
[RX] 2026-11-07T21:14:39.641+08:00 [2026-11-07 21:14:38] [FTP] DOWNLOAD '/FILL3.BIN' OK
[RX] 2026-11-07T21:14:39.641+08:00 MISS start snap=0x000001E7 req=0x000001F7 t=47112
[RX] 2026-11-07T21:14:39.662+08:00 [2026-11-07 21:14:38] [FTP] CMD QUIT
[RX] 2026-11-07T21:14:39.673+08:00 [2026-11-07 21:14:38][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:14:39.673+08:00 [2026-11-07 21:14:38] [FTP] waiting for connection...
[RX] 2026-11-07T21:14:39.694+08:00 [2026-11-07 21:14:39] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:14:39.850+08:00 MISS start snap=0x00000177 req=0x000001F7 t=47317
[RX] 2026-11-07T21:14:39.871+08:00 [2026-11-07 21:14:39] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:14:39.882+08:00 [2026-11-07 21:14:39][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:14:41.573+08:00 [2026-11-07 21:14:40] [WAVE][WARN] seg held 64 ms (idx=18)
[RX] 2026-11-07T21:14:43.053+08:00 [2026-11-07 21:14:42][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:14:43.064+08:00 [2026-11-07 21:14:42][ADC_TASK] adc: UA=-21 UB=404 UC=608 UN=-19 IA=-20 IB=0 IC=772 IN=832 T=753
[RX] 2026-11-07T21:14:43.074+08:00 [2026-11-07 21:14:42][ADC_TASK] cal: ua_mv=-3 un_mv=-2 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:14:43.074+08:00 [2026-11-07 21:14:42][ADC_TASK] meas: seq=250 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:14:43.084+08:00 [2026-11-07 21:14:42][ADC_TASK] wave: seg=18 armed=0 src=T pts=320 err=3 ovf=4 drop=77160
[RX] 2026-11-07T21:14:43.582+08:00 [2026-11-07 21:14:42] [WAVE][WARN] seg held 68 ms (idx=19)
[RX] 2026-11-07T21:14:45.104+08:00 [2026-11-07 21:14:44][NET] sock1 standalone accept
[RX] 2026-11-07T21:14:45.197+08:00 [2026-11-07 21:14:44] [FTP] connection received from 192.168.31.161:64880...
[RX] 2026-11-07T21:14:45.207+08:00 [2026-11-07 21:14:44] [FTP] CMD USER admin
[RX] 2026-11-07T21:14:45.207+08:00 [2026-11-07 21:14:44] [FTP] CMD PASS admin
[RX] 2026-11-07T21:14:45.217+08:00 [2026-11-07 21:14:44] [FTP] CMD TYPE I
[RX] 2026-11-07T21:14:45.217+08:00 [2026-11-07 21:14:44] [FTP] CMD PASV
[RX] 2026-11-07T21:14:45.269+08:00 [2026-11-07 21:14:44][NET] sock3 standalone accept
[RX] 2026-11-07T21:14:45.280+08:00 [2026-11-07 21:14:44] [FTP] CMD RETR /FILL3.BIN
[RX] 2026-11-07T21:14:47.420+08:00 [2026-11-07 21:14:46] [WAVE][WARN] seg held 62 ms (idx=20)
[RX] 2026-11-07T21:14:47.461+08:00 [2026-11-07 21:14:46] [FTP] DOWNLOAD '/FILL3.BIN' OK
[RX] 2026-11-07T21:14:47.461+08:00 [2026-11-07 21:14:46] [FTP] CMD QUIT
[RX] 2026-11-07T21:14:47.461+08:00 [2026-11-07 21:14:46][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:14:47.471+08:00 [2026-11-07 21:14:46] [FTP] waiting for connection...
[RX] 2026-11-07T21:14:47.503+08:00 [2026-11-07 21:14:46] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:14:47.556+08:00 MISS start snap=0x00000177 req=0x000001F7 t=55024
[RX] 2026-11-07T21:14:47.660+08:00 [2026-11-07 21:14:46] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:14:47.670+08:00 [2026-11-07 21:14:46][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:14:49.596+08:00 [2026-11-07 21:14:48] [WAVE][WARN] seg held 62 ms (idx=21)
[RX] 2026-11-07T21:15:26.136+08:00 MISS start snap=0x000001E7 req=0x000001F7 t=93607
[RX] 2026-11-07T21:15:27.392+08:00 [2026-11-07 21:15:26] [WAVE][WARN] seg held 61 ms (idx=34)
[RX] 2026-11-07T21:15:27.433+08:00 [2026-11-07 21:15:26] [FTP] DOWNLOAD '/FILL3.BIN' OK
[RX] 2026-11-07T21:15:27.433+08:00 [2026-11-07 21:15:26] [FTP] CMD QUIT
[RX] 2026-11-07T21:15:27.433+08:00 [2026-11-07 21:15:26][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:15:27.444+08:00 [2026-11-07 21:15:26] [FTP] waiting for connection...
[RX] 2026-11-07T21:15:27.475+08:00 [2026-11-07 21:15:26] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:15:27.631+08:00 [2026-11-07 21:15:26] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:15:27.642+08:00 [2026-11-07 21:15:26][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:15:29.610+08:00 [2026-11-07 21:15:28] [WAVE][WARN] seg held 61 ms (idx=35)
[RX] 2026-11-07T21:15:31.597+08:00 [2026-11-07 21:15:30] [WAVE][WARN] seg held 60 ms (idx=36)
[RX] 2026-11-07T21:15:33.060+08:00 [2026-11-07 21:15:32][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:15:33.070+08:00 [2026-11-07 21:15:32][ADC_TASK] adc: UA=-19 UB=404 UC=608 UN=-19 IA=-19 IB=0 IC=770 IN=835 T=751
[RX] 2026-11-07T21:15:33.081+08:00 [2026-11-07 21:15:32][ADC_TASK] cal: ua_mv=-2 un_mv=-2 ia_mv=-2 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:15:33.091+08:00 [2026-11-07 21:15:32][ADC_TASK] meas: seq=500 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:15:33.091+08:00 [2026-11-07 21:15:32][ADC_TASK] wave: seg=36 armed=0 src=T pts=320 err=4 ovf=10 drop=178416
[RX] 2026-11-07T21:15:33.205+08:00 [2026-11-07 21:15:32][NET] sock1 standalone accept
[RX] 2026-11-07T21:15:33.267+08:00 [2026-11-07 21:15:32] [FTP] connection received from 192.168.31.161:50846...
[RX] 2026-11-07T21:15:33.278+08:00 [2026-11-07 21:15:32] [FTP] CMD USER admin
[RX] 2026-11-07T21:15:33.288+08:00 [2026-11-07 21:15:32] [FTP] CMD PASS admin
[RX] 2026-11-07T21:15:33.288+08:00 [2026-11-07 21:15:32] [FTP] CMD TYPE I
[RX] 2026-11-07T21:15:33.299+08:00 [2026-11-07 21:15:32] [FTP] CMD PASV
[RX] 2026-11-07T21:15:33.351+08:00 [2026-11-07 21:15:32][NET] sock3 standalone accept
[RX] 2026-11-07T21:15:33.351+08:00 [2026-11-07 21:15:32] [FTP] CMD RETR /FILL3.BIN
[RX] 2026-11-07T21:15:35.576+08:00 [2026-11-07 21:15:34][ERR] [WAVE] seg drop: ring abandoned (idx=36 written=5250)
[RX] 2026-11-07T21:15:35.576+08:00 [2026-11-07 21:15:34] [WAVE][WARN] seg held 124 ms (idx=36)
[RX] 2026-11-07T21:15:35.587+08:00 [2026-11-07 21:15:34] [FTP] DOWNLOAD '/FILL3.BIN' OK
[RX] 2026-11-07T21:15:35.587+08:00 [2026-11-07 21:15:34] [FTP] CMD QUIT
[RX] 2026-11-07T21:15:35.597+08:00 [2026-11-07 21:15:34][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:15:35.597+08:00 [2026-11-07 21:15:34] [FTP] waiting for connection...
[RX] 2026-11-07T21:15:35.628+08:00 [2026-11-07 21:15:34] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:15:35.784+08:00 MISS start snap=0x00000177 req=0x000001F7 t=103250
[RX] 2026-11-07T21:15:35.805+08:00 [2026-11-07 21:15:35] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:15:35.816+08:00 [2026-11-07 21:15:35][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:15:38.900+08:00 [2026-11-07 21:15:38][NET] sock1 standalone accept
[RX] 2026-11-07T21:15:38.921+08:00 [2026-11-07 21:15:38] [FTP] connection received from 192.168.31.161:56248...
[RX] 2026-11-07T21:15:38.921+08:00 [2026-11-07 21:15:38] [FTP] CMD USER admin
[RX] 2026-11-07T21:15:38.931+08:00 [2026-11-07 21:15:38] [FTP] CMD PASS admin
[RX] 2026-11-07T21:15:38.941+08:00 [2026-11-07 21:15:38] [FTP] CMD SIZE /WAVE/WAVE36.BIN
[RX] 2026-11-07T21:15:38.941+08:00 [2026-11-07 21:15:38] [FTP] CMD QUIT
[RX] 2026-11-07T21:15:38.941+08:00 [2026-11-07 21:15:38][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:15:38.952+08:00 [2026-11-07 21:15:38] [FTP] waiting for connection...
[RX] 2026-11-07T21:15:38.982+08:00 [2026-11-07 21:15:38] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:15:39.149+08:00 [2026-11-07 21:15:38] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:15:39.149+08:00 [2026-11-07 21:15:38][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:15:39.459+08:00 [2026-11-07 21:15:38][NET] sock1 standalone accept
[RX] 2026-11-07T21:15:39.470+08:00 [2026-11-07 21:15:38] [FTP] connection received from 192.168.31.161:56249...
[RX] 2026-11-07T21:15:39.480+08:00 [2026-11-07 21:15:38] [FTP] CMD USER admin
[RX] 2026-11-07T21:15:39.480+08:00 [2026-11-07 21:15:38] [FTP] CMD PASS admin
[RX] 2026-11-07T21:15:39.491+08:00 [2026-11-07 21:15:38] [FTP] CMD SIZE /WAVE/WAVE00.BIN
[RX] 2026-11-07T21:15:39.501+08:00 [2026-11-07 21:15:38] [FTP] CMD QUIT
[RX] 2026-11-07T21:15:39.501+08:00 [2026-11-07 21:15:38][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:15:39.501+08:00 [2026-11-07 21:15:38] [FTP] waiting for connection...
[RX] 2026-11-07T21:15:39.574+08:00 [2026-11-07 21:15:38] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:15:39.584+08:00 [2026-11-07 21:15:38] [WAVE][WARN] seg held 61 ms (idx=38)
[RX] 2026-11-07T21:15:39.698+08:00 [2026-11-07 21:15:39] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:15:41.371+08:00 [2026-11-07 21:15:40] [STACK] default peak_used=2188/5120 free_min=2932 (57%)
[RX] 2026-11-07T21:15:41.382+08:00 [2026-11-07 21:15:40] [STACK] net peak_used=1188/3840 free_min=2652 (69%)
[RX] 2026-11-07T21:15:41.382+08:00 [2026-11-07 21:15:40] [STACK] ftp peak_used=2028/4096 free_min=2068 (50%)
[RX] 2026-11-07T21:15:41.392+08:00 [2026-11-07 21:15:40] [STACK] ui peak_used=4204/16384 free_min=12180 (74%)
[RX] 2026-11-07T21:15:41.403+08:00 [2026-11-07 21:15:40] [STACK] timesync peak_used=476/2560 free_min=2084 (81%)
[RX] 2026-11-07T21:15:41.413+08:00 [2026-11-07 21:15:40] [STACK] adc peak_used=1000/2560 free_min=1560 (60%)
[RX] 2026-11-07T21:15:41.413+08:00 [2026-11-07 21:15:40] [STACK] iec104 peak_used=544/2560 free_min=2016 (78%)
[RX] 2026-11-07T21:15:41.424+08:00 [2026-11-07 21:15:40] [STACK] protect peak_used=624/2048 free_min=1424 (69%)
[RX] 2026-11-07T21:15:41.434+08:00 [2026-11-07 21:15:40] [STACK] heap free=15624 min_ever=8464
[RX] 2026-11-07T21:15:41.599+08:00 [2026-11-07 21:15:40] [WAVE][WARN] seg held 60 ms (idx=39)
[RX] 2026-11-07T21:15:41.796+08:00 [2026-11-07 21:15:41][NET] sock1 standalone accept
[RX] 2026-11-07T21:15:41.828+08:00 [2026-11-07 21:15:41] [FTP] connection received from 192.168.31.161:56562...
[RX] 2026-11-07T21:15:41.838+08:00 [2026-11-07 21:15:41] [FTP] CMD USER admin
[RX] 2026-11-07T21:15:41.838+08:00 [2026-11-07 21:15:41] [FTP] CMD PASS admin
[RX] 2026-11-07T21:15:41.849+08:00 [2026-11-07 21:15:41] [FTP] CMD SIZE /WAVE/WAVE36.BIN
[RX] 2026-11-07T21:15:41.859+08:00 [2026-11-07 21:15:41] [FTP] CMD QUIT
[RX] 2026-11-07T21:15:41.859+08:00 [2026-11-07 21:15:41][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:15:41.869+08:00 [2026-11-07 21:15:41] [FTP] waiting for connection...
[RX] 2026-11-07T21:15:41.891+08:00 [2026-11-07 21:15:41] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:15:42.056+08:00 [2026-11-07 21:15:41] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:15:42.056+08:00 [2026-11-07 21:15:41][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:15:43.051+08:00 [2026-11-07 21:15:42][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:15:43.061+08:00 [2026-11-07 21:15:42][ADC_TASK] adc: UA=-20 UB=403 UC=609 UN=-20 IA=-20 IB=0 IC=773 IN=832 T=751
[RX] 2026-11-07T21:15:43.072+08:00 [2026-11-07 21:15:42][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:15:43.082+08:00 [2026-11-07 21:15:42][ADC_TASK] meas: seq=550 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:15:43.082+08:00 [2026-11-07 21:15:42][ADC_TASK] wave: seg=39 armed=0 src=T pts=320 err=5 ovf=11 drop=196424
[RX] 2026-11-07T21:15:43.590+08:00 [2026-11-07 21:15:42] [WAVE][WARN] seg held 64 ms (idx=40)
[RX] 2026-11-07T21:15:45.578+08:00 [2026-11-07 21:15:44] [WAVE][WARN] seg held 59 ms (idx=41)
[RX] 2026-11-07T21:15:47.607+08:00 [2026-11-07 21:15:46] [WAVE][WARN] seg held 62 ms (idx=42)
[RX] 2026-11-07T21:15:49.610+08:00 [2026-11-07 21:15:48] [WAVE][WARN] seg held 63 ms (idx=43)
[RX] 2026-11-07T21:15:50.866+08:00 [2026-11-07 21:15:50][NET] sock1 standalone accept
[RX] 2026-11-07T21:15:50.907+08:00 [2026-11-07 21:15:50] [FTP] connection received from 192.168.31.161:64624...
[RX] 2026-11-07T21:15:50.907+08:00 [2026-11-07 21:15:50] [FTP] CMD USER admin
[RX] 2026-11-07T21:15:50.918+08:00 [2026-11-07 21:15:50] [FTP] CMD PASS admin
[RX] 2026-11-07T21:15:50.929+08:00 [2026-11-07 21:15:50] [FTP] CMD SIZE /WAVE/WAVE36.BIN
[RX] 2026-11-07T21:15:50.929+08:00 [2026-11-07 21:15:50] [FTP] CMD QUIT
[RX] 2026-11-07T21:15:50.929+08:00 [2026-11-07 21:15:50][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:15:50.939+08:00 [2026-11-07 21:15:50] [FTP] waiting for connection...
[RX] 2026-11-07T21:15:50.971+08:00 [2026-11-07 21:15:50] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:15:51.127+08:00 [2026-11-07 21:15:50] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:15:51.127+08:00 [2026-11-07 21:15:50][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:15:51.439+08:00 [2026-11-07 21:15:50][NET] sock1 standalone accept
[RX] 2026-11-07T21:15:51.459+08:00 [2026-11-07 21:15:50] [FTP] connection received from 192.168.31.161:64625...
[RX] 2026-11-07T21:15:51.470+08:00 [2026-11-07 21:15:50] [FTP] CMD USER admin
[RX] 2026-11-07T21:15:51.470+08:00 [2026-11-07 21:15:50] [FTP] CMD PASS admin
[RX] 2026-11-07T21:15:51.470+08:00 [2026-11-07 21:15:50] [FTP] CMD TYPE I
[RX] 2026-11-07T21:15:51.480+08:00 [2026-11-07 21:15:50] [FTP] CMD PASV
[RX] 2026-11-07T21:15:51.532+08:00 [2026-11-07 21:15:50][NET] sock3 standalone accept
[RX] 2026-11-07T21:15:51.594+08:00 [2026-11-07 21:15:50] [FTP] CMD RETR /WAVE/WAVE36.BIN
[RX] 2026-11-07T21:15:51.604+08:00 [2026-11-07 21:15:50] [WAVE][WARN] seg held 62 ms (idx=44)
[RX] 2026-11-07T21:15:51.781+08:00 [2026-11-07 21:15:51] [FTP] DOWNLOAD '/WAVE/WAVE36.BIN' OK
[RX] 2026-11-07T21:15:51.781+08:00 [2026-11-07 21:15:51] [FTP] CMD QUIT
[RX] 2026-11-07T21:15:51.791+08:00 [2026-11-07 21:15:51][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:15:51.791+08:00 [2026-11-07 21:15:51] [FTP] waiting for connection...
[RX] 2026-11-07T21:15:51.822+08:00 [2026-11-07 21:15:51] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:15:51.822+08:00 MISS start snap=0x000001E7 req=0x000001F7 t=119296
[RX] 2026-11-07T21:15:51.979+08:00 [2026-11-07 21:15:51] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:15:52.301+08:00 [2026-11-07 21:15:51][NET] sock1 standalone accept
[RX] 2026-11-07T21:15:52.312+08:00 [2026-11-07 21:15:51] [FTP] connection received from 192.168.31.161:54362...
[RX] 2026-11-07T21:15:52.312+08:00 [2026-11-07 21:15:51] [FTP] CMD USER admin
[RX] 2026-11-07T21:15:52.323+08:00 [2026-11-07 21:15:51] [FTP] CMD PASS admin
[RX] 2026-11-07T21:15:52.333+08:00 [2026-11-07 21:15:51] [FTP] CMD CWD /WAVE
[RX] 2026-11-07T21:15:52.333+08:00 [2026-11-07 21:15:51] [FTP] CMD TYPE A
[RX] 2026-11-07T21:15:52.333+08:00 [2026-11-07 21:15:51] [FTP] CMD PASV
[RX] 2026-11-07T21:15:52.385+08:00 [2026-11-07 21:15:51][NET] sock3 standalone accept
[RX] 2026-11-07T21:15:52.406+08:00 [2026-11-07 21:15:51] [FTP] CMD LIST
[RX] 2026-11-07T21:15:52.582+08:00 [2026-11-07 21:15:51] [FTP] CMD CWD /
[RX] 2026-11-07T21:15:52.582+08:00 [2026-11-07 21:15:51] [FTP] CMD TYPE A
[RX] 2026-11-07T21:15:52.593+08:00 [2026-11-07 21:15:51] [FTP] CMD PASV
[RX] 2026-11-07T21:15:52.635+08:00 [2026-11-07 21:15:51][NET] sock3 standalone accept
[RX] 2026-11-07T21:15:52.635+08:00 MISS start snap=0x00000177 req=0x000001F7 t=120110
[RX] 2026-11-07T21:15:52.666+08:00 [2026-11-07 21:15:51] [FTP] CMD LIST
[RX] 2026-11-07T21:15:52.781+08:00 [2026-11-07 21:15:52] [FTP] CMD QUIT
[RX] 2026-11-07T21:15:52.791+08:00 [2026-11-07 21:15:52][NET] sock1 DISCONNECTED, releasing (chip st=0x05/0x00)
[RX] 2026-11-07T21:15:52.791+08:00 [2026-11-07 21:15:52] [FTP] waiting for connection...
[RX] 2026-11-07T21:15:52.823+08:00 [2026-11-07 21:15:52] sock1 relisten settle (sock=0x00 tcp=0x00)
[RX] 2026-11-07T21:15:52.886+08:00 MISS start snap=0x00000177 req=0x000001F7 t=120348
[RX] 2026-11-07T21:15:52.989+08:00 [2026-11-07 21:15:52] sock1 auto-relisten ok (accept)
[RX] 2026-11-07T21:15:52.989+08:00 [2026-11-07 21:15:52][NET] sock1 reconcile: chip not listening (0x00/0xFF, was state=3) -> relisten
[RX] 2026-11-07T21:15:53.052+08:00 [2026-11-07 21:15:52][ADC_TASK] freq(hb): f=0 valid=0 (x0.01)
[RX] 2026-11-07T21:15:53.062+08:00 [2026-11-07 21:15:52][ADC_TASK] adc: UA=-21 UB=404 UC=607 UN=-20 IA=-20 IB=0 IC=772 IN=831 T=751
[RX] 2026-11-07T21:15:53.073+08:00 [2026-11-07 21:15:52][ADC_TASK] cal: ua_mv=-3 un_mv=-3 ia_mv=-3 vl=0x00 cl=0xe6 rail=0x000 edge=0x000
[RX] 2026-11-07T21:15:53.073+08:00 [2026-11-07 21:15:52][ADC_TASK] meas: seq=600 v=1 ua_mv=0 un_mv=0 ia_mv=0 f=0 fv=0
[RX] 2026-11-07T21:15:53.083+08:00 [2026-11-07 21:15:52][ADC_TASK] wave: seg=44 armed=0 src=T pts=320 err=5 ovf=11 drop=200120
[RX] 2026-11-07T21:15:53.581+08:00 [2026-11-07 21:15:52] [WAVE][WARN] seg held 51 ms (idx=45)
[RX] 2026-11-07T21:15:53.632+08:00 [2026-11-07 21:15:52] [STACK] default peak_used=2188/5120 free_min=2932 (57%)
[RX] 2026-11-07T21:15:53.642+08:00 [2026-11-07 21:15:52] [STACK] net peak_used=1188/3840 free_min=2652 (69%)
[RX] 2026-11-07T21:15:53.653+08:00 [2026-11-07 21:15:52] [STACK] ftp peak_used=2356/4096 free_min=1740 (42%)
[RX] 2026-11-07T21:15:53.653+08:00 [2026-11-07 21:15:52] [STACK] ui peak_used=4204/16384 free_min=12180 (74%)
[RX] 2026-11-07T21:15:53.663+08:00 [2026-11-07 21:15:52] [STACK] timesync peak_used=476/2560 free_min=2084 (81%)
[RX] 2026-11-07T21:15:53.674+08:00 [2026-11-07 21:15:52] [STACK] adc peak_used=1000/2560 free_min=1560 (60%)
[RX] 2026-11-07T21:15:53.674+08:00 [2026-11-07 21:15:53] [STACK] iec104 peak_used=544/2560 free_min=2016 (78%)
[RX] 2026-11-07T21:15:53.684+08:00 [2026-11-07 21:15:53] [STACK] protect peak_used=624/2048 free_min=1424 (69%)
[RX] 2026-11-07T21:15:53.695+08:00 [2026-11-07 21:15:53] [STACK] heap free=15624 min_ever=8464
[RX] 2026-11-07T21:15:55.573+08:00 [2026-11-07 21:15:54] [WAVE][WARN] seg held 58 ms (idx=46)
[RX] 2026-11-07T21:15:57.611+08:00 [2026-11-07 21:15:56] [WAVE][WARN] seg held 57 ms (idx=47)
[RX] 2026-11-07T21:15:59.560+08:00 [2026-11-07 21:15:58] [WAVE][WARN] seg held 58 ms (idx=48)
@@ -0,0 +1,259 @@
{
"mode": "sweep7",
"remote": "/FILL3.BIN",
"t_start": "2026-11-07T21:13:52.246+08:00",
"probes": [
{
"n": 1,
"fe": 1794057253.3715,
"delta": 0.16,
"lad": 0.0,
"anchor": 1794057235.367,
"meas": false,
"start_at": 1794057253.2115,
"dur_ema": 2.35,
"dur_ms": 2384,
"start_epoch": 1794057253.2117734,
"err_lines_new": [],
"dl_rx": 1794057255.593,
"grab": "[RX] 2026-11-07T21:14:17.612+08:00 [2026-11-07 21:14:16] [WAVE][WARN] seg held 64 ms (idx=11)",
"rel": 2.019,
"cls": "LATE",
"anchor_after": 1794057253.3569999
},
{
"n": 2,
"fe": 1794057261.359,
"delta": 0.1286,
"lad": -0.045,
"anchor": 1794057253.3569999,
"meas": true,
"start_at": 1794057261.2304,
"dur_ema": 2.364,
"dur_ms": 2383,
"start_epoch": 1794057261.2308095,
"err_lines_new": [],
"dl_rx": 1794057263.61,
"grab": "[RX] 2026-11-07T21:14:25.617+08:00 [2026-11-07 21:14:24] [WAVE][WARN] seg held 63 ms (idx=13)",
"rel": 2.007,
"cls": "LATE",
"anchor_after": 1794057261.3630002
},
{
"n": 3,
"fe": 1794057269.3650002,
"delta": 0.2264,
"lad": 0.045,
"anchor": 1794057261.3630002,
"meas": true,
"start_at": 1794057269.1386402,
"dur_ema": 2.371,
"dur_ms": 2269,
"start_epoch": 1794057269.1391664,
"err_lines_new": [],
"dl_rx": 1794057271.41,
"grab": "[RX] 2026-11-07T21:14:31.368+08:00 [2026-11-07 21:14:30] [WAVE][WARN] seg held 63 ms (idx=15)",
"rel": -0.042,
"cls": "E",
"anchor_after": 1794057261.3630002
},
{
"n": 4,
"fe": 1794057277.367,
"delta": 0.0504,
"lad": -0.09,
"anchor": 1794057261.3630002,
"meas": true,
"start_at": 1794057277.316584,
"dur_ema": 2.33,
"dur_ms": 2325,
"start_epoch": 1794057277.3168,
"err_lines_new": [],
"dl_rx": 1794057279.641,
"grab": "[RX] 2026-11-07T21:14:41.573+08:00 [2026-11-07 21:14:40] [WAVE][WARN] seg held 64 ms (idx=18)",
"rel": 1.932,
"cls": "LATE",
"anchor_after": 1794057277.3179998
},
{
"n": 5,
"fe": 1794057285.32,
"delta": 0.2282,
"lad": 0.09,
"anchor": 1794057277.3179998,
"meas": true,
"start_at": 1794057285.0917504,
"dur_ema": 2.328,
"dur_ms": 2366,
"start_epoch": 1794057285.092287,
"err_lines_new": [],
"dl_rx": 1794057287.461,
"grab": "[RX] 2026-11-07T21:14:47.420+08:00 [2026-11-07 21:14:46] [WAVE][WARN] seg held 62 ms (idx=20)",
"rel": -0.041,
"cls": "E",
"anchor_after": 1794057277.3179998
},
{
"n": 6,
"fe": 1794057293.3219998,
"delta": 0.1733,
"lad": 0.02,
"anchor": 1794057277.3179998,
"meas": true,
"start_at": 1794057293.14865,
"dur_ema": 2.343,
"dur_ms": 2246,
"start_epoch": 1794057293.1490636,
"err_lines_new": [],
"dl_rx": 1794057295.401,
"grab": "[RX] 2026-11-07T21:14:55.380+08:00 [2026-11-07 21:14:54] [WAVE][WARN] seg held 62 ms (idx=23)",
"rel": -0.021,
"cls": "E",
"anchor_after": 1794057277.3179998
},
{
"n": 7,
"fe": 1794057301.324,
"delta": 0.0944,
"lad": -0.02,
"anchor": 1794057277.3179998,
"meas": true,
"start_at": 1794057301.22959,
"dur_ema": 2.304,
"dur_ms": 2545,
"start_epoch": 1794057301.2299962,
"err_lines_new": [],
"dl_rx": 1794057303.773,
"grab": "[RX] 2026-11-07T21:15:05.585+08:00 [2026-11-07 21:15:04] [WAVE][WARN] seg held 69 ms (idx=26)",
"rel": 1.812,
"cls": "LATE",
"anchor_after": 1794057301.325
},
{
"n": 8,
"fe": 1794057309.3270001,
"delta": 0.2106,
"lad": 0.0,
"anchor": 1794057301.325,
"meas": true,
"start_at": 1794057309.1163542,
"dur_ema": 2.401,
"dur_ms": 2462,
"start_epoch": 1794057309.116947,
"err_lines_new": [],
"dl_rx": 1794057311.575,
"grab": "[RX] 2026-11-07T21:15:11.472+08:00 [2026-11-07 21:15:10] [WAVE][WARN] seg held 62 ms (idx=28)",
"rel": -0.103,
"cls": "E",
"anchor_after": 1794057301.325
},
{
"n": 9,
"fe": 1794057317.329,
"delta": 0.1902,
"lad": -0.045,
"anchor": 1794057301.325,
"meas": true,
"start_at": 1794057317.1388125,
"dur_ema": 2.425,
"dur_ms": 2453,
"start_epoch": 1794057317.1393352,
"err_lines_new": [],
"dl_rx": 1794057319.594,
"grab": "[RX] 2026-11-07T21:15:19.470+08:00 [2026-11-07 21:15:18] [WAVE][WARN] seg held 64 ms (idx=31)",
"rel": -0.124,
"cls": "E",
"anchor_after": 1794057301.325
},
{
"n": 10,
"fe": 1794057325.331,
"delta": 0.2913,
"lad": 0.045,
"anchor": 1794057301.325,
"meas": true,
"start_at": 1794057325.0396876,
"dur_ema": 2.436,
"dur_ms": 2389,
"start_epoch": 1794057325.039925,
"err_lines_new": [],
"dl_rx": 1794057327.433,
"grab": "[RX] 2026-11-07T21:15:27.392+08:00 [2026-11-07 21:15:26] [WAVE][WARN] seg held 61 ms (idx=34)",
"rel": -0.041,
"cls": "E",
"anchor_after": 1794057301.325
},
{
"n": 11,
"fe": 1794057333.333,
"delta": 0.1374,
"lad": -0.09,
"anchor": 1794057301.325,
"meas": true,
"start_at": 1794057333.1956124,
"dur_ema": 2.417,
"dur_ms": 2388,
"start_epoch": 1794057333.195739,
"err_lines_new": [
"[RX] 2026-11-07T21:15:35.576+08:00 [2026-11-07 21:15:34][ERR] [WAVE] seg drop: ring abandoned (idx=36 written=5250)"
],
"dl_rx": 1794057335.587,
"grab": "[RX] 2026-11-07T21:15:35.576+08:00 [2026-11-07 21:15:34] [WAVE][WARN] seg held 124 ms (idx=36)",
"rel": -0.011,
"cls": "HIT",
"anchor_after": 1794057301.325
}
],
"hits": [
"[RX] 2026-11-07T21:15:35.576+08:00 [2026-11-07 21:15:34][ERR] [WAVE] seg drop: ring abandoned (idx=36 written=5250)"
],
"windows": [],
"resets": [],
"bootstrap_reset": {
"rc": 0,
"out": "ware reset\nDevice ID: 0x413 \nDevice flash Size: 1024 Kbytes\nDevice family: STM32F405xx/F407xx/F415xx/F417xx\n\nMCU Reset.\n\nrun application to exit\nApplication started.\nRC: 0 elapsed_ms=233\nSTLINK_RC=0\n",
"err": "",
"ts": "2026-11-07T21:13:52.527+08:00"
},
"anchor0": 1794057235.367,
"hit_slot": "/WAVE/WAVE36.BIN",
"P1": {
"slot": {
"path": "/WAVE/WAVE36.BIN",
"size": 5250,
"ts": "2026-11-07T21:15:38.934+08:00"
},
"ctrl": {
"path": "/WAVE/WAVE00.BIN",
"size": 126000,
"ts": "2026-11-07T21:15:39.486+08:00"
}
},
"P2": {
"slot": {
"path": "/WAVE/WAVE36.BIN",
"size": 5250,
"ts": "2026-11-07T21:15:41.848+08:00"
}
},
"P3": {
"slot": {
"path": "/WAVE/WAVE36.BIN",
"size": 5250,
"ts": "2026-11-07T21:15:50.920+08:00"
},
"sha": {
"path": "/WAVE/WAVE36.BIN",
"bytes": 5250,
"sha256": "b12e130e80fb4d8b5f47498af153294dc54856ed961056dd9851ceec2a0a11ca",
"ts": "2026-11-07T21:15:51.779+08:00"
},
"hb_after": "[RX] 2026-11-07T21:15:43.082+08:00 [2026-11-07 21:15:42][ADC_TASK] wave: seg=39 armed=0 src=T pts=320 err=5 ovf=11 drop=196424"
},
"dir_after": {
"ts": "2026-11-07T21:15:52.316+08:00",
"list": "226 Closing data connection.",
"root": "226 Closing data connection."
},
"t_end": "2026-11-07T21:15:52.779+08:00"
}
@@ -0,0 +1,17 @@
{"n": 1, "fe": 1794056986.4975, "delta": 0.23, "lad": 0.0, "anchor": 1794056968.493, "meas": false, "start_at": 1794056986.2675, "dur_ema": 2.35, "dur_ms": 2324, "start_epoch": 1794056986.268142, "err_lines_new": [], "dl_rx": 1794056988.594, "grab": "[RX] 2026-11-07T21:09:48.583+08:00 [2026-11-07 21:09:47] [WAVE][WARN] seg held 63 ms (idx=11)", "rel": -0.011, "cls": "E", "anchor_after": 1794056988.33}
{"n": 2, "fe": 1794056994.3314998, "delta": 0.1746, "lad": -0.045, "anchor": 1794056988.33, "meas": true, "start_at": 1794056994.1569, "dur_ema": 2.34, "dur_ms": 2339, "start_epoch": 1794056994.157187, "err_lines_new": [], "dl_rx": 1794056996.498, "grab": "[RX] 2026-11-07T21:09:56.425+08:00 [2026-11-07 21:09:55] [WAVE][WARN] seg held 61 ms (idx=14)", "rel": -0.073, "cls": "E", "anchor_after": 1794056996.174}
{"n": 3, "fe": 1794057002.1755, "delta": 0.2644, "lad": 0.045, "anchor": 1794056996.174, "meas": true, "start_at": 1794057001.91114, "dur_ema": 2.339, "dur_ms": 2237, "start_epoch": 1794057001.9116395, "err_lines_new": [], "dl_rx": 1794057004.154, "grab": "[RX] 2026-11-07T21:10:04.133+08:00 [2026-11-07 21:10:03] [WAVE][WARN] seg held 63 ms (idx=17)", "rel": -0.021, "cls": "E", "anchor_after": 1794057003.8799999}
{"n": 4, "fe": 1794057009.8814998, "delta": 0.2684, "lad": 0.09, "anchor": 1794057003.8799999, "meas": true, "start_at": 1794057009.6130838, "dur_ema": 2.298, "dur_ms": 2382, "start_epoch": 1794057009.6133535, "err_lines_new": [], "dl_rx": 1794057011.995, "grab": "[RX] 2026-11-07T21:10:11.964+08:00 [2026-11-07 21:10:11] [WAVE][WARN] seg held 59 ms (idx=20)", "rel": -0.031, "cls": "E", "anchor_after": 1794057011.715}
{"n": 5, "fe": 1794057017.7164998, "delta": 0.1218, "lad": -0.09, "anchor": 1794057011.715, "meas": true, "start_at": 1794057017.5946503, "dur_ema": 2.332, "dur_ms": 2302, "start_epoch": 1794057017.595509, "err_lines_new": [], "dl_rx": 1794057019.896, "grab": "[RX] 2026-11-07T21:10:19.854+08:00 [2026-11-07 21:10:19] [WAVE][WARN] seg held 62 ms (idx=23)", "rel": -0.042, "cls": "E", "anchor_after": 1794057019.602}
{"n": 6, "fe": 1794057025.6035, "delta": 0.3349, "lad": 0.135, "anchor": 1794057019.602, "meas": true, "start_at": 1794057025.2685902, "dur_ema": 2.32, "dur_ms": 2428, "start_epoch": 1794057025.2690685, "err_lines_new": [], "dl_rx": 1794057027.7, "grab": "[RX] 2026-11-07T21:10:27.668+08:00 [2026-11-07 21:10:26] [WAVE][WARN] seg held 61 ms (idx=27)", "rel": -0.032, "cls": "E", "anchor_after": 1794057027.417}
{"n": 7, "fe": 1794057033.4185, "delta": 0.1081, "lad": -0.135, "anchor": 1794057027.417, "meas": true, "start_at": 1794057033.310354, "dur_ema": 2.363, "dur_ms": 2389, "start_epoch": 1794057033.3105276, "err_lines_new": [], "dl_rx": 1794057035.695, "grab": "[RX] 2026-11-07T21:10:35.582+08:00 [2026-11-07 21:10:34] [WAVE][WARN] seg held 59 ms (idx=31)", "rel": -0.113, "cls": "E", "anchor_after": 1794057035.333}
{"n": 8, "fe": 1794057041.3344998, "delta": 0.2535, "lad": 0.0, "anchor": 1794057035.333, "meas": true, "start_at": 1794057041.0810122, "dur_ema": 2.373, "dur_ms": 2304, "start_epoch": 1794057041.0815556, "err_lines_new": [], "dl_rx": 1794057043.393, "grab": "[RX] 2026-11-07T21:10:43.372+08:00 [2026-11-07 21:10:42] [WAVE][WARN] seg held 59 ms (idx=35)", "rel": -0.021, "cls": "E", "anchor_after": 1794057043.123}
{"n": 9, "fe": 1794057049.1244998, "delta": 0.1807, "lad": -0.045, "anchor": 1794057043.123, "meas": true, "start_at": 1794057048.9438074, "dur_ema": 2.346, "dur_ms": 2355, "start_epoch": 1794057048.9439747, "err_lines_new": [], "dl_rx": 1794057051.301, "grab": "[RX] 2026-11-07T21:10:51.239+08:00 [2026-11-07 21:10:50] [WAVE][WARN] seg held 57 ms (idx=39)", "rel": -0.062, "cls": "E", "anchor_after": 1794057050.992}
{"n": 10, "fe": 1794057056.9935, "delta": 0.2744, "lad": 0.045, "anchor": 1794057050.992, "meas": true, "start_at": 1794057056.7190845, "dur_ema": 2.349, "dur_ms": 2271, "start_epoch": 1794057056.7191944, "err_lines_new": [], "dl_rx": 1794057058.995, "grab": "[RX] 2026-11-07T21:10:58.985+08:00 [2026-11-07 21:10:58] [WAVE][WARN] seg held 60 ms (idx=43)", "rel": -0.01, "cls": "E", "anchor_after": 1794057058.735}
{"n": 11, "fe": 1794057064.7364998, "delta": 0.288, "lad": 0.09, "anchor": 1794057058.735, "meas": true, "start_at": 1794057064.4484506, "dur_ema": 2.318, "dur_ms": 2452, "start_epoch": 1794057064.4488025, "err_lines_new": [], "dl_rx": 1794057066.901, "grab": "[RX] 2026-11-07T21:11:08.682+08:00 [2026-11-07 21:11:07] [WAVE][WARN] seg held 59 ms (idx=46)", "rel": 1.781, "cls": "LATE", "anchor_after": 1794057064.432}
{"n": 12, "fe": 1794057072.434, "delta": 0.1616, "lad": -0.09, "anchor": 1794057064.432, "meas": true, "start_at": 1794057072.2723703, "dur_ema": 2.372, "dur_ms": 2311, "start_epoch": 1794057072.2729049, "err_lines_new": [], "dl_rx": 1794057074.588, "grab": "[RX] 2026-11-07T21:11:14.537+08:00 [2026-11-07 21:11:13] [WAVE][WARN] seg held 54 ms (idx=48)", "rel": -0.051, "cls": "E", "anchor_after": 1794057074.293}
{"n": 13, "fe": 1794057080.2944999, "delta": 0.3624, "lad": 0.135, "anchor": 1794057074.293, "meas": true, "start_at": 1794057079.9321222, "dur_ema": 2.347, "dur_ms": 2368, "start_epoch": 1794057079.9323525, "err_lines_new": [], "dl_rx": 1794057082.306, "grab": "[RX] 2026-11-07T21:11:22.254+08:00 [2026-11-07 21:11:21] [WAVE][WARN] seg held 54 ms (idx=51)", "rel": -0.052, "cls": "E", "anchor_after": 1794057082.01}
{"n": 14, "fe": 1794057088.0115, "delta": 0.1006, "lad": -0.135, "anchor": 1794057082.01, "meas": true, "start_at": 1794057087.9108732, "dur_ema": 2.356, "dur_ms": 2257, "start_epoch": 1794057087.9113526, "err_lines_new": [], "dl_rx": 1794057090.172, "grab": "[RX] 2026-11-07T21:11:30.161+08:00 [2026-11-07 21:11:29] [WAVE][WARN] seg held 58 ms (idx=54)", "rel": -0.011, "cls": "E", "anchor_after": 1794057089.913}
{"n": 15, "fe": 1794057095.9145, "delta": 0.1962, "lad": 0.0, "anchor": 1794057089.913, "meas": true, "start_at": 1794057095.718324, "dur_ema": 2.316, "dur_ms": 2591, "start_epoch": 1794057095.7185712, "err_lines_new": [], "dl_rx": 1794057098.318, "grab": "[RX] 2026-11-07T21:11:38.193+08:00 [2026-11-07 21:11:37] [WAVE][WARN] seg held 57 ms (idx=57)", "rel": -0.125, "cls": "E", "anchor_after": 1794057097.946}
{"n": 16, "fe": 1794057103.9475, "delta": 0.2611, "lad": -0.045, "anchor": 1794057097.946, "meas": true, "start_at": 1794057103.6863945, "dur_ema": 2.426, "dur_ms": 2414, "start_epoch": 1794057103.6871831, "err_lines_new": [], "dl_rx": 1794057106.107, "grab": "[RX] 2026-11-07T21:11:46.014+08:00 [2026-11-07 21:11:45] [WAVE][WARN] seg held 54 ms (idx=60)", "rel": -0.093, "cls": "E", "anchor_after": 1794057105.77}
{"n": 17, "fe": 1794057111.7714999, "delta": 0.3463, "lad": 0.045, "anchor": 1794057105.77, "meas": true, "start_at": 1794057111.4252365, "dur_ema": 2.421, "dur_ms": 2349, "start_epoch": 1794057111.4257514, "err_lines_new": [], "dl_rx": 1794057113.772, "grab": "[RX] 2026-11-07T21:11:53.741+08:00 [2026-11-07 21:11:52] [WAVE][WARN] seg held 57 ms (idx=63)", "rel": -0.031, "cls": "E", "anchor_after": 1794057113.494}
@@ -0,0 +1,11 @@
{"n": 1, "fe": 1794057253.3715, "delta": 0.16, "lad": 0.0, "anchor": 1794057235.367, "meas": false, "start_at": 1794057253.2115, "dur_ema": 2.35, "dur_ms": 2384, "start_epoch": 1794057253.2117734, "err_lines_new": [], "dl_rx": 1794057255.593, "grab": "[RX] 2026-11-07T21:14:17.612+08:00 [2026-11-07 21:14:16] [WAVE][WARN] seg held 64 ms (idx=11)", "rel": 2.019, "cls": "LATE", "anchor_after": 1794057253.3569999}
{"n": 2, "fe": 1794057261.359, "delta": 0.1286, "lad": -0.045, "anchor": 1794057253.3569999, "meas": true, "start_at": 1794057261.2304, "dur_ema": 2.364, "dur_ms": 2383, "start_epoch": 1794057261.2308095, "err_lines_new": [], "dl_rx": 1794057263.61, "grab": "[RX] 2026-11-07T21:14:25.617+08:00 [2026-11-07 21:14:24] [WAVE][WARN] seg held 63 ms (idx=13)", "rel": 2.007, "cls": "LATE", "anchor_after": 1794057261.3630002}
{"n": 3, "fe": 1794057269.3650002, "delta": 0.2264, "lad": 0.045, "anchor": 1794057261.3630002, "meas": true, "start_at": 1794057269.1386402, "dur_ema": 2.371, "dur_ms": 2269, "start_epoch": 1794057269.1391664, "err_lines_new": [], "dl_rx": 1794057271.41, "grab": "[RX] 2026-11-07T21:14:31.368+08:00 [2026-11-07 21:14:30] [WAVE][WARN] seg held 63 ms (idx=15)", "rel": -0.042, "cls": "E", "anchor_after": 1794057261.3630002}
{"n": 4, "fe": 1794057277.367, "delta": 0.0504, "lad": -0.09, "anchor": 1794057261.3630002, "meas": true, "start_at": 1794057277.316584, "dur_ema": 2.33, "dur_ms": 2325, "start_epoch": 1794057277.3168, "err_lines_new": [], "dl_rx": 1794057279.641, "grab": "[RX] 2026-11-07T21:14:41.573+08:00 [2026-11-07 21:14:40] [WAVE][WARN] seg held 64 ms (idx=18)", "rel": 1.932, "cls": "LATE", "anchor_after": 1794057277.3179998}
{"n": 5, "fe": 1794057285.32, "delta": 0.2282, "lad": 0.09, "anchor": 1794057277.3179998, "meas": true, "start_at": 1794057285.0917504, "dur_ema": 2.328, "dur_ms": 2366, "start_epoch": 1794057285.092287, "err_lines_new": [], "dl_rx": 1794057287.461, "grab": "[RX] 2026-11-07T21:14:47.420+08:00 [2026-11-07 21:14:46] [WAVE][WARN] seg held 62 ms (idx=20)", "rel": -0.041, "cls": "E", "anchor_after": 1794057277.3179998}
{"n": 6, "fe": 1794057293.3219998, "delta": 0.1733, "lad": 0.02, "anchor": 1794057277.3179998, "meas": true, "start_at": 1794057293.14865, "dur_ema": 2.343, "dur_ms": 2246, "start_epoch": 1794057293.1490636, "err_lines_new": [], "dl_rx": 1794057295.401, "grab": "[RX] 2026-11-07T21:14:55.380+08:00 [2026-11-07 21:14:54] [WAVE][WARN] seg held 62 ms (idx=23)", "rel": -0.021, "cls": "E", "anchor_after": 1794057277.3179998}
{"n": 7, "fe": 1794057301.324, "delta": 0.0944, "lad": -0.02, "anchor": 1794057277.3179998, "meas": true, "start_at": 1794057301.22959, "dur_ema": 2.304, "dur_ms": 2545, "start_epoch": 1794057301.2299962, "err_lines_new": [], "dl_rx": 1794057303.773, "grab": "[RX] 2026-11-07T21:15:05.585+08:00 [2026-11-07 21:15:04] [WAVE][WARN] seg held 69 ms (idx=26)", "rel": 1.812, "cls": "LATE", "anchor_after": 1794057301.325}
{"n": 8, "fe": 1794057309.3270001, "delta": 0.2106, "lad": 0.0, "anchor": 1794057301.325, "meas": true, "start_at": 1794057309.1163542, "dur_ema": 2.401, "dur_ms": 2462, "start_epoch": 1794057309.116947, "err_lines_new": [], "dl_rx": 1794057311.575, "grab": "[RX] 2026-11-07T21:15:11.472+08:00 [2026-11-07 21:15:10] [WAVE][WARN] seg held 62 ms (idx=28)", "rel": -0.103, "cls": "E", "anchor_after": 1794057301.325}
{"n": 9, "fe": 1794057317.329, "delta": 0.1902, "lad": -0.045, "anchor": 1794057301.325, "meas": true, "start_at": 1794057317.1388125, "dur_ema": 2.425, "dur_ms": 2453, "start_epoch": 1794057317.1393352, "err_lines_new": [], "dl_rx": 1794057319.594, "grab": "[RX] 2026-11-07T21:15:19.470+08:00 [2026-11-07 21:15:18] [WAVE][WARN] seg held 64 ms (idx=31)", "rel": -0.124, "cls": "E", "anchor_after": 1794057301.325}
{"n": 10, "fe": 1794057325.331, "delta": 0.2913, "lad": 0.045, "anchor": 1794057301.325, "meas": true, "start_at": 1794057325.0396876, "dur_ema": 2.436, "dur_ms": 2389, "start_epoch": 1794057325.039925, "err_lines_new": [], "dl_rx": 1794057327.433, "grab": "[RX] 2026-11-07T21:15:27.392+08:00 [2026-11-07 21:15:26] [WAVE][WARN] seg held 61 ms (idx=34)", "rel": -0.041, "cls": "E", "anchor_after": 1794057301.325}
{"n": 11, "fe": 1794057333.333, "delta": 0.1374, "lad": -0.09, "anchor": 1794057301.325, "meas": true, "start_at": 1794057333.1956124, "dur_ema": 2.417, "dur_ms": 2388, "start_epoch": 1794057333.195739, "err_lines_new": ["[RX] 2026-11-07T21:15:35.576+08:00 [2026-11-07 21:15:34][ERR] [WAVE] seg drop: ring abandoned (idx=36 written=5250)"], "dl_rx": 1794057335.587, "grab": "[RX] 2026-11-07T21:15:35.576+08:00 [2026-11-07 21:15:34] [WAVE][WARN] seg held 124 ms (idx=36)", "rel": -0.011, "cls": "HIT", "anchor_after": 1794057301.325}
@@ -0,0 +1,770 @@
{
"mode": "sweep2",
"remote": "/FILL2.BIN",
"t_start": "2026-11-07T19:28:54.668+08:00",
"rounds": [
{
"start": "2026-11-07T19:29:15.824+08:00",
"start_epoch": 1794050955.8246725,
"end": "2026-11-07T19:29:17.440+08:00",
"dur_ms": 1616,
"round": 1,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:15.503+08:00 [2026-11-07 19:29:14][ADC_TASK] wave: seg=10 armed=0 src=T pts=320 err=0 ovf=0 drop=8016",
"held": [
"[RX] 2026-11-07T19:29:05.982+08:00 [2026-11-07 19:29:04] [WAVE][WARN] seg held 52 ms (idx=6)",
"[RX] 2026-11-07T19:29:09.986+08:00 [2026-11-07 19:29:08] [WAVE][WARN] seg held 52 ms (idx=8)"
]
},
{
"start": "2026-11-07T19:29:20.388+08:00",
"start_epoch": 1794050960.3885086,
"end": "2026-11-07T19:29:21.979+08:00",
"dur_ms": 1591,
"round": 2,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:15.503+08:00 [2026-11-07 19:29:14][ADC_TASK] wave: seg=10 armed=0 src=T pts=320 err=0 ovf=0 drop=8016",
"held": [
"[RX] 2026-11-07T19:29:05.982+08:00 [2026-11-07 19:29:04] [WAVE][WARN] seg held 52 ms (idx=6)",
"[RX] 2026-11-07T19:29:09.986+08:00 [2026-11-07 19:29:08] [WAVE][WARN] seg held 52 ms (idx=8)"
]
},
{
"start": "2026-11-07T19:29:25.411+08:00",
"start_epoch": 1794050965.4118137,
"end": "2026-11-07T19:29:26.993+08:00",
"dur_ms": 1581,
"round": 3,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:25.502+08:00 [2026-11-07 19:29:24][ADC_TASK] wave: seg=15 armed=0 src=T pts=320 err=0 ovf=0 drop=10480",
"held": [
"[RX] 2026-11-07T19:29:09.986+08:00 [2026-11-07 19:29:08] [WAVE][WARN] seg held 52 ms (idx=8)",
"[RX] 2026-11-07T19:29:27.961+08:00 [2026-11-07 19:29:26] [WAVE][WARN] seg held 51 ms (idx=17)"
]
},
{
"start": "2026-11-07T19:29:30.137+08:00",
"start_epoch": 1794050970.1374831,
"end": "2026-11-07T19:29:31.763+08:00",
"dur_ms": 1627,
"round": 4,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:25.502+08:00 [2026-11-07 19:29:24][ADC_TASK] wave: seg=15 armed=0 src=T pts=320 err=0 ovf=0 drop=10480",
"held": [
"[RX] 2026-11-07T19:29:27.961+08:00 [2026-11-07 19:29:26] [WAVE][WARN] seg held 51 ms (idx=17)",
"[RX] 2026-11-07T19:29:32.024+08:00 [2026-11-07 19:29:30] [WAVE][WARN] seg held 99 ms (idx=19)"
]
},
{
"start": "2026-11-07T19:29:34.012+08:00",
"start_epoch": 1794050974.0120728,
"end": "2026-11-07T19:29:35.564+08:00",
"dur_ms": 1553,
"round": 5,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:35.503+08:00 [2026-11-07 19:29:34][ADC_TASK] wave: seg=20 armed=0 src=T pts=320 err=0 ovf=0 drop=21800",
"held": [
"[RX] 2026-11-07T19:29:27.961+08:00 [2026-11-07 19:29:26] [WAVE][WARN] seg held 51 ms (idx=17)",
"[RX] 2026-11-07T19:29:32.024+08:00 [2026-11-07 19:29:30] [WAVE][WARN] seg held 99 ms (idx=19)"
]
},
{
"start": "2026-11-07T19:29:38.711+08:00",
"start_epoch": 1794050978.7110798,
"end": "2026-11-07T19:29:40.210+08:00",
"dur_ms": 1499,
"round": 6,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:35.503+08:00 [2026-11-07 19:29:34][ADC_TASK] wave: seg=20 armed=0 src=T pts=320 err=0 ovf=0 drop=21800",
"held": [
"[RX] 2026-11-07T19:29:27.961+08:00 [2026-11-07 19:29:26] [WAVE][WARN] seg held 51 ms (idx=17)",
"[RX] 2026-11-07T19:29:32.024+08:00 [2026-11-07 19:29:30] [WAVE][WARN] seg held 99 ms (idx=19)"
]
},
{
"start": "2026-11-07T19:29:43.054+08:00",
"start_epoch": 1794050983.0540175,
"end": "2026-11-07T19:29:44.595+08:00",
"dur_ms": 1541,
"round": 7,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:45.617+08:00 [2026-11-07 19:29:44][ADC_TASK] wave: seg=25 armed=0 src=T pts=320 err=0 ovf=0 drop=31320",
"held": [
"[RX] 2026-11-07T19:29:27.961+08:00 [2026-11-07 19:29:26] [WAVE][WARN] seg held 51 ms (idx=17)",
"[RX] 2026-11-07T19:29:32.024+08:00 [2026-11-07 19:29:30] [WAVE][WARN] seg held 99 ms (idx=19)"
]
},
{
"start": "2026-11-07T19:29:46.945+08:00",
"start_epoch": 1794050986.945817,
"end": "2026-11-07T19:29:48.445+08:00",
"dur_ms": 1499,
"round": 8,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:45.617+08:00 [2026-11-07 19:29:44][ADC_TASK] wave: seg=25 armed=0 src=T pts=320 err=0 ovf=0 drop=31320",
"held": [
"[RX] 2026-11-07T19:29:27.961+08:00 [2026-11-07 19:29:26] [WAVE][WARN] seg held 51 ms (idx=17)",
"[RX] 2026-11-07T19:29:32.024+08:00 [2026-11-07 19:29:30] [WAVE][WARN] seg held 99 ms (idx=19)"
]
},
{
"start": "2026-11-07T19:29:50.486+08:00",
"start_epoch": 1794050990.4860992,
"end": "2026-11-07T19:29:52.015+08:00",
"dur_ms": 1529,
"round": 9,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:45.617+08:00 [2026-11-07 19:29:44][ADC_TASK] wave: seg=25 armed=0 src=T pts=320 err=0 ovf=0 drop=31320",
"held": [
"[RX] 2026-11-07T19:29:32.024+08:00 [2026-11-07 19:29:30] [WAVE][WARN] seg held 99 ms (idx=19)",
"[RX] 2026-11-07T19:29:52.000+08:00 [2026-11-07 19:29:50] [WAVE][WARN] seg held 51 ms (idx=29)"
]
},
{
"start": "2026-11-07T19:29:55.061+08:00",
"start_epoch": 1794050995.0619583,
"end": "2026-11-07T19:29:56.660+08:00",
"dur_ms": 1599,
"round": 10,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:55.508+08:00 [2026-11-07 19:29:54][ADC_TASK] wave: seg=30 armed=0 src=T pts=320 err=0 ovf=0 drop=38144",
"held": [
"[RX] 2026-11-07T19:29:32.024+08:00 [2026-11-07 19:29:30] [WAVE][WARN] seg held 99 ms (idx=19)",
"[RX] 2026-11-07T19:29:52.000+08:00 [2026-11-07 19:29:50] [WAVE][WARN] seg held 51 ms (idx=29)"
]
},
{
"start": "2026-11-07T19:29:59.917+08:00",
"start_epoch": 1794050999.9178953,
"end": "2026-11-07T19:30:01.565+08:00",
"dur_ms": 1648,
"round": 11,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:29:55.508+08:00 [2026-11-07 19:29:54][ADC_TASK] wave: seg=30 armed=0 src=T pts=320 err=0 ovf=0 drop=38144",
"held": [
"[RX] 2026-11-07T19:29:59.975+08:00 [2026-11-07 19:29:58] [WAVE][WARN] seg held 52 ms (idx=33)",
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)"
]
},
{
"start": "2026-11-07T19:30:03.406+08:00",
"start_epoch": 1794051003.4064732,
"end": "2026-11-07T19:30:04.965+08:00",
"dur_ms": 1559,
"round": 12,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:05.504+08:00 [2026-11-07 19:30:04][ADC_TASK] wave: seg=35 armed=0 src=T pts=320 err=0 ovf=0 drop=54168",
"held": [
"[RX] 2026-11-07T19:29:59.975+08:00 [2026-11-07 19:29:58] [WAVE][WARN] seg held 52 ms (idx=33)",
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)"
]
},
{
"start": "2026-11-07T19:30:07.609+08:00",
"start_epoch": 1794051007.6099582,
"end": "2026-11-07T19:30:09.168+08:00",
"dur_ms": 1558,
"round": 13,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:05.504+08:00 [2026-11-07 19:30:04][ADC_TASK] wave: seg=35 armed=0 src=T pts=320 err=0 ovf=0 drop=54168",
"held": [
"[RX] 2026-11-07T19:29:59.975+08:00 [2026-11-07 19:29:58] [WAVE][WARN] seg held 52 ms (idx=33)",
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)"
]
},
{
"start": "2026-11-07T19:30:12.732+08:00",
"start_epoch": 1794051012.7321181,
"end": "2026-11-07T19:30:14.366+08:00",
"dur_ms": 1634,
"round": 14,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:15.504+08:00 [2026-11-07 19:30:14][ADC_TASK] wave: seg=40 armed=0 src=T pts=320 err=0 ovf=0 drop=68528",
"held": [
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)",
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)"
]
},
{
"start": "2026-11-07T19:30:17.116+08:00",
"start_epoch": 1794051017.1160338,
"end": "2026-11-07T19:30:18.598+08:00",
"dur_ms": 1482,
"round": 15,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:15.504+08:00 [2026-11-07 19:30:14][ADC_TASK] wave: seg=40 armed=0 src=T pts=320 err=0 ovf=0 drop=68528",
"held": [
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)",
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)"
]
},
{
"start": "2026-11-07T19:30:20.945+08:00",
"start_epoch": 1794051020.9456198,
"end": "2026-11-07T19:30:22.455+08:00",
"dur_ms": 1510,
"round": 16,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:15.504+08:00 [2026-11-07 19:30:14][ADC_TASK] wave: seg=40 armed=0 src=T pts=320 err=0 ovf=0 drop=68528",
"held": [
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)",
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)"
]
},
{
"start": "2026-11-07T19:30:25.297+08:00",
"start_epoch": 1794051025.297716,
"end": "2026-11-07T19:30:26.965+08:00",
"dur_ms": 1668,
"round": 17,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:25.512+08:00 [2026-11-07 19:30:24][ADC_TASK] wave: seg=45 armed=0 src=T pts=320 err=0 ovf=0 drop=79704",
"held": [
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)",
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)"
]
},
{
"start": "2026-11-07T19:30:29.510+08:00",
"start_epoch": 1794051029.5106008,
"end": "2026-11-07T19:30:31.067+08:00",
"dur_ms": 1557,
"round": 18,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:25.512+08:00 [2026-11-07 19:30:24][ADC_TASK] wave: seg=45 armed=0 src=T pts=320 err=0 ovf=0 drop=79704",
"held": [
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)",
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)"
]
},
{
"start": "2026-11-07T19:30:32.913+08:00",
"start_epoch": 1794051032.9134269,
"end": "2026-11-07T19:30:34.472+08:00",
"dur_ms": 1559,
"round": 19,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:35.502+08:00 [2026-11-07 19:30:34][ADC_TASK] wave: seg=50 armed=0 src=T pts=320 err=0 ovf=0 drop=102496",
"held": [
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)",
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)"
]
},
{
"start": "2026-11-07T19:30:37.116+08:00",
"start_epoch": 1794051037.1162913,
"end": "2026-11-07T19:30:38.766+08:00",
"dur_ms": 1651,
"round": 20,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:35.502+08:00 [2026-11-07 19:30:34][ADC_TASK] wave: seg=50 armed=0 src=T pts=320 err=0 ovf=0 drop=102496",
"held": [
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)",
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)"
]
},
{
"start": "2026-11-07T19:30:41.939+08:00",
"start_epoch": 1794051041.9395332,
"end": "2026-11-07T19:30:43.567+08:00",
"dur_ms": 1628,
"round": 21,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:35.502+08:00 [2026-11-07 19:30:34][ADC_TASK] wave: seg=50 armed=0 src=T pts=320 err=0 ovf=0 drop=102496",
"held": [
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)",
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)"
]
},
{
"start": "2026-11-07T19:30:45.614+08:00",
"start_epoch": 1794051045.6142116,
"end": "2026-11-07T19:30:47.173+08:00",
"dur_ms": 1559,
"round": 22,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:45.500+08:00 [2026-11-07 19:30:44][ADC_TASK] wave: seg=55 armed=0 src=T pts=320 err=0 ovf=0 drop=111056",
"held": [
"[RX] 2026-11-07T19:30:01.985+08:00 [2026-11-07 19:30:00] [WAVE][WARN] seg held 52 ms (idx=34)",
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)"
]
},
{
"start": "2026-11-07T19:30:50.223+08:00",
"start_epoch": 1794051050.2224383,
"end": "2026-11-07T19:30:51.809+08:00",
"dur_ms": 1587,
"round": 23,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:45.500+08:00 [2026-11-07 19:30:44][ADC_TASK] wave: seg=55 armed=0 src=T pts=320 err=0 ovf=0 drop=111056",
"held": [
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)",
"[RX] 2026-11-07T19:30:51.987+08:00 [2026-11-07 19:30:50] [WAVE][WARN] seg held 55 ms (idx=59)"
]
},
{
"start": "2026-11-07T19:30:55.154+08:00",
"start_epoch": 1794051055.1541958,
"end": "2026-11-07T19:30:56.772+08:00",
"dur_ms": 1619,
"round": 24,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:55.509+08:00 [2026-11-07 19:30:54][ADC_TASK] wave: seg=60 armed=0 src=T pts=320 err=0 ovf=0 drop=123016",
"held": [
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)",
"[RX] 2026-11-07T19:30:51.987+08:00 [2026-11-07 19:30:50] [WAVE][WARN] seg held 55 ms (idx=59)"
]
},
{
"start": "2026-11-07T19:30:59.114+08:00",
"start_epoch": 1794051059.114208,
"end": "2026-11-07T19:31:00.772+08:00",
"dur_ms": 1658,
"round": 25,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:30:55.509+08:00 [2026-11-07 19:30:54][ADC_TASK] wave: seg=60 armed=0 src=T pts=320 err=0 ovf=0 drop=123016",
"held": [
"[RX] 2026-11-07T19:30:14.239+08:00 [2026-11-07 19:30:13] [WAVE][WARN] seg held 51 ms (idx=40)",
"[RX] 2026-11-07T19:30:51.987+08:00 [2026-11-07 19:30:50] [WAVE][WARN] seg held 55 ms (idx=59)"
]
},
{
"start": "2026-11-07T19:31:03.120+08:00",
"start_epoch": 1794051063.1209435,
"end": "2026-11-07T19:31:04.767+08:00",
"dur_ms": 1647,
"round": 26,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:05.500+08:00 [2026-11-07 19:31:04][ADC_TASK] wave: seg=65 armed=0 src=T pts=320 err=0 ovf=0 drop=143056",
"held": [
"[RX] 2026-11-07T19:30:51.987+08:00 [2026-11-07 19:30:50] [WAVE][WARN] seg held 55 ms (idx=59)",
"[RX] 2026-11-07T19:31:04.680+08:00 [2026-11-07 19:31:03] [WAVE][WARN] seg held 92 ms (idx=65)"
]
},
{
"start": "2026-11-07T19:31:07.821+08:00",
"start_epoch": 1794051067.8214972,
"end": "2026-11-07T19:31:09.410+08:00",
"dur_ms": 1589,
"round": 27,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:05.500+08:00 [2026-11-07 19:31:04][ADC_TASK] wave: seg=65 armed=0 src=T pts=320 err=0 ovf=0 drop=143056",
"held": [
"[RX] 2026-11-07T19:31:07.990+08:00 [2026-11-07 19:31:06] [WAVE][WARN] seg held 76 ms (idx=67)",
"[RX] 2026-11-07T19:31:10.081+08:00 [2026-11-07 19:31:08] [WAVE][WARN] seg held 146 ms (idx=68)"
]
},
{
"start": "2026-11-07T19:31:12.365+08:00",
"start_epoch": 1794051072.3654168,
"end": "2026-11-07T19:31:13.985+08:00",
"dur_ms": 1621,
"round": 28,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:05.500+08:00 [2026-11-07 19:31:04][ADC_TASK] wave: seg=65 armed=0 src=T pts=320 err=0 ovf=0 drop=143056",
"held": [
"[RX] 2026-11-07T19:31:12.047+08:00 [2026-11-07 19:31:10] [WAVE][WARN] seg held 122 ms (idx=69)",
"[RX] 2026-11-07T19:31:14.108+08:00 [2026-11-07 19:31:12] [WAVE][WARN] seg held 127 ms (idx=70)"
]
},
{
"start": "2026-11-07T19:31:16.151+08:00",
"start_epoch": 1794051076.1515968,
"end": "2026-11-07T19:31:17.770+08:00",
"dur_ms": 1619,
"round": 29,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:15.507+08:00 [2026-11-07 19:31:14][ADC_TASK] wave: seg=70 armed=0 src=T pts=320 err=0 ovf=0 drop=148656",
"held": [
"[RX] 2026-11-07T19:31:16.054+08:00 [2026-11-07 19:31:14] [WAVE][WARN] seg held 123 ms (idx=71)",
"[RX] 2026-11-07T19:31:18.290+08:00 [2026-11-07 19:31:17] [WAVE][WARN] seg held 350 ms (idx=72)"
]
},
{
"start": "2026-11-07T19:31:20.429+08:00",
"start_epoch": 1794051080.4295971,
"end": "2026-11-07T19:31:21.987+08:00",
"dur_ms": 1558,
"round": 30,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:15.507+08:00 [2026-11-07 19:31:14][ADC_TASK] wave: seg=70 armed=0 src=T pts=320 err=0 ovf=0 drop=148656",
"held": [
"[RX] 2026-11-07T19:31:20.003+08:00 [2026-11-07 19:31:18] [WAVE][WARN] seg held 94 ms (idx=73)",
"[RX] 2026-11-07T19:31:21.998+08:00 [2026-11-07 19:31:20] [WAVE][WARN] seg held 96 ms (idx=74)"
]
},
{
"start": "2026-11-07T19:31:24.743+08:00",
"start_epoch": 1794051084.7433267,
"end": "2026-11-07T19:31:26.386+08:00",
"dur_ms": 1643,
"round": 31,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:25.505+08:00 [2026-11-07 19:31:24][ADC_TASK] wave: seg=75 armed=0 src=T pts=320 err=0 ovf=0 drop=155648",
"held": [
"[RX] 2026-11-07T19:31:24.033+08:00 [2026-11-07 19:31:22] [WAVE][WARN] seg held 98 ms (idx=75)",
"[RX] 2026-11-07T19:31:26.445+08:00 [2026-11-07 19:31:25] [WAVE][WARN] seg held 152 ms (idx=76)"
]
},
{
"start": "2026-11-07T19:31:27.955+08:00",
"start_epoch": 1794051087.955911,
"end": "2026-11-07T19:31:29.574+08:00",
"dur_ms": 1618,
"round": 32,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:25.505+08:00 [2026-11-07 19:31:24][ADC_TASK] wave: seg=75 armed=0 src=T pts=320 err=0 ovf=0 drop=155648",
"held": [
"[RX] 2026-11-07T19:31:28.091+08:00 [2026-11-07 19:31:26] [WAVE][WARN] seg held 157 ms (idx=77)",
"[RX] 2026-11-07T19:31:30.088+08:00 [2026-11-07 19:31:29] [WAVE][WARN] seg held 189 ms (idx=78)"
]
},
{
"start": "2026-11-07T19:31:32.734+08:00",
"start_epoch": 1794051092.7341805,
"end": "2026-11-07T19:31:34.255+08:00",
"dur_ms": 1522,
"round": 33,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:25.505+08:00 [2026-11-07 19:31:24][ADC_TASK] wave: seg=75 armed=0 src=T pts=320 err=0 ovf=0 drop=155648",
"held": [
"[RX] 2026-11-07T19:31:32.012+08:00 [2026-11-07 19:31:30] [WAVE][WARN] seg held 113 ms (idx=79)",
"[RX] 2026-11-07T19:31:34.250+08:00 [2026-11-07 19:31:33] [WAVE][WARN] seg held 109 ms (idx=80)"
]
},
{
"start": "2026-11-07T19:31:36.404+08:00",
"start_epoch": 1794051096.4041886,
"end": "2026-11-07T19:31:37.987+08:00",
"dur_ms": 1583,
"round": 34,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:35.494+08:00 [2026-11-07 19:31:34][ADC_TASK] wave: seg=80 armed=0 src=T pts=320 err=0 ovf=0 drop=166696",
"held": [
"[RX] 2026-11-07T19:31:36.032+08:00 [2026-11-07 19:31:34] [WAVE][WARN] seg held 102 ms (idx=81)",
"[RX] 2026-11-07T19:31:38.101+08:00 [2026-11-07 19:31:36] [WAVE][WARN] seg held 122 ms (idx=82)"
]
},
{
"start": "2026-11-07T19:31:40.547+08:00",
"start_epoch": 1794051100.5470848,
"end": "2026-11-07T19:31:42.091+08:00",
"dur_ms": 1545,
"round": 35,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:35.494+08:00 [2026-11-07 19:31:34][ADC_TASK] wave: seg=80 armed=0 src=T pts=320 err=0 ovf=0 drop=166696",
"held": [
"[RX] 2026-11-07T19:31:40.066+08:00 [2026-11-07 19:31:38] [WAVE][WARN] seg held 126 ms (idx=83)",
"[RX] 2026-11-07T19:31:42.106+08:00 [2026-11-07 19:31:41] [WAVE][WARN] seg held 87 ms (idx=84)"
]
},
{
"start": "2026-11-07T19:31:45.548+08:00",
"start_epoch": 1794051105.5484278,
"end": "2026-11-07T19:31:47.052+08:00",
"dur_ms": 1504,
"round": 36,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:45.495+08:00 [2026-11-07 19:31:44][ADC_TASK] wave: seg=85 armed=0 src=T pts=320 err=0 ovf=0 drop=173616",
"held": [
"[RX] 2026-11-07T19:31:47.048+08:00 [2026-11-07 19:31:45] [WAVE][WARN] seg held 115 ms (idx=86)",
"[RX] 2026-11-07T19:31:48.029+08:00 [2026-11-07 19:31:46] [WAVE][WARN] seg held 87 ms (idx=87)"
]
},
{
"start": "2026-11-07T19:31:48.796+08:00",
"start_epoch": 1794051108.7965755,
"end": "2026-11-07T19:31:50.369+08:00",
"dur_ms": 1573,
"round": 37,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:45.495+08:00 [2026-11-07 19:31:44][ADC_TASK] wave: seg=85 armed=0 src=T pts=320 err=0 ovf=0 drop=173616",
"held": [
"[RX] 2026-11-07T19:31:48.029+08:00 [2026-11-07 19:31:46] [WAVE][WARN] seg held 87 ms (idx=87)",
"[RX] 2026-11-07T19:31:50.300+08:00 [2026-11-07 19:31:49] [WAVE][WARN] seg held 81 ms (idx=88)"
]
},
{
"start": "2026-11-07T19:31:52.216+08:00",
"start_epoch": 1794051112.2167828,
"end": "2026-11-07T19:31:53.773+08:00",
"dur_ms": 1557,
"round": 38,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:45.495+08:00 [2026-11-07 19:31:44][ADC_TASK] wave: seg=85 armed=0 src=T pts=320 err=0 ovf=0 drop=173616",
"held": [
"[RX] 2026-11-07T19:31:51.971+08:00 [2026-11-07 19:31:50] [WAVE][WARN] seg held 81 ms (idx=89)",
"[RX] 2026-11-07T19:31:53.991+08:00 [2026-11-07 19:31:52] [WAVE][WARN] seg held 92 ms (idx=90)"
]
},
{
"start": "2026-11-07T19:31:57.241+08:00",
"start_epoch": 1794051117.241369,
"end": "2026-11-07T19:31:58.776+08:00",
"dur_ms": 1535,
"round": 39,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:55.501+08:00 [2026-11-07 19:31:54][ADC_TASK] wave: seg=90 armed=0 src=T pts=320 err=0 ovf=0 drop=188664",
"held": [
"[RX] 2026-11-07T19:31:56.029+08:00 [2026-11-07 19:31:54] [WAVE][WARN] seg held 116 ms (idx=91)",
"[RX] 2026-11-07T19:31:58.770+08:00 [2026-11-07 19:31:57] [WAVE][WARN] seg held 103 ms (idx=92)"
]
},
{
"start": "2026-11-07T19:32:00.728+08:00",
"start_epoch": 1794051120.7286644,
"end": "2026-11-07T19:32:02.386+08:00",
"dur_ms": 1657,
"round": 40,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:31:55.501+08:00 [2026-11-07 19:31:54][ADC_TASK] wave: seg=90 armed=0 src=T pts=320 err=0 ovf=0 drop=188664",
"held": [
"[RX] 2026-11-07T19:32:00.020+08:00 [2026-11-07 19:31:58] [WAVE][WARN] seg held 105 ms (idx=93)",
"[RX] 2026-11-07T19:32:02.255+08:00 [2026-11-07 19:32:01] [WAVE][WARN] seg held 86 ms (idx=94)"
]
},
{
"start": "2026-11-07T19:32:04.144+08:00",
"start_epoch": 1794051124.1445668,
"end": "2026-11-07T19:32:05.789+08:00",
"dur_ms": 1645,
"round": 41,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:05.505+08:00 [2026-11-07 19:32:04][ADC_TASK] wave: seg=95 armed=0 src=T pts=320 err=0 ovf=0 drop=201592",
"held": [
"[RX] 2026-11-07T19:32:03.996+08:00 [2026-11-07 19:32:02] [WAVE][WARN] seg held 92 ms (idx=95)",
"[RX] 2026-11-07T19:32:06.169+08:00 [2026-11-07 19:32:05] [WAVE][WARN] seg held 227 ms (idx=96)"
]
},
{
"start": "2026-11-07T19:32:08.138+08:00",
"start_epoch": 1794051128.1382148,
"end": "2026-11-07T19:32:09.618+08:00",
"dur_ms": 1480,
"round": 42,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:05.505+08:00 [2026-11-07 19:32:04][ADC_TASK] wave: seg=95 armed=0 src=T pts=320 err=0 ovf=0 drop=201592",
"held": [
"[RX] 2026-11-07T19:32:08.056+08:00 [2026-11-07 19:32:06] [WAVE][WARN] seg held 128 ms (idx=97)",
"[RX] 2026-11-07T19:32:10.104+08:00 [2026-11-07 19:32:09] [WAVE][WARN] seg held 164 ms (idx=98)"
]
},
{
"start": "2026-11-07T19:32:10.968+08:00",
"start_epoch": 1794051130.9683368,
"end": "2026-11-07T19:32:12.570+08:00",
"dur_ms": 1603,
"round": 43,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:05.505+08:00 [2026-11-07 19:32:04][ADC_TASK] wave: seg=95 armed=0 src=T pts=320 err=0 ovf=0 drop=201592",
"held": [
"[RX] 2026-11-07T19:32:10.104+08:00 [2026-11-07 19:32:09] [WAVE][WARN] seg held 164 ms (idx=98)",
"[RX] 2026-11-07T19:32:12.557+08:00 [2026-11-07 19:32:11] [WAVE][WARN] seg held 122 ms (idx=99)"
]
},
{
"start": "2026-11-07T19:32:15.018+08:00",
"start_epoch": 1794051135.0183134,
"end": "2026-11-07T19:32:16.629+08:00",
"dur_ms": 1611,
"round": 44,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:15.504+08:00 [2026-11-07 19:32:14][ADC_TASK] wave: seg=100 armed=0 src=T pts=320 err=0 ovf=0 drop=212960",
"held": [
"[RX] 2026-11-07T19:32:14.008+08:00 [2026-11-07 19:32:12] [WAVE][WARN] seg held 113 ms (idx=0)",
"[RX] 2026-11-07T19:32:16.613+08:00 [2026-11-07 19:32:15] [WAVE][WARN] seg held 93 ms (idx=1)"
]
},
{
"start": "2026-11-07T19:32:20.000+08:00",
"start_epoch": 1794051140.0007622,
"end": "2026-11-07T19:32:21.624+08:00",
"dur_ms": 1624,
"round": 45,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:15.504+08:00 [2026-11-07 19:32:14][ADC_TASK] wave: seg=100 armed=0 src=T pts=320 err=0 ovf=0 drop=212960",
"held": [
"[RX] 2026-11-07T19:32:20.047+08:00 [2026-11-07 19:32:18] [WAVE][WARN] seg held 95 ms (idx=3)",
"[RX] 2026-11-07T19:32:22.002+08:00 [2026-11-07 19:32:20] [WAVE][WARN] seg held 104 ms (idx=4)"
]
},
{
"start": "2026-11-07T19:32:24.179+08:00",
"start_epoch": 1794051144.1798894,
"end": "2026-11-07T19:32:25.789+08:00",
"dur_ms": 1609,
"round": 46,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:25.501+08:00 [2026-11-07 19:32:24][ADC_TASK] wave: seg=105 armed=0 src=T pts=320 err=0 ovf=0 drop=222672",
"held": [
"[RX] 2026-11-07T19:32:24.030+08:00 [2026-11-07 19:32:22] [WAVE][WARN] seg held 103 ms (idx=5)",
"[RX] 2026-11-07T19:32:26.105+08:00 [2026-11-07 19:32:25] [WAVE][WARN] seg held 154 ms (idx=6)"
]
},
{
"start": "2026-11-07T19:32:28.144+08:00",
"start_epoch": 1794051148.144161,
"end": "2026-11-07T19:32:29.668+08:00",
"dur_ms": 1524,
"round": 47,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:25.501+08:00 [2026-11-07 19:32:24][ADC_TASK] wave: seg=105 armed=0 src=T pts=320 err=0 ovf=0 drop=222672",
"held": [
"[RX] 2026-11-07T19:32:28.034+08:00 [2026-11-07 19:32:26] [WAVE][WARN] seg held 106 ms (idx=7)",
"[RX] 2026-11-07T19:32:30.015+08:00 [2026-11-07 19:32:28] [WAVE][WARN] seg held 103 ms (idx=8)"
]
},
{
"start": "2026-11-07T19:32:32.224+08:00",
"start_epoch": 1794051152.2245808,
"end": "2026-11-07T19:32:33.770+08:00",
"dur_ms": 1546,
"round": 48,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:25.501+08:00 [2026-11-07 19:32:24][ADC_TASK] wave: seg=105 armed=0 src=T pts=320 err=0 ovf=0 drop=222672",
"held": [
"[RX] 2026-11-07T19:32:31.985+08:00 [2026-11-07 19:32:30] [WAVE][WARN] seg held 73 ms (idx=9)",
"[RX] 2026-11-07T19:32:34.091+08:00 [2026-11-07 19:32:32] [WAVE][WARN] seg held 133 ms (idx=10)"
]
},
{
"start": "2026-11-07T19:32:36.723+08:00",
"start_epoch": 1794051156.7237678,
"end": "2026-11-07T19:32:38.247+08:00",
"dur_ms": 1524,
"round": 49,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:35.499+08:00 [2026-11-07 19:32:34][ADC_TASK] wave: seg=110 armed=0 src=T pts=320 err=0 ovf=0 drop=228512",
"held": [
"[RX] 2026-11-07T19:32:35.990+08:00 [2026-11-07 19:32:34] [WAVE][WARN] seg held 84 ms (idx=11)",
"[RX] 2026-11-07T19:32:38.226+08:00 [2026-11-07 19:32:37] [WAVE][WARN] seg held 88 ms (idx=12)"
]
},
{
"start": "2026-11-07T19:32:40.297+08:00",
"start_epoch": 1794051160.297433,
"end": "2026-11-07T19:32:41.989+08:00",
"dur_ms": 1692,
"round": 50,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:35.499+08:00 [2026-11-07 19:32:34][ADC_TASK] wave: seg=110 armed=0 src=T pts=320 err=0 ovf=0 drop=228512",
"held": [
"[RX] 2026-11-07T19:32:40.039+08:00 [2026-11-07 19:32:38] [WAVE][WARN] seg held 99 ms (idx=13)",
"[RX] 2026-11-07T19:32:42.046+08:00 [2026-11-07 19:32:40] [WAVE][WARN] seg held 101 ms (idx=14)"
]
},
{
"start": "2026-11-07T19:32:44.150+08:00",
"start_epoch": 1794051164.1502302,
"end": "2026-11-07T19:32:45.804+08:00",
"dur_ms": 1655,
"round": 51,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:45.511+08:00 [2026-11-07 19:32:44][ADC_TASK] wave: seg=115 armed=0 src=T pts=320 err=0 ovf=0 drop=234872",
"held": [
"[RX] 2026-11-07T19:32:43.990+08:00 [2026-11-07 19:32:42] [WAVE][WARN] seg held 90 ms (idx=15)",
"[RX] 2026-11-07T19:32:46.048+08:00 [2026-11-07 19:32:44] [WAVE][WARN] seg held 132 ms (idx=16)"
]
},
{
"start": "2026-11-07T19:32:48.573+08:00",
"start_epoch": 1794051168.5731087,
"end": "2026-11-07T19:32:50.185+08:00",
"dur_ms": 1612,
"round": 52,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:45.511+08:00 [2026-11-07 19:32:44][ADC_TASK] wave: seg=115 armed=0 src=T pts=320 err=0 ovf=0 drop=234872",
"held": [
"[RX] 2026-11-07T19:32:48.220+08:00 [2026-11-07 19:32:47] [WAVE][WARN] seg held 304 ms (idx=17)",
"[RX] 2026-11-07T19:32:50.178+08:00 [2026-11-07 19:32:49] [WAVE][WARN] seg held 193 ms (idx=18)"
]
},
{
"start": "2026-11-07T19:32:53.539+08:00",
"start_epoch": 1794051173.5396416,
"end": "2026-11-07T19:32:55.171+08:00",
"dur_ms": 1632,
"round": 53,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:55.499+08:00 [2026-11-07 19:32:54][ADC_TASK] wave: seg=120 armed=0 src=T pts=320 err=0 ovf=0 drop=251728",
"held": [
"[RX] 2026-11-07T19:32:55.117+08:00 [2026-11-07 19:32:54] [WAVE][WARN] seg held 101 ms (idx=20)",
"[RX] 2026-11-07T19:32:55.966+08:00 [2026-11-07 19:32:54] [WAVE][WARN] seg held 61 ms (idx=21)"
]
},
{
"start": "2026-11-07T19:32:57.820+08:00",
"start_epoch": 1794051177.8202837,
"end": "2026-11-07T19:32:59.433+08:00",
"dur_ms": 1613,
"round": 54,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:55.499+08:00 [2026-11-07 19:32:54][ADC_TASK] wave: seg=120 armed=0 src=T pts=320 err=0 ovf=0 drop=251728",
"held": [
"[RX] 2026-11-07T19:32:55.966+08:00 [2026-11-07 19:32:54] [WAVE][WARN] seg held 61 ms (idx=21)",
"[RX] 2026-11-07T19:32:59.970+08:00 [2026-11-07 19:32:58] [WAVE][WARN] seg held 61 ms (idx=23)"
]
},
{
"start": "2026-11-07T19:33:02.486+08:00",
"start_epoch": 1794051182.486079,
"end": "2026-11-07T19:33:04.058+08:00",
"dur_ms": 1572,
"round": 55,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:32:55.499+08:00 [2026-11-07 19:32:54][ADC_TASK] wave: seg=120 armed=0 src=T pts=320 err=0 ovf=0 drop=251728",
"held": [
"[RX] 2026-11-07T19:33:02.123+08:00 [2026-11-07 19:33:00] [WAVE][WARN] seg held 111 ms (idx=24)",
"[RX] 2026-11-07T19:33:04.056+08:00 [2026-11-07 19:33:02] [WAVE][WARN] seg held 101 ms (idx=25)"
]
},
{
"start": "2026-11-07T19:33:05.705+08:00",
"start_epoch": 1794051185.705855,
"end": "2026-11-07T19:33:07.372+08:00",
"dur_ms": 1667,
"round": 56,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:33:05.493+08:00 [2026-11-07 19:33:04][ADC_TASK] wave: seg=125 armed=0 src=T pts=320 err=0 ovf=0 drop=255832",
"held": [
"[RX] 2026-11-07T19:33:04.056+08:00 [2026-11-07 19:33:02] [WAVE][WARN] seg held 101 ms (idx=25)",
"[RX] 2026-11-07T19:33:07.297+08:00 [2026-11-07 19:33:06] [WAVE][WARN] seg held 85 ms (idx=26)"
]
},
{
"start": "2026-11-07T19:33:09.108+08:00",
"start_epoch": 1794051189.1086035,
"end": "2026-11-07T19:33:10.691+08:00",
"dur_ms": 1583,
"round": 57,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:33:05.493+08:00 [2026-11-07 19:33:04][ADC_TASK] wave: seg=125 armed=0 src=T pts=320 err=0 ovf=0 drop=255832",
"held": [
"[RX] 2026-11-07T19:33:07.297+08:00 [2026-11-07 19:33:06] [WAVE][WARN] seg held 85 ms (idx=26)",
"[RX] 2026-11-07T19:33:10.686+08:00 [2026-11-07 19:33:09] [WAVE][WARN] seg held 87 ms (idx=27)"
]
},
{
"start": "2026-11-07T19:33:13.542+08:00",
"start_epoch": 1794051193.5424988,
"end": "2026-11-07T19:33:15.066+08:00",
"dur_ms": 1524,
"round": 58,
"err_lines_total": 0,
"last_hb": "[RX] 2026-11-07T19:33:15.499+08:00 [2026-11-07 19:33:14][ADC_TASK] wave: seg=129 armed=0 src=T pts=320 err=0 ovf=1 drop=283648",
"held": [
"[RX] 2026-11-07T19:33:15.040+08:00 [2026-11-07 19:33:13] [WAVE][WARN] seg held 85 ms (idx=29)",
"[RX] 2026-11-07T19:33:16.047+08:00 [2026-11-07 19:33:14] [WAVE][WARN] seg held 139 ms (idx=30)"
]
}
],
"windows": [],
"bootstrap_reset": {
"rc": 0,
"out": "ware reset\nDevice ID: 0x413 \nDevice flash Size: 1024 Kbytes\nDevice family: STM32F405xx/F407xx/F415xx/F417xx\n\nMCU Reset.\n\nrun application to exit\nApplication started.\nRC: 0 elapsed_ms=218\nSTLINK_RC=0\n",
"err": "",
"ts": "2026-11-07T19:28:54.935+08:00"
},
"abort": "deadline without STOP line (window misbehaving?)",
"t_end": "2026-11-07T19:33:16.284+08:00"
}
@@ -17,4 +17,4 @@
"samples/WAVE06_bitflip_reject.BIN": "a9e097bfaa0e3df8542c637c29f120d1dee347956cf0013478448861f13c40ae",
"samples/WAVE06_original.BIN": "9f88ee3490c40867299e624a2eb2323ec33bb9ca5957737d2018b9e60205a6cc",
"samples/WAVE09_seed_bitflip_reject.BIN": "b4016966c6feed92b8a7f42ce42c109dbb8a608b9531f9bad35595c22d3d6471"
}
}
@@ -7,20 +7,20 @@
[RX] 2026-11-06T17:52:35.670+08:00 [2026-11-06 17:52:34] [FTP] CMD PASS admin
[RX] 2026-11-06T17:52:35.670+08:00 [2026-11-06 17:52:34] [FTP] CMD CWD /WAVE
[RX] 2026-11-06T17:52:35.680+08:00 [2026-11-06 17:52:34] [FTP] CMD TYPE A
[RX] 2026-11-06T17:52:35.691+08:00 [2026-11-06 17:52:34] [FTP] CMD PASV
[RX] 2026-11-06T17:52:35.742+08:00 [2026-11-06 17:52:34] [FTP] CMD NLST
[RX] 2026-11-06T17:52:35.691+08:00 [2026-11-06 17:52:34] [FTP] CMD PASV
[RX] 2026-11-06T17:52:35.742+08:00 [2026-11-06 17:52:34] [FTP] CMD NLST
[RX] 2026-11-06T17:52:35.918+08:00 [2026-11-06 17:52:34] [FTP] CMD TYPE I
[RX] 2026-11-06T17:52:35.918+08:00 [2026-11-06 17:52:34] [FTP] CMD PASV
[RX] 2026-11-06T17:52:35.918+08:00 [2026-11-06 17:52:34] [FTP] CMD PASV
[RX] 2026-11-06T17:52:35.969+08:00 [2026-11-06 17:52:34] [FTP] CMD STOR WAVE09.BIN
[RX] 2026-11-06T17:52:36.052+08:00 [2026-11-06 17:52:34] [FTP] UPLOAD '/WAVE/WAVE09.BIN' 5250 bytes OK
[RX] 2026-11-06T17:52:36.661+08:00 [2026-11-06 17:52:35] [FTP] CMD TYPE A
[RX] 2026-11-06T17:52:36.661+08:00 [2026-11-06 17:52:35] [FTP] CMD PASV
[RX] 2026-11-06T17:52:36.724+08:00 [2026-11-06 17:52:35] [FTP] CMD NLST
[RX] 2026-11-06T17:52:36.661+08:00 [2026-11-06 17:52:35] [FTP] CMD PASV
[RX] 2026-11-06T17:52:36.724+08:00 [2026-11-06 17:52:35] [FTP] CMD NLST
[RX] 2026-11-06T17:52:36.910+08:00 [2026-11-06 17:52:35] [FTP] CMD TYPE I
[RX] 2026-11-06T17:52:36.910+08:00 [2026-11-06 17:52:35] [FTP] CMD PASV
[RX] 2026-11-06T17:52:36.910+08:00 [2026-11-06 17:52:35] [FTP] CMD PASV
[RX] 2026-11-06T17:52:36.962+08:00 [2026-11-06 17:52:35] [FTP] CMD RETR WAVE09.BIN
[RX] 2026-11-06T17:52:37.128+08:00 [2026-11-06 17:52:36] [FTP] DOWNLOAD '/WAVE/WAVE09.BIN' OK
[RX] 2026-11-06T17:52:37.128+08:00 [2026-11-06 17:52:36] [FTP] CMD QUIT
[RX] 2026-11-06T17:52:37.128+08:00 [2026-11-06 17:52:36] [FTP] CMD QUIT
[RX] 2026-11-06T17:52:37.149+08:00 [2026-11-06 17:52:36] [FTP] waiting for connection...
[RX] 2026-11-06T17:52:39.623+08:00 [2026-11-06 17:52:38][UI_CONTENT_PAGE] page close: id=wave_play
[RX] 2026-11-06T17:52:43.461+08:00 [2026-11-06 17:52:42][UI_CONTENT_PAGE] page open: id=wave_play rows=0
@@ -29,14 +29,14 @@
[RX] 2026-11-06T18:10:04.246+08:00 [2026-11-06 18:10:03] [FTP] CMD PASS admin
[RX] 2026-11-06T18:10:04.257+08:00 [2026-11-06 18:10:03] [FTP] CMD CWD /WAVE
[RX] 2026-11-06T18:10:04.278+08:00 [2026-11-06 18:10:03] [FTP] CMD TYPE I
[RX] 2026-11-06T18:10:04.289+08:00 [2026-11-06 18:10:03] [FTP] CMD PASV
[RX] 2026-11-06T18:10:04.289+08:00 [2026-11-06 18:10:03] [FTP] CMD PASV
[RX] 2026-11-06T18:10:04.424+08:00 [2026-11-06 18:10:03] [FTP] CMD STOR WAVE06.BIN
[RX] 2026-11-06T18:10:04.487+08:00 [2026-11-06 18:10:03] [FTP] UPLOAD '/WAVE/WAVE06.BIN' 5250 bytes OK
[RX] 2026-11-06T18:10:05.098+08:00 [2026-11-06 18:10:03] [FTP] CMD TYPE I
[RX] 2026-11-06T18:10:05.098+08:00 [2026-11-06 18:10:04] [FTP] CMD PASV
[RX] 2026-11-06T18:10:05.098+08:00 [2026-11-06 18:10:04] [FTP] CMD PASV
[RX] 2026-11-06T18:10:05.171+08:00 [2026-11-06 18:10:04] [FTP] CMD RETR WAVE06.BIN
[RX] 2026-11-06T18:10:05.346+08:00 [2026-11-06 18:10:04] [FTP] DOWNLOAD '/WAVE/WAVE06.BIN' OK
[RX] 2026-11-06T18:10:05.357+08:00 [2026-11-06 18:10:04] [FTP] CMD QUIT
[RX] 2026-11-06T18:10:05.357+08:00 [2026-11-06 18:10:04] [FTP] CMD QUIT
[RX] 2026-11-06T18:10:05.367+08:00 [2026-11-06 18:10:04] [FTP] waiting for connection...
[RX] 2026-11-06T18:11:20.089+08:00 [2026-11-06 18:11:18][UI_CONTENT_PAGE] page open: id=wave_play rows=0
[RX] 2026-11-06T18:11:38.915+08:00 [2026-11-06 18:11:37] [FTP] connection received from 192.168.31.161:54867...
@@ -44,36 +44,36 @@
[RX] 2026-11-06T18:11:38.946+08:00 [2026-11-06 18:11:37] [FTP] CMD PASS admin
[RX] 2026-11-06T18:11:38.967+08:00 [2026-11-06 18:11:37] [FTP] CMD CWD /WAVE
[RX] 2026-11-06T18:11:38.967+08:00 [2026-11-06 18:11:37] [FTP] CMD TYPE I
[RX] 2026-11-06T18:11:38.998+08:00 [2026-11-06 18:11:37] [FTP] CMD PASV
[RX] 2026-11-06T18:11:38.998+08:00 [2026-11-06 18:11:37] [FTP] CMD PASV
[RX] 2026-11-06T18:11:39.122+08:00 [2026-11-06 18:11:38] [FTP] CMD STOR WAVE06.BIN
[RX] 2026-11-06T18:11:39.216+08:00 [2026-11-06 18:11:38] [FTP] UPLOAD '/WAVE/WAVE06.BIN' 5250 bytes OK
[RX] 2026-11-06T18:11:39.837+08:00 [2026-11-06 18:11:38] [FTP] CMD TYPE I
[RX] 2026-11-06T18:11:39.837+08:00 [2026-11-06 18:11:38] [FTP] CMD PASV
[RX] 2026-11-06T18:11:39.837+08:00 [2026-11-06 18:11:38] [FTP] CMD PASV
[RX] 2026-11-06T18:11:39.879+08:00 [2026-11-06 18:11:38] [FTP] CMD RETR WAVE06.BIN
[RX] 2026-11-06T18:11:40.013+08:00 [2026-11-06 18:11:38] [FTP] DOWNLOAD '/WAVE/WAVE06.BIN' OK
[RX] 2026-11-06T18:11:40.013+08:00 [2026-11-06 18:11:38] [FTP] CMD QUIT
[RX] 2026-11-06T18:11:40.013+08:00 [2026-11-06 18:11:38] [FTP] CMD QUIT
[RX] 2026-11-06T18:11:40.023+08:00 [2026-11-06 18:11:38] [FTP] waiting for connection...
[RX] 2026-11-06T18:12:02.780+08:00 [2026-11-06 18:12:01] [FTP] connection received from 192.168.31.161:53103...
[RX] 2026-11-06T18:12:02.802+08:00 [2026-11-06 18:12:01] [FTP] CMD USER admin
[RX] 2026-11-06T18:12:02.812+08:00 [2026-11-06 18:12:01] [FTP] CMD PASS admin
[RX] 2026-11-06T18:12:02.895+08:00 [2026-11-06 18:12:01] [FTP] CMD CWD /WAVE
[RX] 2026-11-06T18:12:02.895+08:00 [2026-11-06 18:12:01] [FTP] CMD TYPE I
[RX] 2026-11-06T18:12:02.895+08:00 [2026-11-06 18:12:01] [FTP] CMD PASV
[RX] 2026-11-06T18:12:02.895+08:00 [2026-11-06 18:12:01] [FTP] CMD PASV
[RX] 2026-11-06T18:12:02.957+08:00 [2026-11-06 18:12:01] [FTP] CMD STOR WAVE06.BIN
[RX] 2026-11-06T18:12:03.030+08:00 [2026-11-06 18:12:01] [FTP] UPLOAD '/WAVE/WAVE06.BIN' 5250 bytes OK
[RX] 2026-11-06T18:12:03.633+08:00 [2026-11-06 18:12:02] [FTP] CMD TYPE I
[RX] 2026-11-06T18:12:03.643+08:00 [2026-11-06 18:12:02] [FTP] CMD PASV
[RX] 2026-11-06T18:12:03.643+08:00 [2026-11-06 18:12:02] [FTP] CMD PASV
[RX] 2026-11-06T18:12:03.705+08:00 [2026-11-06 18:12:02] [FTP] CMD RETR WAVE06.BIN
[RX] 2026-11-06T18:12:03.839+08:00 [2026-11-06 18:12:02] [FTP] DOWNLOAD '/WAVE/WAVE06.BIN' OK
[RX] 2026-11-06T18:12:03.839+08:00 [2026-11-06 18:12:02] [FTP] CMD QUIT
[RX] 2026-11-06T18:12:03.839+08:00 [2026-11-06 18:12:02] [FTP] CMD QUIT
[RX] 2026-11-06T18:12:03.860+08:00 [2026-11-06 18:12:02] [FTP] waiting for connection...
[RX] 2026-11-06T18:14:44.047+08:00 [2026-11-06 18:14:42] [FTP] connection received from 192.168.31.161:58594...
[RX] 2026-11-06T18:14:44.057+08:00 [2026-11-06 18:14:42] [FTP] CMD USER admin
[RX] 2026-11-06T18:14:44.057+08:00 [2026-11-06 18:14:42] [FTP] CMD PASS admin
[RX] 2026-11-06T18:14:44.067+08:00 [2026-11-06 18:14:42] [FTP] CMD CWD /WAVE
[RX] 2026-11-06T18:14:44.067+08:00 [2026-11-06 18:14:42] [FTP] CMD TYPE A
[RX] 2026-11-06T18:14:44.078+08:00 [2026-11-06 18:14:42] [FTP] CMD PASV
[RX] 2026-11-06T18:14:44.151+08:00 [2026-11-06 18:14:43] [FTP] CMD LIST
[RX] 2026-11-06T18:14:44.078+08:00 [2026-11-06 18:14:42] [FTP] CMD PASV
[RX] 2026-11-06T18:14:44.151+08:00 [2026-11-06 18:14:43] [FTP] CMD LIST
[RX] 2026-11-06T18:14:44.285+08:00 [2026-11-06 18:14:43] [FTP] CMD DELE WAVE00.BIN
[RX] 2026-11-06T18:14:44.627+08:00 [2026-11-06 18:14:43] [FTP] CMD DELE WAVE01.BIN
[RX] 2026-11-06T18:14:44.969+08:00 [2026-11-06 18:14:43] [FTP] CMD DELE WAVE02.BIN
@@ -85,9 +85,9 @@
[RX] 2026-11-06T18:14:47.016+08:00 [2026-11-06 18:14:45] [FTP] CMD DELE WAVE08.BIN
[RX] 2026-11-06T18:14:47.358+08:00 [2026-11-06 18:14:46] [FTP] CMD DELE WAVE09.BIN
[RX] 2026-11-06T18:14:48.292+08:00 [2026-11-06 18:14:47] [FTP] CMD TYPE A
[RX] 2026-11-06T18:14:48.292+08:00 [2026-11-06 18:14:47] [FTP] CMD PASV
[RX] 2026-11-06T18:14:48.364+08:00 [2026-11-06 18:14:47] [FTP] CMD LIST
[RX] 2026-11-06T18:14:48.560+08:00 [2026-11-06 18:14:47] [FTP] CMD QUIT
[RX] 2026-11-06T18:14:48.292+08:00 [2026-11-06 18:14:47] [FTP] CMD PASV
[RX] 2026-11-06T18:14:48.364+08:00 [2026-11-06 18:14:47] [FTP] CMD LIST
[RX] 2026-11-06T18:14:48.560+08:00 [2026-11-06 18:14:47] [FTP] CMD QUIT
[RX] 2026-11-06T18:14:48.602+08:00 [2026-11-06 18:14:47] [FTP] waiting for connection...
[RX] 2026-11-06T18:14:52.299+08:00 [2026-11-06 18:14:51][UI_CONTENT_PAGE] page close: id=wave_play
[RX] 2026-11-06T18:14:56.144+08:00 [2026-11-06 18:14:55][UI_CONTENT_PAGE] page open: id=wave_play rows=0
@@ -100,81 +100,81 @@
[RX] 2026-11-06T18:15:05.372+08:00 [2026-11-06 18:15:04] [FTP] CMD PASS admin
[RX] 2026-11-06T18:15:05.382+08:00 [2026-11-06 18:15:04] [FTP] CMD CWD /WAVE
[RX] 2026-11-06T18:15:05.382+08:00 [2026-11-06 18:15:04] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:05.393+08:00 [2026-11-06 18:15:04] [FTP] CMD PASV
[RX] 2026-11-06T18:15:05.393+08:00 [2026-11-06 18:15:04] [FTP] CMD PASV
[RX] 2026-11-06T18:15:05.466+08:00 [2026-11-06 18:15:04] [FTP] CMD STOR WAVE00.BIN
[RX] 2026-11-06T18:15:05.529+08:00 [2026-11-06 18:15:04] [FTP] UPLOAD '/WAVE/WAVE00.BIN' 5250 bytes OK
[RX] 2026-11-06T18:15:06.130+08:00 [2026-11-06 18:15:05] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:06.140+08:00 [2026-11-06 18:15:05] [FTP] CMD PASV
[RX] 2026-11-06T18:15:06.140+08:00 [2026-11-06 18:15:05] [FTP] CMD PASV
[RX] 2026-11-06T18:15:06.203+08:00 [2026-11-06 18:15:05] [FTP] CMD RETR WAVE00.BIN
[RX] 2026-11-06T18:15:06.367+08:00 [2026-11-06 18:15:05] [FTP] DOWNLOAD '/WAVE/WAVE00.BIN' OK
[RX] 2026-11-06T18:15:06.367+08:00 [2026-11-06 18:15:05] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:06.377+08:00 [2026-11-06 18:15:05] [FTP] CMD PASV
[RX] 2026-11-06T18:15:06.377+08:00 [2026-11-06 18:15:05] [FTP] CMD PASV
[RX] 2026-11-06T18:15:06.449+08:00 [2026-11-06 18:15:05] [FTP] CMD STOR WAVE01.BIN
[RX] 2026-11-06T18:15:06.522+08:00 [2026-11-06 18:15:05] [FTP] UPLOAD '/WAVE/WAVE01.BIN' 5250 bytes OK
[RX] 2026-11-06T18:15:07.135+08:00 [2026-11-06 18:15:06] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:07.135+08:00 [2026-11-06 18:15:06] [FTP] CMD PASV
[RX] 2026-11-06T18:15:07.135+08:00 [2026-11-06 18:15:06] [FTP] CMD PASV
[RX] 2026-11-06T18:15:07.197+08:00 [2026-11-06 18:15:06] [FTP] CMD RETR WAVE01.BIN
[RX] 2026-11-06T18:15:07.363+08:00 [2026-11-06 18:15:06] [FTP] DOWNLOAD '/WAVE/WAVE01.BIN' OK
[RX] 2026-11-06T18:15:07.363+08:00 [2026-11-06 18:15:06] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:07.373+08:00 [2026-11-06 18:15:06] [FTP] CMD PASV
[RX] 2026-11-06T18:15:07.373+08:00 [2026-11-06 18:15:06] [FTP] CMD PASV
[RX] 2026-11-06T18:15:07.445+08:00 [2026-11-06 18:15:06] [FTP] CMD STOR WAVE02.BIN
[RX] 2026-11-06T18:15:07.519+08:00 [2026-11-06 18:15:06] [FTP] UPLOAD '/WAVE/WAVE02.BIN' 5250 bytes OK
[RX] 2026-11-06T18:15:08.141+08:00 [2026-11-06 18:15:07] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:08.152+08:00 [2026-11-06 18:15:07] [FTP] CMD PASV
[RX] 2026-11-06T18:15:08.152+08:00 [2026-11-06 18:15:07] [FTP] CMD PASV
[RX] 2026-11-06T18:15:08.193+08:00 [2026-11-06 18:15:07] [FTP] CMD RETR WAVE02.BIN
[RX] 2026-11-06T18:15:08.370+08:00 [2026-11-06 18:15:07] [FTP] DOWNLOAD '/WAVE/WAVE02.BIN' OK
[RX] 2026-11-06T18:15:08.381+08:00 [2026-11-06 18:15:07] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:08.381+08:00 [2026-11-06 18:15:07] [FTP] CMD PASV
[RX] 2026-11-06T18:15:08.381+08:00 [2026-11-06 18:15:07] [FTP] CMD PASV
[RX] 2026-11-06T18:15:08.454+08:00 [2026-11-06 18:15:07] [FTP] CMD STOR WAVE03.BIN
[RX] 2026-11-06T18:15:08.538+08:00 [2026-11-06 18:15:07] [FTP] UPLOAD '/WAVE/WAVE03.BIN' 5250 bytes OK
[RX] 2026-11-06T18:15:09.139+08:00 [2026-11-06 18:15:08] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:09.150+08:00 [2026-11-06 18:15:08] [FTP] CMD PASV
[RX] 2026-11-06T18:15:09.150+08:00 [2026-11-06 18:15:08] [FTP] CMD PASV
[RX] 2026-11-06T18:15:09.191+08:00 [2026-11-06 18:15:08] [FTP] CMD RETR WAVE03.BIN
[RX] 2026-11-06T18:15:09.366+08:00 [2026-11-06 18:15:08] [FTP] DOWNLOAD '/WAVE/WAVE03.BIN' OK
[RX] 2026-11-06T18:15:09.366+08:00 [2026-11-06 18:15:08] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:09.377+08:00 [2026-11-06 18:15:08] [FTP] CMD PASV
[RX] 2026-11-06T18:15:09.377+08:00 [2026-11-06 18:15:08] [FTP] CMD PASV
[RX] 2026-11-06T18:15:09.461+08:00 [2026-11-06 18:15:08] [FTP] CMD STOR WAVE04.BIN
[RX] 2026-11-06T18:15:09.512+08:00 [2026-11-06 18:15:08] [FTP] UPLOAD '/WAVE/WAVE04.BIN' 5250 bytes OK
[RX] 2026-11-06T18:15:10.117+08:00 [2026-11-06 18:15:09] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:10.127+08:00 [2026-11-06 18:15:09] [FTP] CMD PASV
[RX] 2026-11-06T18:15:10.127+08:00 [2026-11-06 18:15:09] [FTP] CMD PASV
[RX] 2026-11-06T18:15:10.191+08:00 [2026-11-06 18:15:09] [FTP] CMD RETR WAVE04.BIN
[RX] 2026-11-06T18:15:10.367+08:00 [2026-11-06 18:15:09] [FTP] DOWNLOAD '/WAVE/WAVE04.BIN' OK
[RX] 2026-11-06T18:15:10.367+08:00 [2026-11-06 18:15:09] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:10.378+08:00 [2026-11-06 18:15:09] [FTP] CMD PASV
[RX] 2026-11-06T18:15:10.378+08:00 [2026-11-06 18:15:09] [FTP] CMD PASV
[RX] 2026-11-06T18:15:10.450+08:00 [2026-11-06 18:15:09] [FTP] CMD STOR WAVE05.BIN
[RX] 2026-11-06T18:15:10.513+08:00 [2026-11-06 18:15:09] [FTP] UPLOAD '/WAVE/WAVE05.BIN' 5250 bytes OK
[RX] 2026-11-06T18:15:11.117+08:00 [2026-11-06 18:15:10] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:11.127+08:00 [2026-11-06 18:15:10] [FTP] CMD PASV
[RX] 2026-11-06T18:15:11.127+08:00 [2026-11-06 18:15:10] [FTP] CMD PASV
[RX] 2026-11-06T18:15:11.190+08:00 [2026-11-06 18:15:10] [FTP] CMD RETR WAVE05.BIN
[RX] 2026-11-06T18:15:11.366+08:00 [2026-11-06 18:15:10] [FTP] DOWNLOAD '/WAVE/WAVE05.BIN' OK
[RX] 2026-11-06T18:15:11.366+08:00 [2026-11-06 18:15:10] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:11.377+08:00 [2026-11-06 18:15:10] [FTP] CMD PASV
[RX] 2026-11-06T18:15:11.377+08:00 [2026-11-06 18:15:10] [FTP] CMD PASV
[RX] 2026-11-06T18:15:11.555+08:00 [2026-11-06 18:15:10] [FTP] CMD STOR WAVE06.BIN
[RX] 2026-11-06T18:15:11.576+08:00 [2026-11-06 18:15:10] [FTP] UPLOAD '/WAVE/WAVE06.BIN' 5250 bytes OK
[RX] 2026-11-06T18:15:12.180+08:00 [2026-11-06 18:15:11] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:12.191+08:00 [2026-11-06 18:15:11] [FTP] CMD PASV
[RX] 2026-11-06T18:15:12.191+08:00 [2026-11-06 18:15:11] [FTP] CMD PASV
[RX] 2026-11-06T18:15:12.253+08:00 [2026-11-06 18:15:11] [FTP] CMD RETR WAVE06.BIN
[RX] 2026-11-06T18:15:12.398+08:00 [2026-11-06 18:15:11] [FTP] DOWNLOAD '/WAVE/WAVE06.BIN' OK
[RX] 2026-11-06T18:15:12.398+08:00 [2026-11-06 18:15:11] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:12.408+08:00 [2026-11-06 18:15:11] [FTP] CMD PASV
[RX] 2026-11-06T18:15:12.408+08:00 [2026-11-06 18:15:11] [FTP] CMD PASV
[RX] 2026-11-06T18:15:12.470+08:00 [2026-11-06 18:15:11] [FTP] CMD STOR WAVE07.BIN
[RX] 2026-11-06T18:15:12.554+08:00 [2026-11-06 18:15:11] [FTP] UPLOAD '/WAVE/WAVE07.BIN' 5250 bytes OK
[RX] 2026-11-06T18:15:13.156+08:00 [2026-11-06 18:15:12] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:13.156+08:00 [2026-11-06 18:15:12] [FTP] CMD PASV
[RX] 2026-11-06T18:15:13.156+08:00 [2026-11-06 18:15:12] [FTP] CMD PASV
[RX] 2026-11-06T18:15:13.207+08:00 [2026-11-06 18:15:12] [FTP] CMD RETR WAVE07.BIN
[RX] 2026-11-06T18:15:13.363+08:00 [2026-11-06 18:15:12] [FTP] DOWNLOAD '/WAVE/WAVE07.BIN' OK
[RX] 2026-11-06T18:15:13.363+08:00 [2026-11-06 18:15:12] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:13.374+08:00 [2026-11-06 18:15:12] [FTP] CMD PASV
[RX] 2026-11-06T18:15:13.374+08:00 [2026-11-06 18:15:12] [FTP] CMD PASV
[RX] 2026-11-06T18:15:13.447+08:00 [2026-11-06 18:15:12] [FTP] CMD STOR WAVE08.BIN
[RX] 2026-11-06T18:15:13.519+08:00 [2026-11-06 18:15:12] [FTP] UPLOAD '/WAVE/WAVE08.BIN' 5250 bytes OK
[RX] 2026-11-06T18:15:14.145+08:00 [2026-11-06 18:15:13] [FTP] CMD TYPE I
[RX] 2026-11-06T18:15:14.145+08:00 [2026-11-06 18:15:13] [FTP] CMD PASV
[RX] 2026-11-06T18:15:14.145+08:00 [2026-11-06 18:15:13] [FTP] CMD PASV
[RX] 2026-11-06T18:15:14.186+08:00 [2026-11-06 18:15:13] [FTP] CMD RETR WAVE08.BIN
[RX] 2026-11-06T18:15:14.363+08:00 [2026-11-06 18:15:13] [FTP] DOWNLOAD '/WAVE/WAVE08.BIN' OK
[RX] 2026-11-06T18:15:14.363+08:00 [2026-11-06 18:15:13] [FTP] CMD TYPE A
[RX] 2026-11-06T18:15:14.374+08:00 [2026-11-06 18:15:13] [FTP] CMD PASV
[RX] 2026-11-06T18:15:14.436+08:00 [2026-11-06 18:15:13] [FTP] CMD LIST
[RX] 2026-11-06T18:15:14.561+08:00 [2026-11-06 18:15:13] [FTP] CMD QUIT
[RX] 2026-11-06T18:15:14.374+08:00 [2026-11-06 18:15:13] [FTP] CMD PASV
[RX] 2026-11-06T18:15:14.436+08:00 [2026-11-06 18:15:13] [FTP] CMD LIST
[RX] 2026-11-06T18:15:14.561+08:00 [2026-11-06 18:15:13] [FTP] CMD QUIT
[RX] 2026-11-06T18:15:14.571+08:00 [2026-11-06 18:15:13] [FTP] waiting for connection...
[RX] 2026-11-06T18:15:18.286+08:00 [2026-11-06 18:15:17][UI_CONTENT_PAGE] page open: id=wave_play rows=0
[RX] 2026-11-06T18:15:21.817+08:00 [2026-11-06 18:15:20][UI_CONTENT_PAGE] page close: id=wave_play