This commit is contained in:
Aiden
2026-05-13 15:19:58 +10:00
parent 5b4179d341
commit 659ad33c48
5 changed files with 102 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
Primer/candidate sweep: primer 00 00 00 00 80 DA, 3 candidates on COM5 at 38400 8N1
CANDIDATE 0xA0 BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
15:15:20.703 TX primer frame 006 00 00 00 00 80 DA
15:15:21.312 TX candidate 0xA0 frame 006 00 00 A0 00 80 7A
15:15:21.312 CANDIDATE 0xA0 ANOMALY 42 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
15:15:21.312 CANDIDATE 0xA0 raw 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5
Completed candidate 1/3
CANDIDATE 0xB8 BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
15:15:37.653 TX primer frame 006 00 00 00 00 80 DA
15:15:38.262 TX candidate 0xB8 frame 006 00 00 B8 00 80 62
15:15:38.262 CANDIDATE 0xB8 ANOMALY 42 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
15:15:38.262 CANDIDATE 0xB8 raw 07 80 6E 40 30 C3 07 80 6E 40 30 C3 07 80 6E 40 30 C3 07 80 6E 40 30 C3 07 80 6E 40 30 C3 07 80 6E 40 30 C3 07 80 6E 40 30 C3
Completed candidate 2/3
CANDIDATE 0xBC BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
15:15:49.553 TX primer frame 006 00 00 00 00 80 DA
15:15:50.166 TX candidate 0xBC frame 006 00 00 BC 00 80 66
15:15:50.166 CANDIDATE 0xBC ANOMALY 42 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
15:15:50.166 CANDIDATE 0xBC raw 07 80 6F 40 30 C2 07 80 6F 40 30 C2 07 80 6F 40 30 C2 07 80 6F 40 30 C2 07 80 6F 40 30 C2 07 80 6F 40 30 C2 07 80 6F 40 30 C2
Completed candidate 3/3
Anomalies: 3

View File

@@ -0,0 +1,10 @@
Direct response sweep: 3 frames x 1 cycles (3 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
15:16:08.512 TX cycle=1 p1=0x00 p2=0x00 cmd=0x90 state=0x00 value=0x80 frame 006 00 00 90 00 80 4A
15:16:09.336 TX cycle=1 p1=0x00 p2=0x00 cmd=0x9F state=0x00 value=0x80 frame 006 00 00 9F 00 80 45
15:16:10.159 TX cycle=1 p1=0x00 p2=0x00 cmd=0xA0 state=0x00 value=0x80 frame 006 00 00 A0 00 80 7A
15:16:10.159 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
15:16:10.159 RX raw 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5
FINAL ANOMALY 42 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
FINAL raw 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 00 00 00 00 80 DA 00 00 00 00 80 DA
Anomalies: 1

View File

@@ -0,0 +1,10 @@
Direct response sweep: 3 frames x 1 cycles (3 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes
15:16:46.606 TX cycle=1 p1=0x00 p2=0x00 cmd=0x00 state=0x00 value=0x80 frame 006 00 00 00 00 80 DA
15:16:47.430 TX cycle=1 p1=0x00 p2=0x00 cmd=0x9F state=0x00 value=0x80 frame 006 00 00 9F 00 80 45
15:16:48.256 TX cycle=1 p1=0x00 p2=0x00 cmd=0xA0 state=0x00 value=0x80 frame 006 00 00 A0 00 80 7A
15:16:48.256 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
15:16:48.256 RX raw 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5
FINAL ANOMALY 42 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
FINAL raw 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 00 00 00 00 80 DA 00 00 00 00 80 DA
Anomalies: 1

View File

@@ -0,0 +1,9 @@
Direct response sweep: 2 frames x 1 cycles (2 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
15:16:29.540 TX cycle=1 p1=0x00 p2=0x00 cmd=0x90 state=0x00 value=0x80 frame 006 00 00 90 00 80 4A
15:16:30.362 TX cycle=1 p1=0x00 p2=0x00 cmd=0xA0 state=0x00 value=0x80 frame 006 00 00 A0 00 80 7A
15:16:30.362 ANOMALY 30 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
15:16:30.362 RX raw 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5
FINAL ANOMALY 37 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
FINAL raw 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 07 80 68 40 30 C5 00 00 00 00 80 DA 00 00 00 00 80 DA 00
Anomalies: 1

View File

@@ -2338,3 +2338,56 @@ python scripts/serial_direct_response_sweep.py --port COM5 --commands "0x90 0x9F
python scripts/serial_direct_response_sweep.py --port COM5 --commands "0x90 0xA0" --states 0x00 --values 0x80 --settle 3 --after-each 0.8 --after 3 --log captures/rcp-context-seq-90-a0.txt
python scripts/serial_direct_response_sweep.py --port COM5 --commands "0x00 0x9F 0xA0" --states 0x00 --values 0x80 --settle 3 --after-each 0.8 --after 3 --log captures/rcp-context-seq-00-9f-a0.txt
```
### 2026-05-13 Context Confirmation Result
New captures:
- `captures/rcp-context-repeat-00-a0-b8-bc.txt`
- `captures/rcp-context-repeat-90-9f-a0.txt`
- `captures/rcp-context-seq-90-a0.txt`
- `captures/rcp-context-seq-00-9f-a0.txt`
Observed results:
| Test | Sequence | Observed response |
| --- | --- | --- |
| Repeat `00` page | `00 -> A0` | `07 80 68 40 30 C5` |
| Repeat `00` page | `00 -> B8` | `07 80 6E 40 30 C3` |
| Repeat `00` page | `00 -> BC` | `07 80 6F 40 30 C2` |
| Repeat three-frame A0 | `90 -> 9F -> A0` | `07 80 68 40 30 C5` |
| A0 with `90` only | `90 -> A0` | `07 80 68 40 30 C5` |
| A0 with `00` then `9F` | `00 -> 9F -> A0` | `07 80 68 40 30 C5` |
Updated interpretation:
- `90 -> A0` is enough to produce the `A0` response
`07 80 68 40 30 C5`; `9F` is not required for that page.
- `00 -> 9F -> A0` also produces `07 80 68 40 30 C5`, so a frame before `9F`
can arm the response, but `9F` does not appear to select the alternate `A0`
response by itself.
- The repeat `00 -> A0` result returned to `07 80 68 40 30 C5`, while the
previous `00 -> A0` context dataset returned `07 80 E8 40 30 45`. Treat the
`E8` response as real but not yet deterministic from the current two-frame
model.
- `00 -> B8` and `00 -> BC` remained stable as `07 80 6E 40 30 C3` and
`07 80 6F 40 30 C2`, matching the earlier alternate-page observations.
Current best model:
```text
The RCP requires at least one setup frame before many query commands respond.
Some setup/query pairs are stable, for example 90 -> A0 and 00 -> B8.
Some response differences are still not explained by only the immediately
preceding frame, so a hidden boot/session/state bit or timing-sensitive page
selection may also be involved.
```
Next useful tests:
1. Retest `00 -> A0` several times in a row with a power cycle before each run
to measure whether `68` or `E8` is the dominant response.
2. Try direct pairs for the observed alternate `B8/BC` family:
`B8 -> B9`, `BC -> BD`, and `BD -> BE`.
3. Sweep the `D0-DF` region with the same primer-pair method to see whether the
structured discovery table continues after `CF`.