fix(ui): 电机前端回滚到 P1 拆分前,恢复 STATUS 离线层契约

根因:拆分后 renderStatusPanel 操作 #statusOffline/#statusPanel,
HTML 实际 id 是 offlineOverlay/statusLive,遮罩永不摘掉。
CSS/HTML 结构本就未重写;本提交恢复完整 main.js 与 dual-link 传输层。
This commit is contained in:
cbb
2026-09-21 03:04:09 +08:00
parent a797d5a8d6
commit 7ea80f01ef
9 changed files with 3378 additions and 3128 deletions
+1 -6
View File
@@ -20,11 +20,6 @@
* sendFrames(frames, {ch}) -> results[] frames=[{id,dlc,data}]
* sendBurst(frames, {suffix,dlc}) -> results[]
* fetchVersionNode(node) -> {node,seq,version,at?}|null
* waitVersion(node, {prevSeq,sentAt,timeoutMs}) -> version|null
* R5:版本等待下沉传输层,main 不再区分 wifi/ecat 双实现
* queryNodeIdParam(node, selector) -> {ok,val?,oldFw?,desc?}
* setNodeIdParam(node, selector, value) -> {ok,desc?}
* R5:节点参数回执通道(WiFi 快照 / ECAT motor/rx)各在传输内消化
* 可选:drainPendingRx() -> Promise 版本等待期强制消费批量接收区(ECAT)
* setPeriod(ms) -> void 不支持则空实现
* teardown() -> void 切走时收尾
@@ -36,7 +31,7 @@
"use strict";
import { createWifiTransport } from "./transport-wifi.js";
import { createEcatTransport } from "./transport-ecat.js?v=20260924a";
import { createEcatTransport } from "./transport-ecat.js?v=20260923i";
/** localStorage key:记住上次选的传输,刷新页面后保持 */
export const LS_TRANSPORT = "dcu_motor_transport";