This commit is contained in:
Aiden
2026-05-13 16:31:16 +10:00
parent 9d76820ef6
commit 0824f46feb
5 changed files with 219 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
Button test on COM5 at 38400 8N1
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
16:28:59.912 RX 006 bytes 00 00 00 00 80 DA
16:28:59.912 DETECT heartbeat x1
16:29:00.610 RX 006 bytes 00 00 00 00 80 DA
16:29:00.610 DETECT heartbeat x1
16:29:01.096 RX 006 bytes 00 00 15 80 00 CF
16:29:01.096 DETECT call-on x1
16:29:01.096 TX button response frame 006 00 00 15 80 00 CF
16:29:01.096 TX button response frame 006 00 00 15 00 00 4F
16:29:03.105 RX 001 bytes 00
16:29:03.135 RX 005 bytes 00 00 00 80 DA
16:29:03.717 RX 006 bytes 00 00 15 00 00 4F
16:29:03.717 DETECT call-off x1
16:29:04.391 RX 001 bytes 00
16:29:04.422 RX 005 bytes 00 00 00 80 DA
16:29:05.092 RX 001 bytes 00
16:29:05.122 RX 005 bytes 00 00 00 80 DA
16:29:05.792 RX 001 bytes 00
16:29:05.823 RX 005 bytes 00 00 00 80 DA
16:29:06.493 RX 001 bytes 00
16:29:06.523 RX 005 bytes 00 00 00 80 DA
Stopped.

View File

@@ -0,0 +1,23 @@
Button test on COM5 at 38400 8N1
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
16:29:18.972 RX 001 bytes 00
16:29:19.002 RX 005 bytes 00 00 00 80 DA
16:29:19.673 RX 001 bytes 00
16:29:19.703 RX 005 bytes 00 00 00 80 DA
16:29:20.067 RX 006 bytes 00 00 15 80 00 CF
16:29:20.067 DETECT call-on x1
16:29:20.268 TX button response frame 006 00 00 15 80 00 CF
16:29:20.268 TX button response frame 006 00 00 15 00 00 4F
16:29:22.278 RX 001 bytes 00
16:29:22.308 RX 005 bytes 00 00 00 80 DA
16:29:22.830 RX 001 bytes 00
16:29:22.861 RX 005 bytes 00 15 00 00 4F
16:29:23.470 RX 001 bytes 00
16:29:23.501 RX 005 bytes 00 00 00 80 DA
16:29:24.173 RX 001 bytes 00
16:29:24.204 RX 005 bytes 00 00 00 80 DA
16:29:24.874 RX 001 bytes 00
16:29:24.904 RX 005 bytes 00 00 00 80 DA
16:29:25.575 RX 001 bytes 00
16:29:25.606 RX 005 bytes 00 00 00 80 DA
Stopped.

View File

@@ -0,0 +1,26 @@
Button test on COM5 at 38400 8N1
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
16:28:19.063 RX 006 bytes 00 00 15 80 00 CF
16:28:19.063 DETECT call-on x1
16:28:19.114 TX button response frame 006 00 00 15 80 00 CF
16:28:19.725 RX 001 bytes 00
16:28:19.755 RX 005 bytes 00 00 00 80 DA
16:28:20.000 RX 006 bytes 00 00 00 00 80 DA
16:28:20.000 DETECT heartbeat x1
16:28:20.244 RX 006 bytes 00 00 00 00 80 DA
16:28:20.244 DETECT heartbeat x1
16:28:20.488 RX 001 bytes 00
16:28:20.518 RX 005 bytes 00 00 00 80 DA
16:28:20.733 RX 001 bytes 00
16:28:20.763 RX 005 bytes 00 00 00 80 DA
16:28:21.006 RX 006 bytes 00 00 00 00 80 DA
16:28:21.006 DETECT heartbeat x1
16:28:21.647 RX 006 bytes 00 00 00 00 80 DA
16:28:21.647 DETECT heartbeat x1
16:28:22.347 RX 006 bytes 00 00 00 00 80 DA
16:28:22.347 DETECT heartbeat x1
16:28:23.047 RX 006 bytes 00 00 00 00 80 DA
16:28:23.047 DETECT heartbeat x1
16:28:23.751 RX 006 bytes 00 00 00 00 80 DA
16:28:23.751 DETECT heartbeat x1
Stopped.

View File

