fix: improve monitoring functionality with session-reset signal and payload adjustments
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user