This commit is contained in:
Aiden
2026-05-13 16:24:13 +10:00
parent 7f0ec19798
commit 9d76820ef6
6 changed files with 365 additions and 1 deletions

View File

@@ -2731,3 +2731,116 @@ Next CALL-focused checks:
which of the two echoed frames causes `07 80 45 20 D0 68`.
3. Try using `07 80 45 20 D0 68` as a follow-up host frame after CALL exact
echo, only after confirming repeatability.
### Real-World CALL Hold/Release Test
Goal: mimic how CALL would likely work in use:
```text
User holds CALL -> RCP sends CALL high/on
Host responds high -> host echoes/acknowledges CALL high/on
User releases CALL -> RCP sends CALL low/off
Host responds low -> host echoes/acknowledges CALL low/off
```
Test BTN8: mirror CALL high and low once per state.
```powershell
python scripts/serial_button_response_test.py --port COM5 --duration 30 --prompt --mirror-call --mirror-call-once-per-state --log captures/rcp-buttons-call-mirror-hold-release.txt
```
Procedure:
1. Power-cycle the RCP.
2. Start the command and press Enter at the prompt.
3. Hold `CALL` for about 2 seconds.
4. Release `CALL`.
5. Watch whether the screen changes and note the final screen text.
Interpretation:
- If the RCP again sends `07 80 45 20 D0 68`, the frame is likely part of the
CALL response path.
- If the screen still ends at `CONNECT NOT ACT`, this mirrors CALL signaling but
still does not satisfy the active-session handshake.
Optional latched version:
```powershell
python scripts/serial_button_response_test.py --port COM5 --latch --latch-query-command 0xB5 --duration 30 --prompt --mirror-call --mirror-call-once-per-state --log captures/rcp-buttons-latched-call-mirror-hold-release.txt
```
### 2026-05-13 Latched CALL Mirror Result
Capture:
- `captures/rcp-buttons-latched-call-mirror-hold-release.txt`
The capture contains three appended latched runs. Each run sent the `00 -> B5`
latch setup, then mirrored observed CALL high/low events with the matching CALL
frame.
Observed result:
- The RCP still emitted CALL high/low frames while latched.
- The mirror script sent `CALL high mirror` and/or `CALL low mirror` responses
as expected.
- No run reproduced the earlier exact-echo response
`07 80 45 20 D0 68`.
- Serial output returned to heartbeat/CALL event traffic.
Interpretation:
- The earlier `07 80 45 20 D0 68` response appears tied to sending both CALL
echo frames immediately after CALL high, not to a realistic held/released CALL
mirror sequence.
- Mirroring CALL state while latched does not appear to activate or unlatch the
RCP.
- The latched state continues to allow front-panel CALL events to be transmitted.
Tooling note:
- `scripts/serial_button_response_test.py` now clears the serial input buffer
immediately after the manual prompt. This avoids stale frames collected while
waiting at the prompt contaminating button timing in future hold/release
tests.
Clean non-latched repeat, if needed:
```powershell
python scripts/serial_button_response_test.py --port COM5 --duration 30 --prompt --mirror-call --mirror-call-once-per-state --log captures/rcp-buttons-call-mirror-hold-release.txt
```
### CALL Exact-Echo Reproducibility Test
Goal: determine whether the new frame `07 80 45 20 D0 68` is reproducible when
using the artificial exact-CALL echo that originally produced it.
Test BTN9: repeat exact CALL echo and explicitly watch for `07 80 45 20 D0 68`.
```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" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-exact-echo-repro-1.txt
```
Run the same command three times, changing only the log filename:
```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" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-exact-echo-repro-2.txt
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" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --log captures/rcp-buttons-call-exact-echo-repro-3.txt
```
Procedure for each run:
1. Power-cycle the RCP.
2. Start the command and press Enter at the prompt.
3. Press `CALL` once.
4. Stop after the script exits, then power-cycle before the next run.
Interpretation:
- If `Watch totals: 07 80 45 20 D0 68=1` appears consistently, the frame is a
reproducible response to artificial exact CALL echo.
- If it appears intermittently, timing or current panel state is probably part
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.