This commit is contained in:
Aiden
2026-05-13 16:48:36 +10:00
parent cef4d098e3
commit 8cc9bb4cd8
4 changed files with 136 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
Button test on COM5 at 38400 8N1
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
16:46:14.283 RX 001 bytes 00
16:46:14.314 RX 005 bytes 00 00 00 80 DA
16:46:14.987 RX 001 bytes 00
16:46:15.018 RX 005 bytes 00 00 00 80 DA
16:46:15.690 RX 001 bytes 00
16:46:15.721 RX 005 bytes 00 00 00 80 DA
16:46:16.390 RX 001 bytes 00
16:46:16.420 RX 005 bytes 00 00 00 80 DA
16:46:16.909 RX 001 bytes 00
16:46:16.940 RX 005 bytes 00 15 00 00 4F
16:46:16.990 TX button response frame 006 00 00 15 80 00 CF
16:46:17.047 TX button response frame 006 00 00 15 00 00 4F
16:46:17.078 RX 006 bytes 07 80 45 20 D0 68
16:46:17.078 DETECT watch-frame 07 80 45 20 D0 68 x1
16:46:17.129 TX watch follow-up frame 006 07 80 45 20 D0 68
16:46:17.709 RX 006 bytes 00 00 00 00 80 DA
16:46:17.709 DETECT heartbeat x1
16:46:17.954 RX 006 bytes 00 00 00 00 80 DA
16:46:17.954 DETECT heartbeat x1
16:46:18.198 RX 006 bytes 00 00 00 00 80 DA
16:46:18.198 DETECT heartbeat x1
Stopped.

View File

@@ -0,0 +1,28 @@
Button test on COM5 at 38400 8N1
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
16:45:23.306 RX 001 bytes 00
16:45:23.336 RX 005 bytes 00 00 00 80 DA
16:45:23.762 RX 006 bytes 00 00 15 80 00 CF
16:45:23.762 DETECT call-on x1
16:45:23.813 TX button response frame 006 00 00 15 80 00 CF
16:45:23.864 TX button response frame 006 00 00 15 00 00 4F
16:45:23.894 RX 006 bytes 07 80 45 20 D0 68
16:45:23.894 DETECT watch-frame 07 80 45 20 D0 68 x1
16:45:23.945 TX watch follow-up frame 006 00 00 45 00 80 9F
16:45:24.525 RX 006 bytes 00 00 00 00 80 DA
16:45:24.525 DETECT heartbeat x1
16:45:24.768 RX 001 bytes 00
16:45:24.799 RX 005 bytes 00 00 00 80 DA
16:45:25.013 RX 001 bytes 00
16:45:25.044 RX 005 bytes 00 00 00 80 DA
16:45:25.257 RX 001 bytes 00
16:45:25.287 RX 005 bytes 00 00 00 80 DA
16:45:25.531 RX 006 bytes 00 00 00 00 80 DA
16:45:25.531 DETECT heartbeat x1
16:45:25.774 RX 006 bytes 00 00 00 00 80 DA
16:45:25.774 DETECT heartbeat x1
16:45:26.416 RX 001 bytes 00
16:45:26.446 RX 005 bytes 00 00 00 80 DA
16:45:27.116 RX 001 bytes 00
16:45:27.146 RX 005 bytes 00 00 00 80 DA
Stopped.

View File

