feat: mapped record_mode protocol
This commit is contained in:
@@ -360,6 +360,7 @@ Do NOT use fixed absolute offsets for sample_rate or record_time.
|
||||
|
||||
| Field | How to find it |
|
||||
|---|---|
|
||||
| **recording_mode** | **uint8 at anchor − 3 (write payload) / anchor − 4 (read response)** ✅ confirmed 2026-04-20 |
|
||||
| sample_rate | uint16 BE at anchor − 2 |
|
||||
| record_time | float32 BE at anchor + 10 |
|
||||
| trigger_level_geo | float32 BE, located in channel block |
|
||||
@@ -371,6 +372,18 @@ Do NOT use fixed absolute offsets for sample_rate or record_time.
|
||||
|
||||
Anchor: `b'\x01\x2c\x00\x00\xbe\x80\x00\x00\x00\x00'`, search `cfg[0:150]`
|
||||
|
||||
**recording_mode enum** (confirmed 2026-04-20 from 4-20-26 captures):
|
||||
|
||||
| Value | Mode |
|
||||
|---|---|
|
||||
| `0x00` | Single Shot |
|
||||
| `0x01` | Continuous |
|
||||
| `0x02` | ❓ not observed |
|
||||
| `0x03` | Histogram |
|
||||
| `0x04` | Histogram + Continuous |
|
||||
|
||||
**Offset note:** The write payload (SUB 71 cfg) has recording_mode 3 bytes before the anchor (`anchor_pos − 3`). The E5 read response has it 4 bytes before (`anchor_pos − 4`), with an extra `0x10` byte sitting between recording_mode and sample_rate in the read format. Use `anchor_pos − 3` when encoding writes; use `anchor_pos − 4` when decoding reads.
|
||||
|
||||
### SUB 0C — Waveform Record (210 bytes = data[11:11+0xD2])
|
||||
|
||||
**sub_code=0x10 (Waveform single-shot) — 9-byte timestamp header:**
|
||||
@@ -704,8 +717,8 @@ Fields visible in the Blastware Compliance Setup dialog — most are NOT YET dec
|
||||
offsets in the raw 1A/E5 payload. Only fields with `✅` have confirmed offsets in the code.
|
||||
|
||||
**Recording Setup tab:**
|
||||
- Recording Mode: Continuous / Single Shot / Histogram (enum)
|
||||
- Record Stop Mode: Fixed Record Time / Auto / Manual Stop (enum)
|
||||
- Recording Mode: Continuous / Single Shot / Histogram / Histogram+Continuous ✅ (uint8 at anchor−3 in write, anchor−4 in read; 0x00=Single Shot, 0x01=Continuous, 0x03=Histogram, 0x04=Histogram+Continuous) — confirmed 2026-04-20
|
||||
- Record Stop Mode: Fixed Record Time / Auto / Manual Stop (enum) ❓ (byte near recording_mode; data[40] in E5 sf1 changed 0x01→0x00 alongside Continuous→Single Shot — may be this field)
|
||||
- Sample Rate: Standard 1024 / Fast 2048 / Faster 4096 sps ✅ (anchor−2)
|
||||
- Record Time: float, seconds ✅ (anchor+10)
|
||||
- Histogram Interval: 5 / 15 / 30 / 60 minutes (enum, mode-gated)
|
||||
|
||||
Reference in New Issue
Block a user