fix(link): ECAT 轮询必重挂;连接灯不覆盖语义文案;BLE 通知成功后再上报
This commit is contained in:
@@ -68,8 +68,6 @@ function createOwner() {
|
||||
if (ch) {
|
||||
try { ch.postMessage({ type: "snapshot", snap: snap }); } catch (_) {}
|
||||
}
|
||||
/* 同源 iframe 也可读 window 顶层缓存(BC 不可用时的弱备份) */
|
||||
try { window.__dcuDeviceLinkSnap = snap; } catch (_) {}
|
||||
}
|
||||
|
||||
function setEsp32(status, ok) {
|
||||
@@ -133,15 +131,17 @@ function createOwner() {
|
||||
e.online = !!(st && st.ok && st.slave);
|
||||
e.busOpen = e.online;
|
||||
/* native status 不直接给 op/loop;用 load valid + slave state 粗判 */
|
||||
e.op = !!(st && st.slave && (st.slave.state & 0x0F) === 8);
|
||||
e.op = !!(st && st.slave && st.slave.state != null && (st.slave.state & 0x0F) === 8);
|
||||
e.loadValid = !!(ld && ld.ok && ld.valid === true
|
||||
&& Number.isFinite(ld.age_ms) && ld.age_ms >= 0 && ld.age_ms <= 3000);
|
||||
e.loop = e.loadValid || e.op;
|
||||
e.loadPerm = (ld && Number.isFinite(ld.load_perm)) ? ld.load_perm : 0;
|
||||
e.ageMs = (ld && Number.isFinite(ld.age_ms)) ? ld.age_ms : -1;
|
||||
publish();
|
||||
}).catch(function () {
|
||||
/* 字段访问/异常不得让 ECAT 轮询永久停摆 */
|
||||
}).then(function () {
|
||||
ecatTimer = setTimeout(pollEcat, ECAT_POLL_MS);
|
||||
if (!stopped) ecatTimer = setTimeout(pollEcat, ECAT_POLL_MS);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -190,7 +190,6 @@ function createClient() {
|
||||
try { ch = new BroadcastChannel(CH_NAME); } catch (_) { ch = null; }
|
||||
var listeners = [];
|
||||
var last = null;
|
||||
try { last = window.__dcuDeviceLinkSnap || null; } catch (_) {}
|
||||
|
||||
function emit() {
|
||||
for (var i = 0; i < listeners.length; i++) {
|
||||
@@ -203,7 +202,6 @@ function createClient() {
|
||||
var m = ev && ev.data;
|
||||
if (!m || m.type !== "snapshot" || !m.snap) return;
|
||||
last = m.snap;
|
||||
try { window.__dcuDeviceLinkSnap = last; } catch (_) {}
|
||||
emit();
|
||||
});
|
||||
try { ch.postMessage({ type: "hello" }); } catch (_) {}
|
||||
|
||||
Reference in New Issue
Block a user