@@ -0,0 +1,28 @@
Button test on COM5 at 38400 8N1
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
16:45:51.251 RX 006 bytes 00 00 00 00 80 DA
16:45:51.251 DETECT heartbeat x1
16:45:51.892 RX 006 bytes 00 00 15 80 00 CF
16:45:51.892 DETECT call-on x1
16:45:51.943 TX button response frame 006 00 00 15 80 00 CF
16:45:51.993 TX button response frame 006 00 00 15 00 00 4F
16:45:52.024 RX 006 bytes 07 80 45 20 D0 68
16:45:52.024 DETECT watch-frame 07 80 45 20 D0 68 x1
16:45:52.075 TX watch follow-up frame 006 00 00 45 20 D0 EF
16:45:52.625 RX 001 bytes 00
16:45:52.656 RX 005 bytes 00 00 00 80 DA
16:45:52.897 RX 006 bytes 00 00 00 00 80 DA
16:45:52.897 DETECT heartbeat x1
16:45:53.143 RX 006 bytes 00 00 00 00 80 DA
16:45:53.143 DETECT heartbeat x1
16:45:53.386 RX 001 bytes 00
16:45:53.416 RX 005 bytes 00 00 00 80 DA
16:45:53.630 RX 001 bytes 00
16:45:53.660 RX 005 bytes 00 00 00 80 DA
16:45:53.903 RX 006 bytes 00 00 00 00 80 DA
16:45:53.903 DETECT heartbeat x1
16:45:54.546 RX 006 bytes 00 00 00 00 80 DA
16:45:54.546 DETECT heartbeat x1
16:45:55.247 RX 006 bytes 00 00 00 00 80 DA
16:45:55.247 DETECT heartbeat x1
Stopped.

View File

@@ -3140,3 +3140,59 @@ python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt
For each follow-up test, note whether the LCD changes, whether more serial data For each follow-up test, note whether the LCD changes, whether more serial data
appears after the follow-up, and whether the panel returns to heartbeat only. appears after the follow-up, and whether the panel returns to heartbeat only.
### 2026-05-13 CALL `0x45` Follow-Up Result
Captures:
- `captures/rcp-buttons-call-45-followup-generic-ack.txt`
- `captures/rcp-buttons-call-45-followup-payload-echo.txt`
- `captures/rcp-buttons-call-45-followup-exact-echo.txt`
Observed result:
| Test | Follow-up sent after `07 80 45 20 D0 68` | Serial result |
| --- | --- | --- |
| F1 generic ACK | `00 00 45 00 80 9F` | heartbeat only after follow-up |
| F2 payload echo | `00 00 45 20 D0 EF` | heartbeat only after follow-up |
| F3 exact echo | `07 80 45 20 D0 68` | heartbeat only after follow-up |
Notes:
- F1 and F2 reproduced the normal CALL-high echo path, then sent the follow-up
frame after the RCP emitted `07 80 45 20 D0 68`.
- F3 still reproduced `07 80 45 20 D0 68`, but the triggering CALL event was
captured as a split CALL-off frame rather than a clean CALL-on log line. The
script's rolling buffer still recognized the frame and sent the configured
responses.
- None of the three follow-up shapes caused a visible serial-side state change
in the captured data. After the follow-up, the RCP returned to heartbeat.
Interpretation:
- The `0x45` frame is likely an RCP-origin response/notification in the CALL
event path, but these simple host answers are not the missing activation
handshake.
- The panel may not expect a direct answer to `0x45`, or the answer needs more
session context than a single command frame.
- Since `0x45` can be produced from the CALL-off side too, the RCP may be
responding to a CALL state transition sequence rather than specifically to
CALL high.
Next direction:
- Use the reproducible CALL echo/gap sequence as a diagnostic, but return to
the main activation problem: what host/session traffic makes the RCP leave
`CONNECT NOT ACT`.
- Test whether a known discovery query still works immediately after the CALL
`0x45` path, and whether CALL `0x45` changes the one-shot/latch behavior.
CALL then discovery query:
```powershell
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.05 --response-frame-interval 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" --followup-on-watch-frame --followup-frame "00 00 00 00 80 DA" --followup-frame "00 00 B5 00 80 6F" --log captures/rcp-buttons-call-45-followup-discovery-b5.txt
```
If this produces the known `B5` response `07 80 6D 20 D8 48`, then the CALL
path does not consume the one-shot discovery response. If it returns heartbeat
only, CALL/`0x45` may put the RCP into a similar one-shot consumed state.