docs: 新增 CHANGELOG, 记录 2026-09-05 三项变更
app 窗口租约(关窗自动停从站)、首页 GD32 CPU 负载率指标、PDO 周期 缓存迁移与测试对齐; 面向使用者的视角, 实现细节指向 README 与提交。
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# 更新日志 (CHANGELOG)
|
||||
|
||||
按日期倒序记录面向使用者的变更;实现细节见 README 对应章节与提交说明。
|
||||
|
||||
## 2026-09-05
|
||||
|
||||
### 新增:app 窗口租约 —— 关掉 app 必停从站
|
||||
|
||||
- 每个 app 页面与本地页面服务器保持一条 WebSocket(`js/common/app-lease.js` →
|
||||
`GET /ws/app-lease`);**最后一条**租约断开(所有 app 窗口关闭)后,服务端
|
||||
等 3s 宽限自动调后端 `/api/op/stop`:停 PDO 循环、从站退回 INIT。
|
||||
覆盖两种 native `--parent-pid` 看门狗够不着的离开方式:浏览器模式关窗后
|
||||
服务还活着、窗口模式复用现成 ecat_native 实例。
|
||||
- 断开感知靠 TCP FIN / Close 帧回显而非心跳计时器,后台标签页定时器节流
|
||||
不会误停;3s 宽限吸收 F5 刷新的断连→重连;外壳内切标签不停(外壳自己
|
||||
持有租约);只停"本服务经代理确认跑过"的循环,ecat 控制台(:8090)
|
||||
手工起的循环不受影响;服务进程退出路径(`/api/shutdown`、Ctrl+C)同步补停。
|
||||
- 接入点:`tabs.html`(外壳)与 `pages/motor.html`(单独打开电机页)。
|
||||
- 新增自测:`python scripts/test_app_lease.py`(服务端逻辑,裸 TCP 全路径)
|
||||
+ `node scripts/test_app_lease_e2e.mjs`(真 Edge headless + 假后端 8091,
|
||||
不碰真总线)。
|
||||
- 代价说明:每次重开 app 都要重走 PREOP→SAFEOP→OP,有概率撞 SSC 邮箱楔死
|
||||
——这是"关闭必须停"这个要求本身的代价。设计细节见 README"关掉 app 必停
|
||||
从站"一节。
|
||||
|
||||
### 新增:首页运行指标卡显示 GD32 CPU 负载率
|
||||
|
||||
- 新指标 `GD32 负载`(`#mGd32Load`):DCU_APP 固件 ≥ 1.5.61 把"中断 +
|
||||
非延迟处理段"占用率写进 EtherCAT 输入 PDO 段 5(1s 滚动窗口,0.1%
|
||||
分辨率),前端经 `/ecat/api/app/load` 轮询显示(`js/ota/ecat_load.js`)。
|
||||
- 与 `/system/status` 轮询完全独立:ESP32 离线互不影响;失败静默退避
|
||||
(1s→5s→30s),不触发页面服务器的自动拉起刷屏;≥85% 琥珀色提示。
|
||||
- 无效语义(显示 `--`):ECAT 总线未打开 / 循环未跑 / 固件 < 1.5.61 /
|
||||
负载值超 3s 未滚动(PDO 循环已停)。
|
||||
|
||||
### 变更:PDO 周期缓存一次性迁移,恢复默认改为"跟随后端"
|
||||
|
||||
- 存量 localStorage `dcu_ecat_period_ms=4`(Python 时代默认,检查脚本
|
||||
收尾也会写入)会在下次启动时自动清除一次(迁移标记
|
||||
`dcu_ecat_period_mig`),避免把 native 已调小的总线默认周期压回 4ms;
|
||||
迁移后用户显式设 4 会被原样保留。
|
||||
- `setPdoPeriod` 的"恢复默认"从 `setPdoPeriod(4)` 改为删除该键、跟随后端
|
||||
默认(固件修好前别低于 1ms)。
|
||||
|
||||
### 修复:电机传输测试对齐生产代码的 `pcore_mask`
|
||||
|
||||
- 自旋节拍钉核显示此前已由"钉 E 核"改为"钉 P 核"并改用快照字段
|
||||
`pcore_mask`,`scripts/test_motor_transport.mjs` 仍是旧字段与旧措辞,
|
||||
本次对齐(含跨 32 位掩码、不连续核号区间等用例)。
|
||||
Reference in New Issue
Block a user