feat: preserve and encode raw 0C record in sidecar extensions for offline analysis
This commit is contained in:
@@ -1362,6 +1362,20 @@ def _decode_waveform_record_into(data: bytes, event: Event) -> None:
|
||||
|
||||
Modifies event in-place.
|
||||
"""
|
||||
# ── Always preserve the raw 210 bytes ─────────────────────────────────────
|
||||
# The 0C record carries far more than just peaks + project strings:
|
||||
# ZC Freq, Time of Peak, Peak Acceleration, Peak Displacement, Vector
|
||||
# Sum Time, MicL Time of Peak, and the per-channel sensor self-check
|
||||
# results (Test Freq / Ratio / Pass-Fail) all live somewhere in this
|
||||
# 210-byte block. Their byte offsets are not yet mapped — keeping the
|
||||
# raw bytes lets us decode those fields offline once we have a paired
|
||||
# (raw 0C, BW-report) sample to fit against. Cheap to keep around
|
||||
# (210 bytes per event).
|
||||
try:
|
||||
event._raw_record = bytes(data[:210])
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# ── Record type + format detection ────────────────────────────────────────
|
||||
# `record_type` is the user-facing label ("Waveform" for any triggered
|
||||
# event regardless of timestamp-header layout). `fmt` is the internal
|
||||
|
||||
Reference in New Issue
Block a user