fix: improve monitoring functionality with session-reset signal and payload adjustments

This commit is contained in:
2026-04-08 18:29:51 -04:00
parent 16e072698b
commit dda5683572
4 changed files with 59 additions and 16 deletions
+12
View File
@@ -37,6 +37,7 @@ from .framing import (
bulk_waveform_term_params,
POLL_PROBE,
POLL_DATA,
SESSION_RESET,
)
from .transport import BaseTransport
@@ -190,6 +191,13 @@ class MiniMateProtocol:
log.debug("startup: draining boot string")
self._drain_boot_string()
# Send session-reset signal (ACK+ETX) before the first POLL probe.
# Confirmed from 4-8-26 BW TX captures: Blastware always sends this
# 2-byte signal at session start. Required to wake units that are
# actively monitoring — without it they don't respond to POLL over TCP.
log.debug("startup: session reset signal")
self._send(SESSION_RESET)
log.debug("startup: POLL probe")
self._send(POLL_PROBE)
probe_rsp = self._recv_one(
@@ -200,6 +208,10 @@ class MiniMateProtocol:
"startup: POLL probe response page_key=0x%04X", probe_rsp.page_key
)
# Send another session-reset between probe and data (matches BW behavior).
log.debug("startup: session reset signal (inter-frame)")
self._send(SESSION_RESET)
log.debug("startup: POLL data request")
self._send(POLL_DATA)
data_rsp = self._recv_one(