fix(protocol): adjust full_waveform setting for event downloads to end when it should.
This commit is contained in:
+7
-7
@@ -885,13 +885,13 @@ def device_event_blastware_file(
|
|||||||
def _do():
|
def _do():
|
||||||
with _build_client(port, baud, host, tcp_port, timeout=120.0) as client:
|
with _build_client(port, baud, host, tcp_port, timeout=120.0) as client:
|
||||||
info = client.connect()
|
info = client.connect()
|
||||||
# Use full_waveform=True (stop_after_metadata=False) — downloads until
|
# Use full_waveform=False (stop_after_metadata=True) — stops when
|
||||||
# the device signals natural end-of-stream. For simple Continuous /
|
# "Project:" is found in the 5A stream. Content is byte-identical to
|
||||||
# Single-Shot events this gives byte-identical content to BW.
|
# BW for Continuous/Single-Shot events; our file is slightly shorter
|
||||||
# NOTE: Histogram+Continuous mode produces extra embedded STRT records
|
# (~286 bytes of extra ADC signal BW includes past the metadata).
|
||||||
# (session data from preceding histogram intervals bleeds into the 5A
|
# full_waveform=True corrupts the body: silence chunks past the event
|
||||||
# stream) — handle that mode separately once basic waveform is correct.
|
# contain device-internal pointers that embed extra STRT records.
|
||||||
events = client.get_events(full_waveform=True, stop_after_index=index)
|
events = client.get_events(full_waveform=False, stop_after_index=index)
|
||||||
matching = [ev for ev in events if ev.index == index]
|
matching = [ev for ev in events if ev.index == index]
|
||||||
return matching[0] if matching else None, info
|
return matching[0] if matching else None, info
|
||||||
ev, info = _run_with_retry(_do, is_tcp=_is_tcp(host))
|
ev, info = _run_with_retry(_do, is_tcp=_is_tcp(host))
|
||||||
|
|||||||
Reference in New Issue
Block a user