From 8cc9bb4cd82f57819989371e33ac1f6a04a12367 Mon Sep 17 00:00:00 2001 From: Aiden <68633820+awils27@users.noreply.github.com> Date: Wed, 13 May 2026 16:48:36 +1000 Subject: [PATCH] run 11 --- ...cp-buttons-call-45-followup-exact-echo.txt | 24 ++++++++ ...p-buttons-call-45-followup-generic-ack.txt | 28 ++++++++++ ...-buttons-call-45-followup-payload-echo.txt | 28 ++++++++++ docs/discovery-notes.md | 56 +++++++++++++++++++ 4 files changed, 136 insertions(+) create mode 100644 captures/rcp-buttons-call-45-followup-exact-echo.txt create mode 100644 captures/rcp-buttons-call-45-followup-generic-ack.txt create mode 100644 captures/rcp-buttons-call-45-followup-payload-echo.txt diff --git a/captures/rcp-buttons-call-45-followup-exact-echo.txt b/captures/rcp-buttons-call-45-followup-exact-echo.txt new file mode 100644 index 0000000..652b0bc --- /dev/null +++ b/captures/rcp-buttons-call-45-followup-exact-echo.txt @@ -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. diff --git a/captures/rcp-buttons-call-45-followup-generic-ack.txt b/captures/rcp-buttons-call-45-followup-generic-ack.txt new file mode 100644 index 0000000..1d14a1c --- /dev/null +++ b/captures/rcp-buttons-call-45-followup-generic-ack.txt @@ -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. diff --git a/captures/rcp-buttons-call-45-followup-payload-echo.txt b/captures/rcp-buttons-call-45-followup-payload-echo.txt new file mode 100644 index 0000000..8bceb0a --- /dev/null +++ b/captures/rcp-buttons-call-45-followup-payload-echo.txt @@ -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. diff --git a/docs/discovery-notes.md b/docs/discovery-notes.md index 63a9030..9693109 100644 --- a/docs/discovery-notes.md +++ b/docs/discovery-notes.md @@ -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 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.