feat(ota): 首页运行指标卡新增 GD32 CPU 负载率(EtherCAT 通道)
DCU_APP 固件 >=1.5.61 把"中断+非延迟处理段"占用率(1.5.63 收窄定义) 写进 EtherCAT 输入 PDO 段 5 诊断区(1s 滚动窗口, 0.1% 分辨率), native 经 /api/app/load 提供纯缓存读; 前端 js/ota/ecat_load.js 经同源代理 /ecat/api/app/* 轮询并渲染到 #mGd32Load。 - 与 /system/status 轮询完全独立: ESP32 离线互不影响, 失败不计入 ESP32 连接失败计数 - 失败静默退避 1s→5s→30s, 不用 EtherCAT 的用户不按 1Hz 触发 esp32_server 的自动拉起逻辑 - 无效显示 --: valid:false(总线未开/循环未跑/固件过旧)或 age_ms>3s (PDO 循环已停, 值不再滚动); >=85% 琥珀色提示余量吃紧 - 页面上无 #mGd32Load 时自动空转(其他页共用 app.js 不受影响)
This commit is contained in:
@@ -33,6 +33,7 @@ import {
|
||||
import {
|
||||
updateStagesFromRelayState, updateSystemStatusUi
|
||||
} from './ota/stages.js';
|
||||
import { startEcatLoadPoller } from './ota/ecat_load.js';
|
||||
import {
|
||||
handleFileSelect, pickFileViaFSAPI, setupDropZone,
|
||||
parseIntelHex, isIntelHexText, convertHexFileToBin,
|
||||
@@ -269,6 +270,9 @@ setupDropZone('uploadZoneGd32', 'gd32');
|
||||
// 否则 polling.js 的 scheduleStatusPoll 会因 window.OtaSessionState 未定义而抛 TypeError)
|
||||
startPolling();
|
||||
|
||||
// GD32 CPU 负载率(EtherCAT 通道,独立于 /system/status 轮询;页面上无该指标则自动空转)
|
||||
startEcatLoadPoller();
|
||||
|
||||
// IP 输入变化时清零失败计数并立即刷新状态
|
||||
var ipInput = document.getElementById('espIp');
|
||||
if (ipInput) {
|
||||
|
||||
Reference in New Issue
Block a user