@@ -0,0 +1,32 @@
Button test on COM5 at 38400 8N1
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
16:28:40.679 RX 001 bytes 00
16:28:40.710 RX 005 bytes 00 00 00 80 DA
16:28:41.289 RX 006 bytes 00 00 15 80 00 CF
16:28:41.289 DETECT call-on x1
16:28:41.340 TX button response frame 006 00 00 15 00 00 4F
16:28:41.982 RX 001 bytes 00
16:28:42.012 RX 005 bytes 00 00 00 80 DA
16:28:42.230 RX 001 bytes 00
16:28:42.260 RX 005 bytes 00 00 00 80 DA
16:28:42.476 RX 001 bytes 00
16:28:42.506 RX 005 bytes 00 00 00 80 DA
16:28:42.750 RX 006 bytes 00 00 00 00 80 DA
16:28:42.750 DETECT heartbeat x1
16:28:42.994 RX 006 bytes 00 00 00 00 80 DA
16:28:42.994 DETECT heartbeat x1
16:28:43.237 RX 001 bytes 00
16:28:43.268 RX 005 bytes 00 00 00 80 DA
16:28:43.483 RX 006 bytes 00 00 15 00 00 4F
16:28:43.483 DETECT call-off x1
16:28:44.091 RX 006 bytes 00 00 00 00 80 DA
16:28:44.091 DETECT heartbeat x1
16:28:44.792 RX 006 bytes 00 00 00 00 80 DA
16:28:44.792 DETECT heartbeat x1
16:28:45.494 RX 006 bytes 00 00 00 00 80 DA
16:28:45.494 DETECT heartbeat x1
16:28:46.195 RX 006 bytes 00 00 00 00 80 DA
16:28:46.195 DETECT heartbeat x1
16:28:46.896 RX 006 bytes 00 00 00 00 80 DA
16:28:46.896 DETECT heartbeat x1
Stopped.

View File

@@ -2844,3 +2844,118 @@ Interpretation:
of the trigger.
- If it does not appear, the original hit may have depended on a very specific
press/release timing or buffered frame ordering.
### 2026-05-13 CALL Exact-Echo Repro Result
Captures:
- `captures/rcp-buttons-call-exact-echo-repro-1.txt`
- `captures/rcp-buttons-call-exact-echo-repro-2.txt`
- `captures/rcp-buttons-call-exact-echo-repro-3.txt`
All three runs detected `CALL` high/on and sent the same exact echo pair:
```text
00 00 15 80 00 CF
00 00 15 00 00 4F
```
Observed serial result:
| Run | Result |
| --- | --- |
| repro 1 | random assortment of button presses; no `07 80 45 20 D0 68`; returned to heartbeat/CALL traffic |
| repro 2 | press-and-hold `CALL`; `07 80 45 20 D0 68` observed once, about 33 ms after the echo pair |
| repro 3 | quick `CALL` press only; no `07 80 45 20 D0 68`; returned to heartbeat traffic |
Interpretation:
- The `07 80 45 20 D0 68` frame is reproducible, but appears sensitive to
physical CALL timing. It has now been seen in the original exact-echo test
and in the press-and-hold repro run.
- Because each run sent the same two response frames after `CALL` high, the
strongest current hypothesis is that CALL must remain asserted briefly after
the host echo pair.
- Receive buffer alignment or an internal RCP state bit may still be involved,
but the quick-press miss and press-and-hold hit make button hold duration the
next variable to isolate.
- This frame is still best treated as a CALL/event-response clue, not as an
activation handshake.
Next tighter CALL tests:
1. Echo only `CALL high/on`.
2. Echo only `CALL low/off`.
3. Repeat the two-frame exact echo while deliberately holding CALL until the
script has logged either the watch frame or the next heartbeat.
4. Repeat the two-frame exact echo with shorter and longer response delays.
High-only echo:
```powershell
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-frame "00 00 15 80 00 CF" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-high-only-echo.txt
```
Low-only echo:
```powershell
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-low-only-echo.txt
```
Two-frame echo with a shorter response delay:
```powershell
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.0 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-exact-echo-delay-0ms.txt
```
Two-frame echo with a longer response delay:
```powershell
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.2 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-exact-echo-delay-200ms.txt
```
### 2026-05-13 CALL Hold Timing Tests
Captures:
- `captures/rcp-buttons-call-high-only-echo.txt`
- `captures/rcp-buttons-call-low-only-echo.txt`
- `captures/rcp-buttons-call-exact-echo-delay-0ms.txt`
- `captures/rcp-buttons-call-exact-echo-delay-200ms.txt`
User procedure:
- All four tests used a roughly 2 second hold on the `CALL` button.
Observed result:
| Test | Host response | Result |
| --- | --- | --- |
| high-only echo | `00 00 15 80 00 CF` after CALL high | no `07 80 45 20 D0 68` |
| low-only echo | `00 00 15 00 00 4F` after CALL high | no `07 80 45 20 D0 68` |
| exact echo, 0 ms delay | high echo then low echo immediately | no `07 80 45 20 D0 68` |
| exact echo, 200 ms delay | high echo then low echo after 200 ms response delay | no `07 80 45 20 D0 68` |
Interpretation:
- Holding `CALL` alone is not sufficient to reproduce
`07 80 45 20 D0 68`.
- Echoing only one of the two CALL states is not sufficient in these tests.
- The previous successful repro used the two-frame exact echo with the script's
default 50 ms response delay. The failed 0 ms and 200 ms runs suggest the
timing window may be narrower than expected, or the frame depends on a
second uncontrolled variable.
- Current best hypothesis: `07 80 45 20 D0 68` requires the exact two-frame
CALL echo pair near the default delay timing, with CALL still asserted.
Next timing-bracket test:
```powershell
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.02 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-exact-echo-delay-20ms.txt
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.05 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-exact-echo-delay-50ms.txt
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.08 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-exact-echo-delay-80ms.txt
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.12 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-exact-echo-delay-120ms.txt
```
For each run, power-cycle first, press and hold `CALL` for about 2 seconds, then
release after either the watch frame appears or the next heartbeat appears.