chore: 解决 stash pop 与 device-link 合并冲突并收回本地 WIP
保留 ConnectionHub(deviceLink 导入/ECAT 自启/pmHold 幂等)与主线 WIP(断线清指标、AUTO_POLL=false、boot_ecat 等)。
This commit is contained in:
@@ -671,6 +671,16 @@ class Handler(SimpleHTTPRequestHandler):
|
||||
timeout = 30.0 if path.endswith(("/op/start", "/motor/start",
|
||||
"/flash", "/eeprom/write",
|
||||
"/eeprom/read", "/eeprom/verify")) else 6.0
|
||||
# EtherCAT 直灌 BOOT: run 要走 519 个邮箱帧 + 整区预擦, 几十秒量级。
|
||||
# 默认 6s 会在"正在正常刷写"的过程中假失败 —— 浏览器报错离场, native
|
||||
# 却还在往 flash 里写, 比不刷更糟。同一路由下的 open/push 都是纯内存
|
||||
# 毫秒级, 不连它们一起放大(后端没起时探测会干等几分钟), 故按 body 区分。
|
||||
# probe/reboot 走 boot_dl_probe 的两级邮箱自愈: 最坏 2×2s statecheck +
|
||||
# 重枚举 + 三次 700ms SDO 读 ≈ 7s+。这里必须给足, 因为 _ecat_proxy 超时
|
||||
# 后会拉起后端并**把同一个 POST 重发一次**(见其尾部重试), 带副作用的请求
|
||||
# 假超时 = 让后端把写过的命令再写一遍。
|
||||
if path.endswith("/ota/ecat"):
|
||||
timeout = 300.0 if b'"run"' in raw else 60.0
|
||||
try:
|
||||
status, body = _ecat_proxy(path, raw, timeout)
|
||||
_note_ecat_loop(path, status, body)
|
||||
|
||||
Reference in New Issue
Block a user