From b9e76911bb62970c58fb1b6402062a6471f44992 Mon Sep 17 00:00:00 2001 From: Aiden <68633820+awils27@users.noreply.github.com> Date: Wed, 13 May 2026 18:45:10 +1000 Subject: [PATCH] run17 --- .../rcp-heartbeat-maintained-a0-dense.txt | 57 ++ captures/rcp-heartbeat-maintained-a0.txt | 58 ++ captures/rcp-heartbeat-maintained-b0.txt | 57 ++ .../rcp-negative-a0-once-then-silence.txt | 13 + captures/rcp-negative-a0-repeat.txt | 37 ++ .../rcp-negative-b0-once-then-silence.txt | 13 + captures/rcp-negative-b0-repeat.txt | 37 ++ captures/rcp-negative-bad-a0-once.txt | 26 + captures/rcp-negative-bad-heartbeat-once.txt | 26 + captures/rcp-negative-heartbeat-100ms.txt | 94 +++ captures/rcp-negative-heartbeat-1500ms.txt | 302 +++++++++ captures/rcp-negative-heartbeat-500ms.txt | 136 +++++ captures/rcp-negative-heartbeat-only.txt | 572 ++++++++++++++++++ captures/rcp-negative-primer-groups.txt | 28 + docs/discovery-notes.md | 416 +++++++++++++ docs/pt2-protocol-summary.md | 26 + 16 files changed, 1898 insertions(+) create mode 100644 captures/rcp-heartbeat-maintained-a0-dense.txt create mode 100644 captures/rcp-heartbeat-maintained-a0.txt create mode 100644 captures/rcp-heartbeat-maintained-b0.txt create mode 100644 captures/rcp-negative-a0-once-then-silence.txt create mode 100644 captures/rcp-negative-a0-repeat.txt create mode 100644 captures/rcp-negative-b0-once-then-silence.txt create mode 100644 captures/rcp-negative-b0-repeat.txt create mode 100644 captures/rcp-negative-bad-a0-once.txt create mode 100644 captures/rcp-negative-bad-heartbeat-once.txt create mode 100644 captures/rcp-negative-heartbeat-100ms.txt create mode 100644 captures/rcp-negative-heartbeat-1500ms.txt create mode 100644 captures/rcp-negative-heartbeat-500ms.txt create mode 100644 captures/rcp-negative-heartbeat-only.txt create mode 100644 captures/rcp-negative-primer-groups.txt diff --git a/captures/rcp-heartbeat-maintained-a0-dense.txt b/captures/rcp-heartbeat-maintained-a0-dense.txt new file mode 100644 index 0000000..e80b6d3 --- /dev/null +++ b/captures/rcp-heartbeat-maintained-a0-dense.txt @@ -0,0 +1,57 @@ +Sequence probe: 5 frames x 4 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 00 00 80 DA +FRAME 2: 00 00 00 00 80 DA +FRAME 3: 00 00 A0 00 80 7A +FRAME 4: 00 00 00 00 80 DA +FRAME 5: 00 00 00 00 80 DA +BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 1/4 +18:37:03.608 TX group=1 frame=1 len=006 00 00 00 00 80 DA +18:37:03.608 RX group=1 frame=1 heartbeat-compatible RX: 6 bytes, offset 0, 1 frames + 0 bytes +18:37:03.954 TX group=1 frame=2 len=006 00 00 00 00 80 DA +18:37:03.954 RX group=1 frame=2 ANOMALY 18 RX bytes; first mismatch at byte 6: got 07, heartbeat offset 0 expected 00 +18:37:03.954 RX group=1 frame=2 raw 00 00 00 00 80 DA 07 80 40 40 30 ED 07 80 40 40 30 ED +18:37:04.302 TX group=1 frame=3 len=006 00 00 A0 00 80 7A +18:37:04.302 RX group=1 frame=3 heartbeat-compatible RX: 7 bytes, offset 0, 1 frames + 1 bytes +18:37:04.677 TX group=1 frame=4 len=006 00 00 00 00 80 DA +18:37:04.677 RX group=1 frame=4 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +18:37:05.054 TX group=1 frame=5 len=006 00 00 00 00 80 DA +18:37:05.054 RX group=1 frame=5 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +GROUP 1 TAIL heartbeat-compatible RX: 11 bytes, offset 1, 1 frames + 5 bytes +BEGIN group 2/4 +18:37:05.816 TX group=2 frame=1 len=006 00 00 00 00 80 DA +18:37:05.816 RX group=2 frame=1 heartbeat-compatible RX: 7 bytes, offset 0, 1 frames + 1 bytes +18:37:06.192 TX group=2 frame=2 len=006 00 00 00 00 80 DA +18:37:06.192 RX group=2 frame=2 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +18:37:06.569 TX group=2 frame=3 len=006 00 00 A0 00 80 7A +18:37:06.569 RX group=2 frame=3 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +18:37:06.945 TX group=2 frame=4 len=006 00 00 00 00 80 DA +18:37:06.945 RX group=2 frame=4 heartbeat-compatible RX: 11 bytes, offset 1, 1 frames + 5 bytes +18:37:07.289 TX group=2 frame=5 len=006 00 00 00 00 80 DA +18:37:07.289 RX group=2 frame=5 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +BEGIN group 3/4 +18:37:08.052 TX group=3 frame=1 len=006 00 00 00 00 80 DA +18:37:08.052 RX group=3 frame=1 heartbeat-compatible RX: 7 bytes, offset 0, 1 frames + 1 bytes +18:37:08.425 TX group=3 frame=2 len=006 00 00 00 00 80 DA +18:37:08.425 RX group=3 frame=2 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +18:37:08.802 TX group=3 frame=3 len=006 00 00 A0 00 80 7A +18:37:08.802 RX group=3 frame=3 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +18:37:09.177 TX group=3 frame=4 len=006 00 00 00 00 80 DA +18:37:09.177 RX group=3 frame=4 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +18:37:09.552 TX group=3 frame=5 len=006 00 00 00 00 80 DA +18:37:09.552 RX group=3 frame=5 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +GROUP 3 TAIL heartbeat-compatible RX: 11 bytes, offset 1, 1 frames + 5 bytes +BEGIN group 4/4 +18:37:10.316 TX group=4 frame=1 len=006 00 00 00 00 80 DA +18:37:10.316 RX group=4 frame=1 heartbeat-compatible RX: 7 bytes, offset 0, 1 frames + 1 bytes +18:37:10.691 TX group=4 frame=2 len=006 00 00 00 00 80 DA +18:37:10.691 RX group=4 frame=2 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +18:37:11.067 TX group=4 frame=3 len=006 00 00 A0 00 80 7A +18:37:11.067 RX group=4 frame=3 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +18:37:11.442 TX group=4 frame=4 len=006 00 00 00 00 80 DA +18:37:11.442 RX group=4 frame=4 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +18:37:11.817 TX group=4 frame=5 len=006 00 00 00 00 80 DA +18:37:11.817 RX group=4 frame=5 heartbeat-compatible RX: 12 bytes, offset 1, 2 frames + 0 bytes +GROUP 4 TAIL heartbeat-compatible RX: 17 bytes, offset 1, 2 frames + 5 bytes +Anomalies: 1 diff --git a/captures/rcp-heartbeat-maintained-a0.txt b/captures/rcp-heartbeat-maintained-a0.txt new file mode 100644 index 0000000..6722bf3 --- /dev/null +++ b/captures/rcp-heartbeat-maintained-a0.txt @@ -0,0 +1,58 @@ +Sequence probe: 5 frames x 4 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 00 00 80 DA +FRAME 2: 00 00 A0 00 80 7A +FRAME 3: 00 00 00 00 80 DA +FRAME 4: 00 00 00 00 80 DA +FRAME 5: 00 00 00 00 80 DA +BASELINE heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +BEGIN group 1/4 +18:35:55.710 TX group=1 frame=1 len=006 00 00 00 00 80 DA +18:35:55.710 RX group=1 frame=1 no RX bytes +18:35:56.325 TX group=1 frame=2 len=006 00 00 A0 00 80 7A +18:35:56.325 RX group=1 frame=2 ANOMALY 18 RX bytes; first mismatch at byte 6: got 07, heartbeat offset 0 expected 00 +18:35:56.325 RX group=1 frame=2 raw 00 00 00 00 80 DA 07 80 68 40 30 C5 07 80 68 40 30 C5 +18:35:56.944 TX group=1 frame=3 len=006 00 00 00 00 80 DA +18:35:56.944 RX group=1 frame=3 ANOMALY 18 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00 +18:35:56.944 RX group=1 frame=3 raw 07 80 68 40 30 C5 00 00 00 00 80 DA 00 00 00 00 80 DA +18:35:57.559 TX group=1 frame=4 len=006 00 00 00 00 80 DA +18:35:57.559 RX group=1 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:35:58.175 TX group=1 frame=5 len=006 00 00 00 00 80 DA +18:35:58.175 RX group=1 frame=5 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 1 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +BEGIN group 2/4 +18:35:59.059 TX group=2 frame=1 len=006 00 00 00 00 80 DA +18:35:59.059 RX group=2 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +18:35:59.676 TX group=2 frame=2 len=006 00 00 A0 00 80 7A +18:35:59.676 RX group=2 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:00.293 TX group=2 frame=3 len=006 00 00 00 00 80 DA +18:36:00.293 RX group=2 frame=3 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:00.910 TX group=2 frame=4 len=006 00 00 00 00 80 DA +18:36:00.910 RX group=2 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:01.526 TX group=2 frame=5 len=006 00 00 00 00 80 DA +18:36:01.526 RX group=2 frame=5 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +BEGIN group 3/4 +18:36:02.378 TX group=3 frame=1 len=006 00 00 00 00 80 DA +18:36:02.378 RX group=3 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +18:36:02.994 TX group=3 frame=2 len=006 00 00 A0 00 80 7A +18:36:02.994 RX group=3 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:03.609 TX group=3 frame=3 len=006 00 00 00 00 80 DA +18:36:03.609 RX group=3 frame=3 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:04.225 TX group=3 frame=4 len=006 00 00 00 00 80 DA +18:36:04.225 RX group=3 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:04.840 TX group=3 frame=5 len=006 00 00 00 00 80 DA +18:36:04.840 RX group=3 frame=5 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 3 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +BEGIN group 4/4 +18:36:05.728 TX group=4 frame=1 len=006 00 00 00 00 80 DA +18:36:05.728 RX group=4 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +18:36:06.346 TX group=4 frame=2 len=006 00 00 A0 00 80 7A +18:36:06.346 RX group=4 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:06.963 TX group=4 frame=3 len=006 00 00 00 00 80 DA +18:36:06.963 RX group=4 frame=3 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:07.582 TX group=4 frame=4 len=006 00 00 00 00 80 DA +18:36:07.582 RX group=4 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:08.200 TX group=4 frame=5 len=006 00 00 00 00 80 DA +18:36:08.200 RX group=4 frame=5 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 4 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +Anomalies: 2 diff --git a/captures/rcp-heartbeat-maintained-b0.txt b/captures/rcp-heartbeat-maintained-b0.txt new file mode 100644 index 0000000..8a2c647 --- /dev/null +++ b/captures/rcp-heartbeat-maintained-b0.txt @@ -0,0 +1,57 @@ +Sequence probe: 5 frames x 4 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 00 00 80 DA +FRAME 2: 00 00 B0 00 80 6A +FRAME 3: 00 00 00 00 80 DA +FRAME 4: 00 00 00 00 80 DA +FRAME 5: 00 00 00 00 80 DA +BASELINE heartbeat-compatible RX: 25 bytes, offset 0, 4 frames + 1 bytes +BEGIN group 1/4 +18:36:28.178 TX group=1 frame=1 len=006 00 00 00 00 80 DA +18:36:28.178 RX group=1 frame=1 heartbeat-compatible RX: 5 bytes, offset 1, 0 frames + 5 bytes +18:36:28.796 TX group=1 frame=2 len=006 00 00 B0 00 80 6A +18:36:28.796 RX group=1 frame=2 ANOMALY 6 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00 +18:36:28.796 RX group=1 frame=2 raw 07 80 6C 40 30 C1 +18:36:29.413 TX group=1 frame=3 len=006 00 00 00 00 80 DA +18:36:29.413 RX group=1 frame=3 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +18:36:30.030 TX group=1 frame=4 len=006 00 00 00 00 80 DA +18:36:30.030 RX group=1 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:30.647 TX group=1 frame=5 len=006 00 00 00 00 80 DA +18:36:30.647 RX group=1 frame=5 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 1 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +BEGIN group 2/4 +18:36:31.502 TX group=2 frame=1 len=006 00 00 00 00 80 DA +18:36:31.502 RX group=2 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +18:36:32.122 TX group=2 frame=2 len=006 00 00 B0 00 80 6A +18:36:32.122 RX group=2 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:32.737 TX group=2 frame=3 len=006 00 00 00 00 80 DA +18:36:32.737 RX group=2 frame=3 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:33.354 TX group=2 frame=4 len=006 00 00 00 00 80 DA +18:36:33.354 RX group=2 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:33.971 TX group=2 frame=5 len=006 00 00 00 00 80 DA +18:36:33.971 RX group=2 frame=5 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +BEGIN group 3/4 +18:36:34.855 TX group=3 frame=1 len=006 00 00 00 00 80 DA +18:36:34.855 RX group=3 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +18:36:35.472 TX group=3 frame=2 len=006 00 00 B0 00 80 6A +18:36:35.472 RX group=3 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:36.089 TX group=3 frame=3 len=006 00 00 00 00 80 DA +18:36:36.089 RX group=3 frame=3 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:36.706 TX group=3 frame=4 len=006 00 00 00 00 80 DA +18:36:36.706 RX group=3 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:37.323 TX group=3 frame=5 len=006 00 00 00 00 80 DA +18:36:37.323 RX group=3 frame=5 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 3 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +BEGIN group 4/4 +18:36:38.174 TX group=4 frame=1 len=006 00 00 00 00 80 DA +18:36:38.174 RX group=4 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +18:36:38.791 TX group=4 frame=2 len=006 00 00 B0 00 80 6A +18:36:38.791 RX group=4 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:39.407 TX group=4 frame=3 len=006 00 00 00 00 80 DA +18:36:39.407 RX group=4 frame=3 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:40.025 TX group=4 frame=4 len=006 00 00 00 00 80 DA +18:36:40.025 RX group=4 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:36:40.643 TX group=4 frame=5 len=006 00 00 00 00 80 DA +18:36:40.643 RX group=4 frame=5 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 4 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +Anomalies: 1 diff --git a/captures/rcp-negative-a0-once-then-silence.txt b/captures/rcp-negative-a0-once-then-silence.txt new file mode 100644 index 0000000..f4d5888 --- /dev/null +++ b/captures/rcp-negative-a0-once-then-silence.txt @@ -0,0 +1,13 @@ +Sequence probe: 2 frames x 1 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 00 00 80 DA +FRAME 2: 00 00 A0 00 80 7A +BASELINE heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +BEGIN group 1/1 +18:20:52.394 TX group=1 frame=1 len=006 00 00 00 00 80 DA +18:20:52.394 RX group=1 frame=1 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:20:53.663 TX group=1 frame=2 len=006 00 00 A0 00 80 7A +18:20:53.663 RX group=1 frame=2 ANOMALY 36 RX bytes; first mismatch at byte 1: got 00, heartbeat offset 3 expected 80 +18:20:53.663 RX group=1 frame=2 raw 00 00 00 00 80 DA 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 +GROUP 1 TAIL ANOMALY 54 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00 +GROUP 1 TAIL raw 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 00 00 00 80 DA 00 00 00 00 80 DA 00 00 00 00 80 DA 00 00 00 00 80 DA +Anomalies: 2 diff --git a/captures/rcp-negative-a0-repeat.txt b/captures/rcp-negative-a0-repeat.txt new file mode 100644 index 0000000..c7dcc83 --- /dev/null +++ b/captures/rcp-negative-a0-repeat.txt @@ -0,0 +1,37 @@ +Sequence probe: 2 frames x 5 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 00 00 80 DA +FRAME 2: 00 00 A0 00 80 7A +BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 1/5 +18:21:49.165 TX group=1 frame=1 len=006 00 00 00 00 80 DA +18:21:49.165 RX group=1 frame=1 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +18:21:50.222 TX group=1 frame=2 len=006 00 00 A0 00 80 7A +18:21:50.222 RX group=1 frame=2 ANOMALY 30 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00 +18:21:50.222 RX group=1 frame=2 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 +GROUP 1 TAIL ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00 +GROUP 1 TAIL 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 +BEGIN group 2/5 +18:21:53.052 TX group=2 frame=1 len=006 00 00 00 00 80 DA +18:21:53.052 RX group=2 frame=1 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +18:21:54.108 TX group=2 frame=2 len=006 00 00 A0 00 80 7A +18:21:54.108 RX group=2 frame=2 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 3/5 +18:21:56.936 TX group=3 frame=1 len=006 00 00 00 00 80 DA +18:21:56.936 RX group=3 frame=1 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +18:21:57.993 TX group=3 frame=2 len=006 00 00 A0 00 80 7A +18:21:57.993 RX group=3 frame=2 heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +GROUP 3 TAIL heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 4/5 +18:22:00.826 TX group=4 frame=1 len=006 00 00 00 00 80 DA +18:22:00.826 RX group=4 frame=1 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +18:22:01.881 TX group=4 frame=2 len=006 00 00 A0 00 80 7A +18:22:01.881 RX group=4 frame=2 heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +GROUP 4 TAIL heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 5/5 +18:22:04.709 TX group=5 frame=1 len=006 00 00 00 00 80 DA +18:22:04.709 RX group=5 frame=1 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +18:22:05.767 TX group=5 frame=2 len=006 00 00 A0 00 80 7A +18:22:05.767 RX group=5 frame=2 heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +GROUP 5 TAIL heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +Anomalies: 2 diff --git a/captures/rcp-negative-b0-once-then-silence.txt b/captures/rcp-negative-b0-once-then-silence.txt new file mode 100644 index 0000000..0aab0d1 --- /dev/null +++ b/captures/rcp-negative-b0-once-then-silence.txt @@ -0,0 +1,13 @@ +Sequence probe: 2 frames x 1 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 00 00 80 DA +FRAME 2: 00 00 B0 00 80 6A +BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 1/1 +18:21:18.385 TX group=1 frame=1 len=006 00 00 00 00 80 DA +18:21:18.385 RX group=1 frame=1 heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +18:21:19.658 TX group=1 frame=2 len=006 00 00 B0 00 80 6A +18:21:19.658 RX group=1 frame=2 ANOMALY 36 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00 +18:21:19.658 RX group=1 frame=2 raw 07 80 6C 40 30 C1 07 80 6C 40 30 C1 07 80 6C 40 30 C1 07 80 6C 40 30 C1 07 80 6C 40 30 C1 07 80 6C 40 30 C1 +GROUP 1 TAIL ANOMALY 54 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00 +GROUP 1 TAIL raw 07 80 6C 40 30 C1 07 80 6C 40 30 C1 07 80 6C 40 30 C1 00 00 00 00 80 DA 00 00 00 00 80 DA 00 00 00 00 80 DA 00 00 00 00 80 DA 00 00 00 00 80 DA 00 00 00 00 80 DA +Anomalies: 2 diff --git a/captures/rcp-negative-b0-repeat.txt b/captures/rcp-negative-b0-repeat.txt new file mode 100644 index 0000000..ac81c7c --- /dev/null +++ b/captures/rcp-negative-b0-repeat.txt @@ -0,0 +1,37 @@ +Sequence probe: 2 frames x 5 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 00 00 80 DA +FRAME 2: 00 00 B0 00 80 6A +BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 1/5 +18:22:22.369 TX group=1 frame=1 len=006 00 00 00 00 80 DA +18:22:22.369 RX group=1 frame=1 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +18:22:23.427 TX group=1 frame=2 len=006 00 00 B0 00 80 6A +18:22:23.427 RX group=1 frame=2 ANOMALY 36 RX bytes; first mismatch at byte 1: got 00, heartbeat offset 3 expected 80 +18:22:23.427 RX group=1 frame=2 raw 00 00 00 00 80 DA 07 80 6C 40 30 C1 07 80 6C 40 30 C1 07 80 6C 40 30 C1 07 80 6C 40 30 C1 07 80 6C 40 30 C1 +GROUP 1 TAIL ANOMALY 18 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00 +GROUP 1 TAIL raw 07 80 6C 40 30 C1 07 80 6C 40 30 C1 07 80 6C 40 30 C1 +BEGIN group 2/5 +18:22:26.260 TX group=2 frame=1 len=006 00 00 00 00 80 DA +18:22:26.260 RX group=2 frame=1 heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +18:22:27.316 TX group=2 frame=2 len=006 00 00 B0 00 80 6A +18:22:27.316 RX group=2 frame=2 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 3/5 +18:22:30.146 TX group=3 frame=1 len=006 00 00 00 00 80 DA +18:22:30.146 RX group=3 frame=1 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +18:22:31.204 TX group=3 frame=2 len=006 00 00 B0 00 80 6A +18:22:31.204 RX group=3 frame=2 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +GROUP 3 TAIL heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 4/5 +18:22:34.031 TX group=4 frame=1 len=006 00 00 00 00 80 DA +18:22:34.031 RX group=4 frame=1 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +18:22:35.090 TX group=4 frame=2 len=006 00 00 B0 00 80 6A +18:22:35.090 RX group=4 frame=2 heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +GROUP 4 TAIL heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 5/5 +18:22:37.919 TX group=5 frame=1 len=006 00 00 00 00 80 DA +18:22:37.919 RX group=5 frame=1 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +18:22:38.974 TX group=5 frame=2 len=006 00 00 B0 00 80 6A +18:22:38.974 RX group=5 frame=2 heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +GROUP 5 TAIL heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +Anomalies: 2 diff --git a/captures/rcp-negative-bad-a0-once.txt b/captures/rcp-negative-bad-a0-once.txt new file mode 100644 index 0000000..07e7a95 --- /dev/null +++ b/captures/rcp-negative-bad-a0-once.txt @@ -0,0 +1,26 @@ +Listening on COM5 at 38400 8N1; will send 00 00 A0 00 80 00 after 3.0s +18:23:12.514 RX 001 bytes 00 +18:23:12.564 RX 005 bytes 00 00 00 80 DA +18:23:13.220 RX 006 bytes 00 00 00 00 80 DA +18:23:13.926 RX 006 bytes 00 00 00 00 80 DA +18:23:14.633 RX 006 bytes 00 00 00 00 80 DA +18:23:15.188 TX frame 006 00 00 A0 00 80 00 +18:23:15.340 RX 006 bytes 00 00 00 00 80 DA +18:23:15.592 RX 006 bytes 00 00 00 00 80 DA +18:23:15.843 RX 006 bytes 00 00 00 00 80 DA +18:23:16.095 RX 006 bytes 00 00 00 00 80 DA +18:23:16.346 RX 006 bytes 00 00 00 00 80 DA +18:23:16.600 RX 006 bytes 00 00 00 00 80 DA +18:23:16.852 RX 006 bytes 00 00 00 00 80 DA +18:23:17.104 RX 006 bytes 00 00 00 00 80 DA +18:23:17.709 RX 001 bytes 00 +18:23:17.760 RX 005 bytes 00 00 00 80 DA +18:23:18.416 RX 001 bytes 00 +18:23:18.467 RX 005 bytes 00 00 00 80 DA +18:23:19.123 RX 006 bytes 00 00 00 00 80 DA +18:23:19.830 RX 006 bytes 00 00 00 00 80 DA +18:23:20.539 RX 006 bytes 00 00 00 00 80 DA +18:23:21.247 RX 006 bytes 00 00 00 00 80 DA +18:23:21.952 RX 006 bytes 00 00 00 00 80 DA +18:23:22.608 RX 001 bytes 00 +18:23:22.658 RX 005 bytes 00 00 00 80 DA diff --git a/captures/rcp-negative-bad-heartbeat-once.txt b/captures/rcp-negative-bad-heartbeat-once.txt new file mode 100644 index 0000000..46f23a0 --- /dev/null +++ b/captures/rcp-negative-bad-heartbeat-once.txt @@ -0,0 +1,26 @@ +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 00 after 3.0s +18:22:49.685 RX 001 bytes 00 +18:22:49.735 RX 005 bytes 00 00 00 80 DA +18:22:50.393 RX 001 bytes 00 +18:22:50.443 RX 005 bytes 00 00 00 80 DA +18:22:51.100 RX 006 bytes 00 00 00 00 80 DA +18:22:51.806 RX 006 bytes 00 00 00 00 80 DA +18:22:52.109 TX frame 006 00 00 00 00 80 00 +18:22:52.511 RX 006 bytes 00 00 00 00 80 DA +18:22:52.763 RX 006 bytes 00 00 00 00 80 DA +18:22:53.016 RX 006 bytes 00 00 00 00 80 DA +18:22:53.269 RX 006 bytes 00 00 00 00 80 DA +18:22:53.521 RX 006 bytes 00 00 00 00 80 DA +18:22:53.777 RX 006 bytes 00 00 00 00 80 DA +18:22:54.030 RX 006 bytes 00 00 00 00 80 DA +18:22:54.687 RX 001 bytes 00 +18:22:54.738 RX 005 bytes 00 00 00 80 DA +18:22:55.396 RX 001 bytes 00 +18:22:55.447 RX 005 bytes 00 00 00 80 DA +18:22:56.103 RX 006 bytes 00 00 00 00 80 DA +18:22:56.810 RX 006 bytes 00 00 00 00 80 DA +18:22:57.517 RX 006 bytes 00 00 00 00 80 DA +18:22:58.226 RX 006 bytes 00 00 00 00 80 DA +18:22:58.932 RX 006 bytes 00 00 00 00 80 DA +18:22:59.589 RX 001 bytes 00 +18:22:59.639 RX 005 bytes 00 00 00 80 DA diff --git a/captures/rcp-negative-heartbeat-100ms.txt b/captures/rcp-negative-heartbeat-100ms.txt new file mode 100644 index 0000000..a7d8e3f --- /dev/null +++ b/captures/rcp-negative-heartbeat-100ms.txt @@ -0,0 +1,94 @@ +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 DA after 3.0s +18:24:08.055 RX 006 bytes 00 00 00 00 80 DA +18:24:08.762 RX 006 bytes 00 00 00 00 80 DA +18:24:09.469 RX 006 bytes 00 00 00 00 80 DA +18:24:10.176 RX 006 bytes 00 00 00 00 80 DA +18:24:10.833 TX frame 006 00 00 00 00 80 DA +18:24:10.884 RX 006 bytes 00 00 00 00 80 DA +18:24:10.934 TX frame 006 00 00 00 00 80 DA +18:24:10.985 RX 006 bytes 07 80 40 40 30 ED +18:24:11.086 TX frame 006 00 00 00 00 80 DA +18:24:11.136 RX 006 bytes 00 00 00 00 80 DA +18:24:11.187 TX frame 006 00 00 00 00 80 DA +18:24:11.239 RX 006 bytes 00 00 00 00 80 DA +18:24:11.340 TX frame 006 00 00 00 00 80 DA +18:24:11.390 RX 006 bytes 00 00 00 00 80 DA +18:24:11.491 TX frame 006 00 00 00 00 80 DA +18:24:11.542 RX 006 bytes 00 00 00 00 80 DA +18:24:11.592 TX frame 006 00 00 00 00 80 DA +18:24:11.643 RX 006 bytes 00 00 00 00 80 DA +18:24:11.744 TX frame 006 00 00 00 00 80 DA +18:24:11.795 RX 006 bytes 00 00 00 00 80 DA +18:24:11.896 TX frame 006 00 00 00 00 80 DA +18:24:11.946 RX 006 bytes 00 00 00 00 80 DA +18:24:11.997 TX frame 006 00 00 00 00 80 DA +18:24:12.047 RX 006 bytes 00 00 00 00 80 DA +18:24:12.148 TX frame 006 00 00 00 00 80 DA +18:24:12.199 RX 006 bytes 00 00 00 00 80 DA +18:24:12.250 TX frame 006 00 00 00 00 80 DA +18:24:12.301 RX 006 bytes 00 00 00 00 80 DA +18:24:12.402 TX frame 006 00 00 00 00 80 DA +18:24:12.452 RX 006 bytes 00 00 00 00 80 DA +18:24:12.553 TX frame 006 00 00 00 00 80 DA +18:24:12.603 RX 006 bytes 00 00 00 00 80 DA +18:24:12.654 TX frame 006 00 00 00 00 80 DA +18:24:12.704 RX 006 bytes 00 00 00 00 80 DA +18:24:12.805 TX frame 006 00 00 00 00 80 DA +18:24:12.855 RX 006 bytes 00 00 00 00 80 DA +18:24:12.906 TX frame 006 00 00 00 00 80 DA +18:24:12.956 RX 006 bytes 00 00 00 00 80 DA +18:24:13.057 TX frame 006 00 00 00 00 80 DA +18:24:13.108 RX 006 bytes 00 00 00 00 80 DA +18:24:13.209 TX frame 006 00 00 00 00 80 DA +18:24:13.259 RX 006 bytes 00 00 00 00 80 DA +18:24:13.310 TX frame 006 00 00 00 00 80 DA +18:24:13.361 RX 006 bytes 00 00 00 00 80 DA +18:24:13.462 TX frame 006 00 00 00 00 80 DA +18:24:13.512 RX 006 bytes 00 00 00 00 80 DA +18:24:13.563 TX frame 006 00 00 00 00 80 DA +18:24:13.613 RX 006 bytes 00 00 00 00 80 DA +18:24:13.714 TX frame 006 00 00 00 00 80 DA +18:24:13.765 RX 006 bytes 00 00 00 00 80 DA +18:24:13.865 TX frame 006 00 00 00 00 80 DA +18:24:13.915 RX 006 bytes 00 00 00 00 80 DA +18:24:13.965 TX frame 006 00 00 00 00 80 DA +18:24:14.015 RX 006 bytes 00 00 00 00 80 DA +18:24:14.117 TX frame 006 00 00 00 00 80 DA +18:24:14.167 RX 006 bytes 00 00 00 00 80 DA +18:24:14.217 TX frame 006 00 00 00 00 80 DA +18:24:14.268 RX 006 bytes 00 00 00 00 80 DA +18:24:14.368 TX frame 006 00 00 00 00 80 DA +18:24:14.419 RX 006 bytes 00 00 00 00 80 DA +18:24:14.469 TX frame 006 00 00 00 00 80 DA +18:24:14.520 RX 006 bytes 00 00 00 00 80 DA +18:24:14.621 TX frame 006 00 00 00 00 80 DA +18:24:14.672 RX 006 bytes 00 00 00 00 80 DA +18:24:14.773 TX frame 006 00 00 00 00 80 DA +18:24:14.823 RX 006 bytes 00 00 00 00 80 DA +18:24:14.873 TX frame 006 00 00 00 00 80 DA +18:24:14.924 RX 006 bytes 00 00 00 00 80 DA +18:24:15.024 TX frame 006 00 00 00 00 80 DA +18:24:15.074 RX 006 bytes 00 00 00 00 80 DA +18:24:15.125 TX frame 006 00 00 00 00 80 DA +18:24:15.175 RX 006 bytes 00 00 00 00 80 DA +18:24:15.276 TX frame 006 00 00 00 00 80 DA +18:24:15.327 RX 006 bytes 00 00 00 00 80 DA +18:24:15.427 TX frame 006 00 00 00 00 80 DA +18:24:15.478 RX 006 bytes 00 00 00 00 80 DA +18:24:15.528 TX frame 006 00 00 00 00 80 DA +18:24:15.578 RX 006 bytes 00 00 00 00 80 DA +18:24:15.679 TX frame 006 00 00 00 00 80 DA +18:24:15.729 RX 006 bytes 00 00 00 00 80 DA +18:24:15.779 TX frame 006 00 00 00 00 80 DA +18:24:15.830 RX 006 bytes 00 00 00 00 80 DA +18:24:15.932 TX frame 006 00 00 00 00 80 DA +18:24:15.982 RX 006 bytes 00 00 00 00 80 DA +18:24:16.234 RX 006 bytes 00 00 00 00 80 DA +18:24:16.486 RX 006 bytes 00 00 00 00 80 DA +18:24:16.739 RX 006 bytes 00 00 00 00 80 DA +18:24:16.992 RX 006 bytes 00 00 00 00 80 DA +18:24:17.245 RX 006 bytes 00 00 00 00 80 DA +18:24:17.497 RX 006 bytes 00 00 00 00 80 DA +18:24:17.749 RX 006 bytes 00 00 00 00 80 DA +18:24:18.355 RX 001 bytes 00 +18:24:18.406 RX 005 bytes 00 00 00 80 DA diff --git a/captures/rcp-negative-heartbeat-1500ms.txt b/captures/rcp-negative-heartbeat-1500ms.txt new file mode 100644 index 0000000..2895b5f --- /dev/null +++ b/captures/rcp-negative-heartbeat-1500ms.txt @@ -0,0 +1,302 @@ +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 DA after 3.0s +18:25:47.882 RX 001 bytes 00 +18:25:47.933 RX 005 bytes 00 00 00 80 DA +18:25:48.586 RX 001 bytes 00 +18:25:48.637 RX 005 bytes 00 00 00 80 DA +18:25:49.292 RX 001 bytes 00 +18:25:49.342 RX 005 bytes 00 00 00 80 DA +18:25:49.999 RX 006 bytes 00 00 00 00 80 DA +18:25:50.704 RX 006 bytes 00 00 00 00 80 DA +18:25:50.704 TX frame 006 00 00 00 00 80 DA +18:25:51.409 RX 006 bytes 00 00 00 00 80 DA +18:25:51.661 RX 006 bytes 00 00 00 00 80 DA +18:25:51.914 RX 006 bytes 00 00 00 00 80 DA +18:25:52.168 RX 006 bytes 00 00 00 00 80 DA +18:25:52.219 TX frame 006 00 00 00 00 80 DA +18:25:52.269 RX 006 bytes 07 80 40 40 30 ED +18:25:52.420 RX 006 bytes 07 80 40 40 30 ED +18:25:52.673 RX 006 bytes 07 80 40 40 30 ED +18:25:52.925 RX 006 bytes 07 80 40 40 30 ED +18:25:53.177 RX 006 bytes 07 80 40 40 30 ED +18:25:53.430 RX 006 bytes 07 80 40 40 30 ED +18:25:53.682 RX 006 bytes 07 80 40 40 30 ED +18:25:53.732 TX frame 006 00 00 00 00 80 DA +18:25:53.783 RX 006 bytes 00 00 00 00 80 DA +18:25:54.038 RX 006 bytes 00 00 00 00 80 DA +18:25:54.290 RX 006 bytes 00 00 00 00 80 DA +18:25:54.543 RX 006 bytes 00 00 00 00 80 DA +18:25:54.795 RX 006 bytes 00 00 00 00 80 DA +18:25:55.047 RX 006 bytes 00 00 00 00 80 DA +18:25:55.250 TX frame 006 00 00 00 00 80 DA +18:25:55.301 RX 006 bytes 00 00 00 00 80 DA +18:25:55.554 RX 006 bytes 00 00 00 00 80 DA +18:25:55.807 RX 006 bytes 00 00 00 00 80 DA +18:25:56.059 RX 006 bytes 00 00 00 00 80 DA +18:25:56.311 RX 006 bytes 00 00 00 00 80 DA +18:25:56.563 RX 006 bytes 00 00 00 00 80 DA +18:25:56.764 TX frame 006 00 00 00 00 80 DA +18:25:56.816 RX 006 bytes 00 00 00 00 80 DA +18:25:57.069 RX 006 bytes 00 00 00 00 80 DA +18:25:57.322 RX 006 bytes 00 00 00 00 80 DA +18:25:57.575 RX 006 bytes 00 00 00 00 80 DA +18:25:57.828 RX 006 bytes 00 00 00 00 80 DA +18:25:58.081 RX 006 bytes 00 00 00 00 80 DA +18:25:58.283 TX frame 006 00 00 00 00 80 DA +18:25:58.333 RX 006 bytes 00 00 00 00 80 DA +18:25:58.584 RX 006 bytes 00 00 00 00 80 DA +18:25:58.835 RX 006 bytes 00 00 00 00 80 DA +18:25:59.087 RX 006 bytes 00 00 00 00 80 DA +18:25:59.339 RX 006 bytes 00 00 00 00 80 DA +18:25:59.591 RX 006 bytes 00 00 00 00 80 DA +18:25:59.792 TX frame 006 00 00 00 00 80 DA +18:25:59.843 RX 006 bytes 00 00 00 00 80 DA +18:26:00.096 RX 006 bytes 00 00 00 00 80 DA +18:26:00.348 RX 006 bytes 00 00 00 00 80 DA +18:26:00.600 RX 006 bytes 00 00 00 00 80 DA +18:26:00.852 RX 006 bytes 00 00 00 00 80 DA +18:26:01.107 RX 006 bytes 00 00 00 00 80 DA +18:26:01.309 TX frame 006 00 00 00 00 80 DA +18:26:01.359 RX 006 bytes 00 00 00 00 80 DA +18:26:01.611 RX 006 bytes 00 00 00 00 80 DA +18:26:01.863 RX 006 bytes 00 00 00 00 80 DA +18:26:02.115 RX 006 bytes 00 00 00 00 80 DA +18:26:02.368 RX 006 bytes 00 00 00 00 80 DA +18:26:02.620 RX 006 bytes 00 00 00 00 80 DA +18:26:02.823 TX frame 006 00 00 00 00 80 DA +18:26:02.874 RX 006 bytes 00 00 00 00 80 DA +18:26:03.126 RX 006 bytes 00 00 00 00 80 DA +18:26:03.378 RX 006 bytes 00 00 00 00 80 DA +18:26:03.631 RX 006 bytes 00 00 00 00 80 DA +18:26:03.885 RX 006 bytes 00 00 00 00 80 DA +18:26:04.137 RX 006 bytes 00 00 00 00 80 DA +18:26:04.340 TX frame 006 00 00 00 00 80 DA +18:26:04.390 RX 006 bytes 00 00 00 00 80 DA +18:26:04.641 RX 006 bytes 00 00 00 00 80 DA +18:26:04.893 RX 006 bytes 00 00 00 00 80 DA +18:26:05.145 RX 006 bytes 00 00 00 00 80 DA +18:26:05.397 RX 006 bytes 00 00 00 00 80 DA +18:26:05.649 RX 006 bytes 00 00 00 00 80 DA +18:26:05.850 TX frame 006 00 00 00 00 80 DA +18:26:05.901 RX 006 bytes 00 00 00 00 80 DA +18:26:06.153 RX 006 bytes 00 00 00 00 80 DA +18:26:06.404 RX 006 bytes 00 00 00 00 80 DA +18:26:06.655 RX 006 bytes 00 00 00 00 80 DA +18:26:06.908 RX 006 bytes 00 00 00 00 80 DA +18:26:07.160 RX 006 bytes 00 00 00 00 80 DA +18:26:07.361 TX frame 006 00 00 00 00 80 DA +18:26:07.411 RX 006 bytes 00 00 00 00 80 DA +18:26:07.664 RX 006 bytes 00 00 00 00 80 DA +18:26:07.915 RX 006 bytes 00 00 00 00 80 DA +18:26:08.168 RX 006 bytes 00 00 00 00 80 DA +18:26:08.420 RX 006 bytes 00 00 00 00 80 DA +18:26:08.671 RX 006 bytes 00 00 00 00 80 DA +18:26:08.872 TX frame 006 00 00 00 00 80 DA +18:26:08.922 RX 006 bytes 00 00 00 00 80 DA +18:26:09.175 RX 006 bytes 00 00 00 00 80 DA +18:26:09.427 RX 006 bytes 00 00 00 00 80 DA +18:26:09.680 RX 006 bytes 00 00 00 00 80 DA +18:26:09.930 RX 006 bytes 00 00 00 00 80 DA +18:26:10.182 RX 006 bytes 00 00 00 00 80 DA +18:26:10.384 TX frame 006 00 00 00 00 80 DA +18:26:10.435 RX 006 bytes 00 00 00 00 80 DA +18:26:10.687 RX 006 bytes 00 00 00 00 80 DA +18:26:10.939 RX 006 bytes 00 00 00 00 80 DA +18:26:11.192 RX 006 bytes 00 00 00 00 80 DA +18:26:11.444 RX 006 bytes 00 00 00 00 80 DA +18:26:11.697 RX 006 bytes 00 00 00 00 80 DA +18:26:11.899 TX frame 006 00 00 00 00 80 DA +18:26:11.950 RX 006 bytes 00 00 00 00 80 DA +18:26:12.202 RX 006 bytes 00 00 00 00 80 DA +18:26:12.454 RX 006 bytes 00 00 00 00 80 DA +18:26:12.707 RX 006 bytes 00 00 00 00 80 DA +18:26:12.959 RX 006 bytes 00 00 00 00 80 DA +18:26:13.211 RX 006 bytes 00 00 00 00 80 DA +18:26:13.412 TX frame 006 00 00 00 00 80 DA +18:26:13.462 RX 006 bytes 00 00 00 00 80 DA +18:26:13.714 RX 006 bytes 00 00 00 00 80 DA +18:26:13.967 RX 006 bytes 00 00 00 00 80 DA +18:26:14.218 RX 006 bytes 00 00 00 00 80 DA +18:26:14.470 RX 006 bytes 00 00 00 00 80 DA +18:26:14.722 RX 006 bytes 00 00 00 00 80 DA +18:26:14.924 TX frame 006 00 00 00 00 80 DA +18:26:14.974 RX 006 bytes 00 00 00 00 80 DA +18:26:15.227 RX 006 bytes 00 00 00 00 80 DA +18:26:15.479 RX 006 bytes 00 00 00 00 80 DA +18:26:15.730 RX 006 bytes 00 00 00 00 80 DA +18:26:15.983 RX 006 bytes 00 00 00 00 80 DA +18:26:16.235 RX 006 bytes 00 00 00 00 80 DA +18:26:16.438 TX frame 006 00 00 00 00 80 DA +18:26:16.488 RX 006 bytes 00 00 00 00 80 DA +18:26:16.740 RX 006 bytes 00 00 00 00 80 DA +18:26:16.991 RX 006 bytes 00 00 00 00 80 DA +18:26:17.244 RX 006 bytes 00 00 00 00 80 DA +18:26:17.496 RX 006 bytes 00 00 00 00 80 DA +18:26:17.748 RX 006 bytes 00 00 00 00 80 DA +18:26:17.950 TX frame 006 00 00 00 00 80 DA +18:26:18.000 RX 006 bytes 00 00 00 00 80 DA +18:26:18.253 RX 006 bytes 00 00 00 00 80 DA +18:26:18.504 RX 006 bytes 00 00 00 00 80 DA +18:26:18.756 RX 006 bytes 00 00 00 00 80 DA +18:26:19.008 RX 006 bytes 00 00 00 00 80 DA +18:26:19.260 RX 006 bytes 00 00 00 00 80 DA +18:26:19.462 TX frame 006 00 00 00 00 80 DA +18:26:19.512 RX 006 bytes 00 00 00 00 80 DA +18:26:19.764 RX 006 bytes 00 00 00 00 80 DA +18:26:20.016 RX 006 bytes 00 00 00 00 80 DA +18:26:20.268 RX 006 bytes 00 00 00 00 80 DA +18:26:20.520 RX 006 bytes 00 00 00 00 80 DA +18:26:20.771 RX 006 bytes 00 00 00 00 80 DA +18:26:21.022 RX 006 bytes 00 00 00 00 80 DA +18:26:21.275 RX 006 bytes 00 00 00 00 80 DA +18:26:21.929 RX 006 bytes 00 00 00 00 80 DA +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 DA after 3.0s +18:26:38.272 RX 006 bytes 00 00 00 00 80 DA +18:26:38.979 RX 006 bytes 00 00 00 00 80 DA +18:26:39.635 RX 001 bytes 00 +18:26:39.686 RX 005 bytes 00 00 00 80 DA +18:26:39.737 TX frame 006 00 00 00 00 80 DA +18:26:40.344 RX 001 bytes 00 +18:26:40.394 RX 005 bytes 00 00 00 80 DA +18:26:40.595 RX 001 bytes 00 +18:26:40.645 RX 005 bytes 00 00 00 80 DA +18:26:40.847 RX 001 bytes 00 +18:26:40.897 RX 005 bytes 00 00 00 80 DA +18:26:41.099 RX 001 bytes 00 +18:26:41.150 RX 005 bytes 00 00 00 80 DA +18:26:41.251 TX frame 006 00 00 00 00 80 DA +18:26:41.301 RX 006 bytes 07 80 40 40 30 ED +18:26:41.352 RX 006 bytes 07 80 40 40 30 ED +18:26:41.605 RX 006 bytes 07 80 40 40 30 ED +18:26:41.856 RX 006 bytes 07 80 40 40 30 ED +18:26:42.108 RX 006 bytes 07 80 40 40 30 ED +18:26:42.360 RX 006 bytes 07 80 40 40 30 ED +18:26:42.613 RX 006 bytes 07 80 40 40 30 ED +18:26:42.765 TX frame 006 00 00 00 00 80 DA +18:26:42.815 RX 006 bytes 00 00 00 00 80 DA +18:26:43.068 RX 006 bytes 00 00 00 00 80 DA +18:26:43.321 RX 006 bytes 00 00 00 00 80 DA +18:26:43.573 RX 006 bytes 00 00 00 00 80 DA +18:26:43.825 RX 006 bytes 00 00 00 00 80 DA +18:26:44.077 RX 006 bytes 00 00 00 00 80 DA +18:26:44.280 TX frame 006 00 00 00 00 80 DA +18:26:44.330 RX 006 bytes 00 00 00 00 80 DA +18:26:44.582 RX 006 bytes 00 00 00 00 80 DA +18:26:44.836 RX 006 bytes 00 00 00 00 80 DA +18:26:45.087 RX 006 bytes 00 00 00 00 80 DA +18:26:45.339 RX 006 bytes 00 00 00 00 80 DA +18:26:45.592 RX 006 bytes 00 00 00 00 80 DA +18:26:45.793 TX frame 006 00 00 00 00 80 DA +18:26:45.844 RX 006 bytes 00 00 00 00 80 DA +18:26:46.098 RX 006 bytes 00 00 00 00 80 DA +18:26:46.351 RX 006 bytes 00 00 00 00 80 DA +18:26:46.603 RX 006 bytes 00 00 00 00 80 DA +18:26:46.856 RX 006 bytes 00 00 00 00 80 DA +18:26:47.107 RX 006 bytes 00 00 00 00 80 DA +18:26:47.309 TX frame 006 00 00 00 00 80 DA +18:26:47.359 RX 006 bytes 00 00 00 00 80 DA +18:26:47.612 RX 006 bytes 00 00 00 00 80 DA +18:26:47.863 RX 006 bytes 00 00 00 00 80 DA +18:26:48.116 RX 006 bytes 00 00 00 00 80 DA +18:26:48.367 RX 006 bytes 00 00 00 00 80 DA +18:26:48.620 RX 006 bytes 00 00 00 00 80 DA +18:26:48.821 TX frame 006 00 00 00 00 80 DA +18:26:48.872 RX 006 bytes 00 00 00 00 80 DA +18:26:49.123 RX 006 bytes 00 00 00 00 80 DA +18:26:49.375 RX 006 bytes 00 00 00 00 80 DA +18:26:49.627 RX 006 bytes 00 00 00 00 80 DA +18:26:49.879 RX 006 bytes 00 00 00 00 80 DA +18:26:50.133 RX 006 bytes 00 00 00 00 80 DA +18:26:50.335 TX frame 006 00 00 00 00 80 DA +18:26:50.385 RX 006 bytes 00 00 00 00 80 DA +18:26:50.637 RX 006 bytes 00 00 00 00 80 DA +18:26:50.890 RX 006 bytes 00 00 00 00 80 DA +18:26:51.142 RX 006 bytes 00 00 00 00 80 DA +18:26:51.394 RX 006 bytes 00 00 00 00 80 DA +18:26:51.647 RX 006 bytes 00 00 00 00 80 DA +18:26:51.850 TX frame 006 00 00 00 00 80 DA +18:26:51.901 RX 006 bytes 00 00 00 00 80 DA +18:26:52.153 RX 006 bytes 00 00 00 00 80 DA +18:26:52.406 RX 006 bytes 00 00 00 00 80 DA +18:26:52.657 RX 006 bytes 00 00 00 00 80 DA +18:26:52.908 RX 006 bytes 00 00 00 00 80 DA +18:26:53.160 RX 006 bytes 00 00 00 00 80 DA +18:26:53.362 TX frame 006 00 00 00 00 80 DA +18:26:53.413 RX 006 bytes 00 00 00 00 80 DA +18:26:53.665 RX 006 bytes 00 00 00 00 80 DA +18:26:53.917 RX 006 bytes 00 00 00 00 80 DA +18:26:54.170 RX 006 bytes 00 00 00 00 80 DA +18:26:54.422 RX 006 bytes 00 00 00 00 80 DA +18:26:54.676 RX 006 bytes 00 00 00 00 80 DA +18:26:54.877 TX frame 006 00 00 00 00 80 DA +18:26:54.928 RX 006 bytes 00 00 00 00 80 DA +18:26:55.180 RX 006 bytes 00 00 00 00 80 DA +18:26:55.434 RX 006 bytes 00 00 00 00 80 DA +18:26:55.687 RX 006 bytes 00 00 00 00 80 DA +18:26:55.940 RX 006 bytes 00 00 00 00 80 DA +18:26:56.192 RX 006 bytes 00 00 00 00 80 DA +18:26:56.393 TX frame 006 00 00 00 00 80 DA +18:26:56.444 RX 006 bytes 00 00 00 00 80 DA +18:26:56.696 RX 006 bytes 00 00 00 00 80 DA +18:26:56.947 RX 006 bytes 00 00 00 00 80 DA +18:26:57.200 RX 006 bytes 00 00 00 00 80 DA +18:26:57.452 RX 006 bytes 00 00 00 00 80 DA +18:26:57.704 RX 006 bytes 00 00 00 00 80 DA +18:26:57.907 TX frame 006 00 00 00 00 80 DA +18:26:57.958 RX 006 bytes 00 00 00 00 80 DA +18:26:58.210 RX 006 bytes 00 00 00 00 80 DA +18:26:58.463 RX 006 bytes 00 00 00 00 80 DA +18:26:58.714 RX 006 bytes 00 00 00 00 80 DA +18:26:58.968 RX 006 bytes 00 00 00 00 80 DA +18:26:59.220 RX 006 bytes 00 00 00 00 80 DA +18:26:59.422 TX frame 006 00 00 00 00 80 DA +18:26:59.473 RX 006 bytes 00 00 00 00 80 DA +18:26:59.725 RX 006 bytes 00 00 00 00 80 DA +18:26:59.977 RX 006 bytes 00 00 00 00 80 DA +18:27:00.228 RX 006 bytes 00 00 00 00 80 DA +18:27:00.480 RX 006 bytes 00 00 00 00 80 DA +18:27:00.734 RX 006 bytes 00 00 00 00 80 DA +18:27:00.936 TX frame 006 00 00 00 00 80 DA +18:27:00.987 RX 006 bytes 00 00 00 00 80 DA +18:27:01.239 RX 006 bytes 00 00 00 00 80 DA +18:27:01.492 RX 006 bytes 00 00 00 00 80 DA +18:27:01.744 RX 006 bytes 00 00 00 00 80 DA +18:27:01.995 RX 006 bytes 00 00 00 00 80 DA +18:27:02.248 RX 006 bytes 00 00 00 00 80 DA +18:27:02.450 TX frame 006 00 00 00 00 80 DA +18:27:02.500 RX 006 bytes 00 00 00 00 80 DA +18:27:02.753 RX 006 bytes 00 00 00 00 80 DA +18:27:03.005 RX 006 bytes 00 00 00 00 80 DA +18:27:03.258 RX 006 bytes 00 00 00 00 80 DA +18:27:03.510 RX 006 bytes 00 00 00 00 80 DA +18:27:03.762 RX 006 bytes 00 00 00 00 80 DA +18:27:03.964 TX frame 006 00 00 00 00 80 DA +18:27:04.015 RX 006 bytes 00 00 00 00 80 DA +18:27:04.268 RX 006 bytes 00 00 00 00 80 DA +18:27:04.520 RX 006 bytes 00 00 00 00 80 DA +18:27:04.773 RX 006 bytes 00 00 00 00 80 DA +18:27:05.025 RX 006 bytes 00 00 00 00 80 DA +18:27:05.278 RX 006 bytes 00 00 00 00 80 DA +18:27:05.480 TX frame 006 00 00 00 00 80 DA +18:27:05.532 RX 006 bytes 00 00 00 00 80 DA +18:27:05.785 RX 006 bytes 00 00 00 00 80 DA +18:27:06.037 RX 006 bytes 00 00 00 00 80 DA +18:27:06.291 RX 006 bytes 00 00 00 00 80 DA +18:27:06.543 RX 006 bytes 00 00 00 00 80 DA +18:27:06.796 RX 006 bytes 00 00 00 00 80 DA +18:27:06.998 TX frame 006 00 00 00 00 80 DA +18:27:07.048 RX 006 bytes 00 00 00 00 80 DA +18:27:07.301 RX 006 bytes 00 00 00 00 80 DA +18:27:07.554 RX 006 bytes 00 00 00 00 80 DA +18:27:07.806 RX 006 bytes 00 00 00 00 80 DA +18:27:08.058 RX 006 bytes 00 00 00 00 80 DA +18:27:08.310 RX 006 bytes 00 00 00 00 80 DA +18:27:08.511 TX frame 006 00 00 00 00 80 DA +18:27:08.562 RX 006 bytes 00 00 00 00 80 DA +18:27:08.814 RX 006 bytes 00 00 00 00 80 DA +18:27:09.065 RX 006 bytes 00 00 00 00 80 DA +18:27:09.319 RX 006 bytes 00 00 00 00 80 DA +18:27:09.572 RX 006 bytes 00 00 00 00 80 DA +18:27:09.825 RX 006 bytes 00 00 00 00 80 DA +18:27:10.078 RX 006 bytes 00 00 00 00 80 DA +18:27:10.330 RX 006 bytes 00 00 00 00 80 DA +18:27:10.984 RX 006 bytes 00 00 00 00 80 DA diff --git a/captures/rcp-negative-heartbeat-500ms.txt b/captures/rcp-negative-heartbeat-500ms.txt new file mode 100644 index 0000000..71d9933 --- /dev/null +++ b/captures/rcp-negative-heartbeat-500ms.txt @@ -0,0 +1,136 @@ +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 DA after 3.0s +18:24:48.585 RX 006 bytes 00 00 00 00 80 DA +18:24:49.294 RX 006 bytes 00 00 00 00 80 DA +18:24:50.001 RX 006 bytes 00 00 00 00 80 DA +18:24:50.709 RX 006 bytes 00 00 00 00 80 DA +18:24:51.113 TX frame 006 00 00 00 00 80 DA +18:24:51.367 RX 001 bytes 00 +18:24:51.417 RX 005 bytes 00 00 00 80 DA +18:24:51.618 RX 001 bytes 00 +18:24:51.618 TX frame 006 00 00 00 00 80 DA +18:24:51.669 RX 011 bytes 00 00 00 80 DA 07 80 C0 40 30 6D +18:24:51.870 RX 003 bytes 07 80 C0 +18:24:51.928 RX 003 bytes 40 30 6D +18:24:52.129 RX 003 bytes 07 80 C0 +18:24:52.130 TX frame 006 00 00 00 00 80 DA +18:24:52.181 RX 009 bytes 40 30 6D 00 00 00 00 80 DA +18:24:52.433 RX 006 bytes 00 00 00 00 80 DA +18:24:52.636 TX frame 006 00 00 00 00 80 DA +18:24:52.686 RX 006 bytes 00 00 00 00 80 DA +18:24:52.938 RX 006 bytes 00 00 00 00 80 DA +18:24:53.140 TX frame 006 00 00 00 00 80 DA +18:24:53.190 RX 006 bytes 00 00 00 00 80 DA +18:24:53.442 RX 006 bytes 00 00 00 00 80 DA +18:24:53.644 TX frame 006 00 00 00 00 80 DA +18:24:53.694 RX 006 bytes 00 00 00 00 80 DA +18:24:53.946 RX 006 bytes 00 00 00 00 80 DA +18:24:54.148 TX frame 006 00 00 00 00 80 DA +18:24:54.199 RX 006 bytes 00 00 00 00 80 DA +18:24:54.451 RX 006 bytes 00 00 00 00 80 DA +18:24:54.653 TX frame 006 00 00 00 00 80 DA +18:24:54.703 RX 006 bytes 00 00 00 00 80 DA +18:24:54.955 RX 006 bytes 00 00 00 00 80 DA +18:24:55.157 TX frame 006 00 00 00 00 80 DA +18:24:55.207 RX 006 bytes 00 00 00 00 80 DA +18:24:55.460 RX 006 bytes 00 00 00 00 80 DA +18:24:55.661 TX frame 006 00 00 00 00 80 DA +18:24:55.713 RX 006 bytes 00 00 00 00 80 DA +18:24:55.965 RX 006 bytes 00 00 00 00 80 DA +18:24:56.167 TX frame 006 00 00 00 00 80 DA +18:24:56.217 RX 006 bytes 00 00 00 00 80 DA +18:24:56.469 RX 006 bytes 00 00 00 00 80 DA +18:24:56.671 TX frame 006 00 00 00 00 80 DA +18:24:56.721 RX 006 bytes 00 00 00 00 80 DA +18:24:56.973 RX 006 bytes 00 00 00 00 80 DA +18:24:57.175 TX frame 006 00 00 00 00 80 DA +18:24:57.225 RX 006 bytes 00 00 00 00 80 DA +18:24:57.478 RX 006 bytes 00 00 00 00 80 DA +18:24:57.679 TX frame 006 00 00 00 00 80 DA +18:24:57.730 RX 006 bytes 00 00 00 00 80 DA +18:24:57.982 RX 006 bytes 00 00 00 00 80 DA +18:24:58.183 TX frame 006 00 00 00 00 80 DA +18:24:58.234 RX 006 bytes 00 00 00 00 80 DA +18:24:58.486 RX 006 bytes 00 00 00 00 80 DA +18:24:58.688 TX frame 006 00 00 00 00 80 DA +18:24:58.738 RX 006 bytes 00 00 00 00 80 DA +18:24:58.990 RX 006 bytes 00 00 00 00 80 DA +18:24:59.192 TX frame 006 00 00 00 00 80 DA +18:24:59.243 RX 006 bytes 00 00 00 00 80 DA +18:24:59.494 RX 006 bytes 00 00 00 00 80 DA +18:24:59.696 TX frame 006 00 00 00 00 80 DA +18:24:59.746 RX 006 bytes 00 00 00 00 80 DA +18:24:59.997 RX 006 bytes 00 00 00 00 80 DA +18:25:00.199 TX frame 006 00 00 00 00 80 DA +18:25:00.249 RX 006 bytes 00 00 00 00 80 DA +18:25:00.501 RX 006 bytes 00 00 00 00 80 DA +18:25:00.703 TX frame 006 00 00 00 00 80 DA +18:25:00.754 RX 006 bytes 00 00 00 00 80 DA +18:25:01.007 RX 006 bytes 00 00 00 00 80 DA +18:25:01.208 TX frame 006 00 00 00 00 80 DA +18:25:01.260 RX 006 bytes 00 00 00 00 80 DA +18:25:01.513 RX 006 bytes 00 00 00 00 80 DA +18:25:01.715 TX frame 006 00 00 00 00 80 DA +18:25:01.766 RX 006 bytes 00 00 00 00 80 DA +18:25:02.019 RX 006 bytes 00 00 00 00 80 DA +18:25:02.220 TX frame 006 00 00 00 00 80 DA +18:25:02.271 RX 006 bytes 00 00 00 00 80 DA +18:25:02.523 RX 006 bytes 00 00 00 00 80 DA +18:25:02.724 TX frame 006 00 00 00 00 80 DA +18:25:02.775 RX 006 bytes 00 00 00 00 80 DA +18:25:03.028 RX 006 bytes 00 00 00 00 80 DA +18:25:03.229 TX frame 006 00 00 00 00 80 DA +18:25:03.280 RX 006 bytes 00 00 00 00 80 DA +18:25:03.532 RX 006 bytes 00 00 00 00 80 DA +18:25:03.734 TX frame 006 00 00 00 00 80 DA +18:25:03.784 RX 006 bytes 00 00 00 00 80 DA +18:25:04.035 RX 006 bytes 00 00 00 00 80 DA +18:25:04.237 TX frame 006 00 00 00 00 80 DA +18:25:04.288 RX 006 bytes 00 00 00 00 80 DA +18:25:04.540 RX 006 bytes 00 00 00 00 80 DA +18:25:04.743 TX frame 006 00 00 00 00 80 DA +18:25:04.793 RX 006 bytes 00 00 00 00 80 DA +18:25:05.044 RX 006 bytes 00 00 00 00 80 DA +18:25:05.246 TX frame 006 00 00 00 00 80 DA +18:25:05.297 RX 006 bytes 00 00 00 00 80 DA +18:25:05.550 RX 006 bytes 00 00 00 00 80 DA +18:25:05.752 TX frame 006 00 00 00 00 80 DA +18:25:05.802 RX 006 bytes 00 00 00 00 80 DA +18:25:06.054 RX 006 bytes 00 00 00 00 80 DA +18:25:06.257 TX frame 006 00 00 00 00 80 DA +18:25:06.308 RX 006 bytes 00 00 00 00 80 DA +18:25:06.560 RX 006 bytes 00 00 00 00 80 DA +18:25:06.763 TX frame 006 00 00 00 00 80 DA +18:25:06.813 RX 006 bytes 00 00 00 00 80 DA +18:25:07.065 RX 006 bytes 00 00 00 00 80 DA +18:25:07.267 TX frame 006 00 00 00 00 80 DA +18:25:07.318 RX 006 bytes 00 00 00 00 80 DA +18:25:07.570 RX 006 bytes 00 00 00 00 80 DA +18:25:07.772 TX frame 006 00 00 00 00 80 DA +18:25:07.823 RX 006 bytes 00 00 00 00 80 DA +18:25:08.075 RX 006 bytes 00 00 00 00 80 DA +18:25:08.276 TX frame 006 00 00 00 00 80 DA +18:25:08.327 RX 006 bytes 00 00 00 00 80 DA +18:25:08.580 RX 006 bytes 00 00 00 00 80 DA +18:25:08.782 TX frame 006 00 00 00 00 80 DA +18:25:08.832 RX 006 bytes 00 00 00 00 80 DA +18:25:09.084 RX 006 bytes 00 00 00 00 80 DA +18:25:09.286 TX frame 006 00 00 00 00 80 DA +18:25:09.336 RX 006 bytes 00 00 00 00 80 DA +18:25:09.588 RX 006 bytes 00 00 00 00 80 DA +18:25:09.790 TX frame 006 00 00 00 00 80 DA +18:25:09.841 RX 006 bytes 00 00 00 00 80 DA +18:25:10.093 RX 006 bytes 00 00 00 00 80 DA +18:25:10.295 TX frame 006 00 00 00 00 80 DA +18:25:10.345 RX 006 bytes 00 00 00 00 80 DA +18:25:10.596 RX 006 bytes 00 00 00 00 80 DA +18:25:10.799 TX frame 006 00 00 00 00 80 DA +18:25:10.850 RX 006 bytes 00 00 00 00 80 DA +18:25:11.101 RX 006 bytes 00 00 00 00 80 DA +18:25:11.354 RX 006 bytes 00 00 00 00 80 DA +18:25:11.606 RX 006 bytes 00 00 00 00 80 DA +18:25:11.857 RX 006 bytes 00 00 00 00 80 DA +18:25:12.110 RX 006 bytes 00 00 00 00 80 DA +18:25:12.363 RX 006 bytes 00 00 00 00 80 DA +18:25:12.616 RX 006 bytes 00 00 00 00 80 DA +18:25:13.270 RX 001 bytes 00 +18:25:13.321 RX 005 bytes 00 00 00 80 DA diff --git a/captures/rcp-negative-heartbeat-only.txt b/captures/rcp-negative-heartbeat-only.txt new file mode 100644 index 0000000..61c1132 --- /dev/null +++ b/captures/rcp-negative-heartbeat-only.txt @@ -0,0 +1,572 @@ +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 DA after 3.0s +18:14:29.924 RX 001 bytes 00 +18:14:29.974 RX 005 bytes 00 00 00 80 DA +18:14:30.630 RX 001 bytes 00 +18:14:30.680 RX 005 bytes 00 00 00 80 DA +18:14:31.334 RX 006 bytes 00 00 00 00 80 DA +18:14:32.041 RX 006 bytes 00 00 00 00 80 DA +18:14:32.343 TX frame 006 00 00 00 00 80 DA +18:14:32.596 TX frame 006 00 00 00 00 80 DA +18:14:32.647 RX 006 bytes 07 80 40 60 30 CD +18:14:32.850 TX frame 006 00 00 00 00 80 DA +18:14:33.103 TX frame 006 00 00 00 00 80 DA +18:14:33.255 RX 006 bytes 00 00 00 00 80 DA +18:14:33.358 TX frame 006 00 00 00 00 80 DA +18:14:33.409 RX 006 bytes 00 00 00 00 80 DA +18:14:33.611 TX frame 006 00 00 00 00 80 DA +18:14:33.661 RX 006 bytes 00 00 00 00 80 DA +18:14:33.864 TX frame 006 00 00 00 00 80 DA +18:14:33.914 RX 006 bytes 00 00 00 00 80 DA +18:14:34.116 TX frame 006 00 00 00 00 80 DA +18:14:34.167 RX 006 bytes 00 00 00 00 80 DA +18:14:34.370 TX frame 006 00 00 00 00 80 DA +18:14:34.420 RX 006 bytes 00 00 00 00 80 DA +18:14:34.622 TX frame 006 00 00 00 00 80 DA +18:14:34.673 RX 006 bytes 00 00 00 00 80 DA +18:14:34.876 TX frame 006 00 00 00 00 80 DA +18:14:34.927 RX 006 bytes 00 00 00 00 80 DA +18:14:35.129 TX frame 006 00 00 00 00 80 DA +18:14:35.179 RX 006 bytes 00 00 00 00 80 DA +18:14:35.381 TX frame 006 00 00 00 00 80 DA +18:14:35.432 RX 006 bytes 00 00 00 00 80 DA +18:14:35.633 TX frame 006 00 00 00 00 80 DA +18:14:35.685 RX 006 bytes 00 00 00 00 80 DA +18:14:35.886 TX frame 006 00 00 00 00 80 DA +18:14:35.937 RX 006 bytes 00 00 00 00 80 DA +18:14:36.138 TX frame 006 00 00 00 00 80 DA +18:14:36.188 RX 006 bytes 00 00 00 00 80 DA +18:14:36.390 TX frame 006 00 00 00 00 80 DA +18:14:36.441 RX 006 bytes 00 00 00 00 80 DA +18:14:36.643 TX frame 006 00 00 00 00 80 DA +18:14:36.694 RX 006 bytes 00 00 00 00 80 DA +18:14:36.897 TX frame 006 00 00 00 00 80 DA +18:14:36.948 RX 006 bytes 00 00 00 00 80 DA +18:14:37.150 TX frame 006 00 00 00 00 80 DA +18:14:37.200 RX 006 bytes 00 00 00 00 80 DA +18:14:37.402 TX frame 006 00 00 00 00 80 DA +18:14:37.452 RX 006 bytes 00 00 00 00 80 DA +18:14:37.654 TX frame 006 00 00 00 00 80 DA +18:14:37.704 RX 006 bytes 00 00 00 00 80 DA +18:14:37.906 TX frame 006 00 00 00 00 80 DA +18:14:37.956 RX 006 bytes 00 00 00 00 80 DA +18:14:38.158 TX frame 006 00 00 00 00 80 DA +18:14:38.209 RX 006 bytes 00 00 00 00 80 DA +18:14:38.410 TX frame 006 00 00 00 00 80 DA +18:14:38.461 RX 006 bytes 00 00 00 00 80 DA +18:14:38.663 TX frame 006 00 00 00 00 80 DA +18:14:38.714 RX 006 bytes 00 00 00 00 80 DA +18:14:38.915 TX frame 006 00 00 00 00 80 DA +18:14:38.967 RX 006 bytes 00 00 00 00 80 DA +18:14:39.169 TX frame 006 00 00 00 00 80 DA +18:14:39.220 RX 006 bytes 00 00 00 00 80 DA +18:14:39.422 TX frame 006 00 00 00 00 80 DA +18:14:39.472 RX 006 bytes 00 00 00 00 80 DA +18:14:39.673 TX frame 006 00 00 00 00 80 DA +18:14:39.723 RX 006 bytes 00 00 00 00 80 DA +18:14:39.926 TX frame 006 00 00 00 00 80 DA +18:14:39.977 RX 006 bytes 00 00 00 00 80 DA +18:14:40.178 TX frame 006 00 00 00 00 80 DA +18:14:40.228 RX 006 bytes 00 00 00 00 80 DA +18:14:40.429 TX frame 006 00 00 00 00 80 DA +18:14:40.480 RX 006 bytes 00 00 00 00 80 DA +18:14:40.681 TX frame 006 00 00 00 00 80 DA +18:14:40.732 RX 006 bytes 00 00 00 00 80 DA +18:14:40.934 TX frame 006 00 00 00 00 80 DA +18:14:40.986 RX 006 bytes 00 00 00 00 80 DA +18:14:41.187 TX frame 006 00 00 00 00 80 DA +18:14:41.237 RX 006 bytes 00 00 00 00 80 DA +18:14:41.444 TX frame 006 00 00 00 00 80 DA +18:14:41.495 RX 006 bytes 00 00 00 00 80 DA +18:14:41.695 TX frame 006 00 00 00 00 80 DA +18:14:41.746 RX 006 bytes 00 00 00 00 80 DA +18:14:41.947 TX frame 006 00 00 00 00 80 DA +18:14:41.998 RX 006 bytes 00 00 00 00 80 DA +18:14:42.199 TX frame 006 00 00 00 00 80 DA +18:14:42.250 RX 006 bytes 00 00 00 00 80 DA +18:14:42.452 TX frame 006 00 00 00 00 80 DA +18:14:42.503 RX 006 bytes 00 00 00 00 80 DA +18:14:42.705 TX frame 006 00 00 00 00 80 DA +18:14:42.755 RX 006 bytes 00 00 00 00 80 DA +18:14:42.958 TX frame 006 00 00 00 00 80 DA +18:14:43.009 RX 006 bytes 00 00 00 00 80 DA +18:14:43.211 TX frame 006 00 00 00 00 80 DA +18:14:43.262 RX 006 bytes 00 00 00 00 80 DA +18:14:43.464 TX frame 006 00 00 00 00 80 DA +18:14:43.515 RX 006 bytes 00 00 00 00 80 DA +18:14:43.717 TX frame 006 00 00 00 00 80 DA +18:14:43.768 RX 006 bytes 00 00 00 00 80 DA +18:14:43.970 TX frame 006 00 00 00 00 80 DA +18:14:44.021 RX 006 bytes 00 00 00 00 80 DA +18:14:44.222 TX frame 006 00 00 00 00 80 DA +18:14:44.274 RX 006 bytes 00 00 00 00 80 DA +18:14:44.476 TX frame 006 00 00 00 00 80 DA +18:14:44.527 RX 006 bytes 00 00 00 00 80 DA +18:14:44.729 TX frame 006 00 00 00 00 80 DA +18:14:44.780 RX 006 bytes 00 00 00 00 80 DA +18:14:44.982 TX frame 006 00 00 00 00 80 DA +18:14:45.033 RX 006 bytes 00 00 00 00 80 DA +18:14:45.234 TX frame 006 00 00 00 00 80 DA +18:14:45.285 RX 006 bytes 00 00 00 00 80 DA +18:14:45.487 TX frame 006 00 00 00 00 80 DA +18:14:45.538 RX 006 bytes 00 00 00 00 80 DA +18:14:45.740 TX frame 006 00 00 00 00 80 DA +18:14:45.791 RX 006 bytes 00 00 00 00 80 DA +18:14:45.992 TX frame 006 00 00 00 00 80 DA +18:14:46.042 RX 006 bytes 00 00 00 00 80 DA +18:14:46.244 TX frame 006 00 00 00 00 80 DA +18:14:46.296 RX 006 bytes 00 00 00 00 80 DA +18:14:46.497 TX frame 006 00 00 00 00 80 DA +18:14:46.548 RX 006 bytes 00 00 00 00 80 DA +18:14:46.751 TX frame 006 00 00 00 00 80 DA +18:14:46.801 RX 006 bytes 00 00 00 00 80 DA +18:14:47.003 TX frame 006 00 00 00 00 80 DA +18:14:47.054 RX 006 bytes 00 00 00 00 80 DA +18:14:47.256 TX frame 006 00 00 00 00 80 DA +18:14:47.307 RX 006 bytes 00 00 00 00 80 DA +18:14:47.509 TX frame 006 00 00 00 00 80 DA +18:14:47.560 RX 006 bytes 00 00 00 00 80 DA +18:14:47.761 TX frame 006 00 00 00 00 80 DA +18:14:47.812 RX 006 bytes 00 00 00 00 80 DA +18:14:48.014 TX frame 006 00 00 00 00 80 DA +18:14:48.065 RX 006 bytes 00 00 00 00 80 DA +18:14:48.266 TX frame 006 00 00 00 00 80 DA +18:14:48.316 RX 006 bytes 00 00 00 00 80 DA +18:14:48.517 TX frame 006 00 00 00 00 80 DA +18:14:48.569 RX 006 bytes 00 00 00 00 80 DA +18:14:48.771 TX frame 006 00 00 00 00 80 DA +18:14:48.821 RX 006 bytes 00 00 00 00 80 DA +18:14:49.023 TX frame 006 00 00 00 00 80 DA +18:14:49.073 RX 006 bytes 00 00 00 00 80 DA +18:14:49.275 TX frame 006 00 00 00 00 80 DA +18:14:49.327 RX 006 bytes 00 00 00 00 80 DA +18:14:49.529 TX frame 006 00 00 00 00 80 DA +18:14:49.580 RX 006 bytes 00 00 00 00 80 DA +18:14:49.781 TX frame 006 00 00 00 00 80 DA +18:14:49.832 RX 006 bytes 00 00 00 00 80 DA +18:14:50.034 TX frame 006 00 00 00 00 80 DA +18:14:50.084 RX 006 bytes 00 00 00 00 80 DA +18:14:50.286 TX frame 006 00 00 00 00 80 DA +18:14:50.337 RX 006 bytes 00 00 00 00 80 DA +18:14:50.539 TX frame 006 00 00 00 00 80 DA +18:14:50.590 RX 006 bytes 00 00 00 00 80 DA +18:14:50.792 TX frame 006 00 00 00 00 80 DA +18:14:50.843 RX 006 bytes 00 00 00 00 80 DA +18:14:51.046 TX frame 006 00 00 00 00 80 DA +18:14:51.096 RX 006 bytes 00 00 00 00 80 DA +18:14:51.297 TX frame 006 00 00 00 00 80 DA +18:14:51.347 RX 006 bytes 00 00 00 00 80 DA +18:14:51.550 TX frame 006 00 00 00 00 80 DA +18:14:51.601 RX 006 bytes 00 00 00 00 80 DA +18:14:51.804 TX frame 006 00 00 00 00 80 DA +18:14:51.856 RX 006 bytes 00 00 00 00 80 DA +18:14:52.058 TX frame 006 00 00 00 00 80 DA +18:14:52.108 RX 006 bytes 00 00 00 00 80 DA +18:14:52.311 TX frame 006 00 00 00 00 80 DA +18:14:52.362 RX 006 bytes 00 00 00 00 80 DA +18:14:52.614 RX 006 bytes 00 00 00 00 80 DA +18:14:52.866 RX 006 bytes 00 00 00 00 80 DA +18:14:53.118 RX 006 bytes 00 00 00 00 80 DA +18:14:53.370 RX 006 bytes 00 00 00 00 80 DA +18:14:53.623 RX 006 bytes 00 00 00 00 80 DA +18:14:53.876 RX 006 bytes 00 00 00 00 80 DA +18:14:54.129 RX 006 bytes 00 00 00 00 80 DA +18:14:54.734 RX 006 bytes 00 00 00 00 80 DA +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 DA after 3.0s +18:15:18.535 RX 001 bytes 00 +18:15:18.585 RX 005 bytes 00 00 00 80 DA +18:15:19.243 RX 006 bytes 00 00 00 00 80 DA +18:15:19.949 RX 006 bytes 00 00 00 00 80 DA +18:15:20.657 RX 006 bytes 00 00 00 00 80 DA +18:15:21.313 TX frame 006 00 00 00 00 80 DA +18:15:21.365 RX 006 bytes 00 00 00 00 80 DA +18:15:21.567 TX frame 006 00 00 00 00 80 DA +18:15:21.617 RX 006 bytes 00 00 00 00 80 DA +18:15:21.818 TX frame 006 00 00 00 00 80 DA +18:15:21.869 RX 006 bytes 00 00 00 00 80 DA +18:15:22.071 TX frame 006 00 00 00 00 80 DA +18:15:22.122 RX 006 bytes 00 00 00 00 80 DA +18:15:22.324 TX frame 006 00 00 00 00 80 DA +18:15:22.374 RX 006 bytes 00 00 00 00 80 DA +18:15:22.576 TX frame 006 00 00 00 00 80 DA +18:15:22.628 RX 006 bytes 00 00 00 00 80 DA +18:15:22.831 TX frame 006 00 00 00 00 80 DA +18:15:22.881 RX 006 bytes 00 00 00 00 80 DA +18:15:23.083 TX frame 006 00 00 00 00 80 DA +18:15:23.134 RX 006 bytes 00 00 00 00 80 DA +18:15:23.336 TX frame 006 00 00 00 00 80 DA +18:15:23.387 RX 006 bytes 00 00 00 00 80 DA +18:15:23.589 TX frame 006 00 00 00 00 80 DA +18:15:23.641 RX 006 bytes 00 00 00 00 80 DA +18:15:23.843 TX frame 006 00 00 00 00 80 DA +18:15:23.893 RX 006 bytes 00 00 00 00 80 DA +18:15:24.095 TX frame 006 00 00 00 00 80 DA +18:15:24.145 RX 006 bytes 00 00 00 00 80 DA +18:15:24.347 TX frame 006 00 00 00 00 80 DA +18:15:24.398 RX 006 bytes 00 00 00 00 80 DA +18:15:24.600 TX frame 006 00 00 00 00 80 DA +18:15:24.650 RX 006 bytes 00 00 00 00 80 DA +18:15:24.853 TX frame 006 00 00 00 00 80 DA +18:15:24.903 RX 006 bytes 00 00 00 00 80 DA +18:15:25.105 TX frame 006 00 00 00 00 80 DA +18:15:25.155 RX 006 bytes 00 00 00 00 80 DA +18:15:25.357 TX frame 006 00 00 00 00 80 DA +18:15:25.407 RX 006 bytes 00 00 00 00 80 DA +18:15:25.609 TX frame 006 00 00 00 00 80 DA +18:15:25.661 RX 006 bytes 00 00 00 00 80 DA +18:15:25.863 TX frame 006 00 00 00 00 80 DA +18:15:25.914 RX 006 bytes 00 00 00 00 80 DA +18:15:26.116 TX frame 006 00 00 00 00 80 DA +18:15:26.167 RX 006 bytes 00 00 00 00 80 DA +18:15:26.368 TX frame 006 00 00 00 00 80 DA +18:15:26.419 RX 006 bytes 00 00 00 00 80 DA +18:15:26.622 TX frame 006 00 00 00 00 80 DA +18:15:26.674 RX 006 bytes 00 00 00 00 80 DA +18:15:26.876 TX frame 006 00 00 00 00 80 DA +18:15:26.927 RX 006 bytes 00 00 00 00 80 DA +18:15:27.130 TX frame 006 00 00 00 00 80 DA +18:15:27.180 RX 006 bytes 00 00 00 00 80 DA +18:15:27.382 TX frame 006 00 00 00 00 80 DA +18:15:27.432 RX 006 bytes 00 00 00 00 80 DA +18:15:27.633 TX frame 006 00 00 00 00 80 DA +18:15:27.685 RX 006 bytes 00 00 00 00 80 DA +18:15:27.887 TX frame 006 00 00 00 00 80 DA +18:15:27.938 RX 006 bytes 00 00 00 00 80 DA +18:15:28.140 TX frame 006 00 00 00 00 80 DA +18:15:28.190 RX 006 bytes 00 00 00 00 80 DA +18:15:28.392 TX frame 006 00 00 00 00 80 DA +18:15:28.442 RX 006 bytes 00 00 00 00 80 DA +18:15:28.644 TX frame 006 00 00 00 00 80 DA +18:15:28.695 RX 006 bytes 00 00 00 00 80 DA +18:15:28.897 TX frame 006 00 00 00 00 80 DA +18:15:28.948 RX 006 bytes 00 00 00 00 80 DA +18:15:29.151 TX frame 006 00 00 00 00 80 DA +18:15:29.201 RX 006 bytes 00 00 00 00 80 DA +18:15:29.403 TX frame 006 00 00 00 00 80 DA +18:15:29.453 RX 006 bytes 00 00 00 00 80 DA +18:15:29.655 TX frame 006 00 00 00 00 80 DA +18:15:29.706 RX 006 bytes 00 00 00 00 80 DA +18:15:29.909 TX frame 006 00 00 00 00 80 DA +18:15:29.959 RX 006 bytes 00 00 00 00 80 DA +18:15:30.161 TX frame 006 00 00 00 00 80 DA +18:15:30.212 RX 006 bytes 00 00 00 00 80 DA +18:15:30.414 TX frame 006 00 00 00 00 80 DA +18:15:30.465 RX 006 bytes 00 00 00 00 80 DA +18:15:30.668 TX frame 006 00 00 00 00 80 DA +18:15:30.718 RX 006 bytes 00 00 00 00 80 DA +18:15:30.920 TX frame 006 00 00 00 00 80 DA +18:15:30.970 RX 006 bytes 00 00 00 00 80 DA +18:15:31.172 TX frame 006 00 00 00 00 80 DA +18:15:31.223 RX 006 bytes 00 00 00 00 80 DA +18:15:31.425 TX frame 006 00 00 00 00 80 DA +18:15:31.475 RX 006 bytes 00 00 00 00 80 DA +18:15:31.677 TX frame 006 00 00 00 00 80 DA +18:15:31.727 RX 006 bytes 00 00 00 00 80 DA +Stopped. +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 DA after 3.0s +18:15:37.978 RX 006 bytes 00 00 00 00 80 DA +18:15:38.684 RX 006 bytes 00 00 00 00 80 DA +18:15:39.391 RX 006 bytes 00 00 00 00 80 DA +18:15:40.097 RX 006 bytes 00 00 00 00 80 DA +18:15:40.599 TX frame 006 00 00 00 00 80 DA +18:15:40.800 RX 006 bytes 00 00 00 00 80 DA +18:15:40.851 TX frame 006 00 00 00 00 80 DA +18:15:40.902 RX 006 bytes 07 80 40 40 30 ED +18:15:41.053 RX 006 bytes 07 80 40 40 30 ED +18:15:41.104 TX frame 006 00 00 00 00 80 DA +18:15:41.154 RX 006 bytes 00 00 00 00 80 DA +18:15:41.356 TX frame 006 00 00 00 00 80 DA +18:15:41.406 RX 006 bytes 00 00 00 00 80 DA +18:15:41.608 TX frame 006 00 00 00 00 80 DA +18:15:41.658 RX 006 bytes 00 00 00 00 80 DA +18:15:41.861 TX frame 006 00 00 00 00 80 DA +18:15:41.912 RX 006 bytes 00 00 00 00 80 DA +18:15:42.114 TX frame 006 00 00 00 00 80 DA +18:15:42.164 RX 006 bytes 00 00 00 00 80 DA +18:15:42.366 TX frame 006 00 00 00 00 80 DA +18:15:42.416 RX 006 bytes 00 00 00 00 80 DA +18:15:42.619 TX frame 006 00 00 00 00 80 DA +18:15:42.671 RX 006 bytes 00 00 00 00 80 DA +18:15:42.872 TX frame 006 00 00 00 00 80 DA +18:15:42.923 RX 006 bytes 00 00 00 00 80 DA +18:15:43.124 TX frame 006 00 00 00 00 80 DA +18:15:43.174 RX 006 bytes 00 00 00 00 80 DA +18:15:43.377 TX frame 006 00 00 00 00 80 DA +18:15:43.427 RX 006 bytes 00 00 00 00 80 DA +18:15:43.629 TX frame 006 00 00 00 00 80 DA +18:15:43.681 RX 006 bytes 00 00 00 00 80 DA +18:15:43.883 TX frame 006 00 00 00 00 80 DA +18:15:43.934 RX 006 bytes 00 00 00 00 80 DA +18:15:44.137 TX frame 006 00 00 00 00 80 DA +18:15:44.187 RX 006 bytes 00 00 00 00 80 DA +18:15:44.389 TX frame 006 00 00 00 00 80 DA +18:15:44.440 RX 006 bytes 00 00 00 00 80 DA +18:15:44.642 TX frame 006 00 00 00 00 80 DA +18:15:44.694 RX 006 bytes 00 00 00 00 80 DA +18:15:44.896 TX frame 006 00 00 00 00 80 DA +18:15:44.948 RX 006 bytes 00 00 00 00 80 DA +18:15:45.149 TX frame 006 00 00 00 00 80 DA +18:15:45.200 RX 006 bytes 00 00 00 00 80 DA +18:15:45.403 TX frame 006 00 00 00 00 80 DA +18:15:45.453 RX 006 bytes 00 00 00 00 80 DA +18:15:45.656 TX frame 006 00 00 00 00 80 DA +18:15:45.707 RX 006 bytes 00 00 00 00 80 DA +18:15:45.909 TX frame 006 00 00 00 00 80 DA +18:15:45.959 RX 006 bytes 00 00 00 00 80 DA +18:15:46.161 TX frame 006 00 00 00 00 80 DA +18:15:46.211 RX 006 bytes 00 00 00 00 80 DA +18:15:46.413 TX frame 006 00 00 00 00 80 DA +18:15:46.463 RX 006 bytes 00 00 00 00 80 DA +18:15:46.665 TX frame 006 00 00 00 00 80 DA +18:15:46.716 RX 006 bytes 00 00 00 00 80 DA +18:15:46.918 TX frame 006 00 00 00 00 80 DA +18:15:46.969 RX 006 bytes 00 00 00 00 80 DA +18:15:47.170 TX frame 006 00 00 00 00 80 DA +18:15:47.221 RX 006 bytes 00 00 00 00 80 DA +18:15:47.422 TX frame 006 00 00 00 00 80 DA +18:15:47.473 RX 006 bytes 00 00 00 00 80 DA +18:15:47.676 TX frame 006 00 00 00 00 80 DA +18:15:47.726 RX 006 bytes 00 00 00 00 80 DA +18:15:47.928 TX frame 006 00 00 00 00 80 DA +18:15:47.978 RX 006 bytes 00 00 00 00 80 DA +18:15:48.179 TX frame 006 00 00 00 00 80 DA +18:15:48.230 RX 006 bytes 00 00 00 00 80 DA +18:15:48.433 TX frame 006 00 00 00 00 80 DA +18:15:48.484 RX 006 bytes 00 00 00 00 80 DA +18:15:48.685 TX frame 006 00 00 00 00 80 DA +18:15:48.735 RX 006 bytes 00 00 00 00 80 DA +18:15:48.937 TX frame 006 00 00 00 00 80 DA +18:15:48.988 RX 006 bytes 00 00 00 00 80 DA +18:15:49.190 TX frame 006 00 00 00 00 80 DA +18:15:49.241 RX 006 bytes 00 00 00 00 80 DA +18:15:49.444 TX frame 006 00 00 00 00 80 DA +18:15:49.494 RX 006 bytes 00 00 00 00 80 DA +18:15:49.696 TX frame 006 00 00 00 00 80 DA +18:15:49.746 RX 006 bytes 00 00 00 00 80 DA +18:15:49.948 TX frame 006 00 00 00 00 80 DA +18:15:49.999 RX 006 bytes 00 00 00 00 80 DA +18:15:50.202 TX frame 006 00 00 00 00 80 DA +18:15:50.252 RX 006 bytes 00 00 00 00 80 DA +18:15:50.453 TX frame 006 00 00 00 00 80 DA +18:15:50.504 RX 006 bytes 00 00 00 00 80 DA +18:15:50.707 TX frame 006 00 00 00 00 80 DA +18:15:50.757 RX 006 bytes 00 00 00 00 80 DA +18:15:50.958 TX frame 006 00 00 00 00 80 DA +18:15:51.009 RX 006 bytes 00 00 00 00 80 DA +18:15:51.210 TX frame 006 00 00 00 00 80 DA +18:15:51.261 RX 006 bytes 00 00 00 00 80 DA +18:15:51.463 TX frame 006 00 00 00 00 80 DA +18:15:51.513 RX 006 bytes 00 00 00 00 80 DA +18:15:51.716 TX frame 006 00 00 00 00 80 DA +18:15:51.766 RX 006 bytes 00 00 00 00 80 DA +18:15:51.968 TX frame 006 00 00 00 00 80 DA +18:15:52.019 RX 006 bytes 00 00 00 00 80 DA +18:15:52.222 TX frame 006 00 00 00 00 80 DA +18:15:52.272 RX 006 bytes 00 00 00 00 80 DA +18:15:52.475 TX frame 006 00 00 00 00 80 DA +18:15:52.526 RX 006 bytes 00 00 00 00 80 DA +18:15:52.728 TX frame 006 00 00 00 00 80 DA +18:15:52.778 RX 006 bytes 00 00 00 00 80 DA +18:15:52.981 TX frame 006 00 00 00 00 80 DA +18:15:53.032 RX 006 bytes 00 00 00 00 80 DA +18:15:53.234 TX frame 006 00 00 00 00 80 DA +18:15:53.285 RX 006 bytes 00 00 00 00 80 DA +18:15:53.486 TX frame 006 00 00 00 00 80 DA +18:15:53.537 RX 006 bytes 00 00 00 00 80 DA +18:15:53.739 TX frame 006 00 00 00 00 80 DA +18:15:53.790 RX 006 bytes 00 00 00 00 80 DA +18:15:53.992 TX frame 006 00 00 00 00 80 DA +18:15:54.043 RX 006 bytes 00 00 00 00 80 DA +18:15:54.244 TX frame 006 00 00 00 00 80 DA +18:15:54.296 RX 006 bytes 00 00 00 00 80 DA +18:15:54.498 TX frame 006 00 00 00 00 80 DA +18:15:54.548 RX 006 bytes 00 00 00 00 80 DA +18:15:54.750 TX frame 006 00 00 00 00 80 DA +18:15:54.801 RX 006 bytes 00 00 00 00 80 DA +18:15:55.002 TX frame 006 00 00 00 00 80 DA +18:15:55.054 RX 006 bytes 00 00 00 00 80 DA +18:15:55.255 TX frame 006 00 00 00 00 80 DA +18:15:55.305 RX 006 bytes 00 00 00 00 80 DA +18:15:55.509 TX frame 006 00 00 00 00 80 DA +18:15:55.559 RX 006 bytes 00 00 00 00 80 DA +18:15:55.761 TX frame 006 00 00 00 00 80 DA +18:15:55.812 RX 006 bytes 00 00 00 00 80 DA +18:15:56.013 TX frame 006 00 00 00 00 80 DA +18:15:56.063 RX 006 bytes 00 00 00 00 80 DA +18:15:56.266 TX frame 006 00 00 00 00 80 DA +18:15:56.317 RX 006 bytes 00 00 00 00 80 DA +18:15:56.518 TX frame 006 00 00 00 00 80 DA +18:15:56.569 RX 006 bytes 00 00 00 00 80 DA +18:15:56.770 TX frame 006 00 00 00 00 80 DA +18:15:56.821 RX 006 bytes 00 00 00 00 80 DA +18:15:57.024 TX frame 006 00 00 00 00 80 DA +18:15:57.074 RX 006 bytes 00 00 00 00 80 DA +18:15:57.276 TX frame 006 00 00 00 00 80 DA +18:15:57.327 RX 006 bytes 00 00 00 00 80 DA +18:15:57.529 TX frame 006 00 00 00 00 80 DA +18:15:57.580 RX 006 bytes 00 00 00 00 80 DA +18:15:57.782 TX frame 006 00 00 00 00 80 DA +18:15:57.833 RX 006 bytes 00 00 00 00 80 DA +18:15:58.036 TX frame 006 00 00 00 00 80 DA +18:15:58.086 RX 006 bytes 00 00 00 00 80 DA +18:15:58.288 TX frame 006 00 00 00 00 80 DA +18:15:58.340 RX 006 bytes 00 00 00 00 80 DA +18:15:58.542 TX frame 006 00 00 00 00 80 DA +18:15:58.592 RX 006 bytes 00 00 00 00 80 DA +18:15:58.794 TX frame 006 00 00 00 00 80 DA +18:15:58.845 RX 006 bytes 00 00 00 00 80 DA +18:15:59.047 TX frame 006 00 00 00 00 80 DA +18:15:59.097 RX 006 bytes 00 00 00 00 80 DA +18:15:59.300 TX frame 006 00 00 00 00 80 DA +18:15:59.350 RX 006 bytes 00 00 00 00 80 DA +18:15:59.552 TX frame 006 00 00 00 00 80 DA +18:15:59.602 RX 006 bytes 00 00 00 00 80 DA +18:15:59.804 TX frame 006 00 00 00 00 80 DA +18:15:59.855 RX 006 bytes 00 00 00 00 80 DA +18:16:00.056 TX frame 006 00 00 00 00 80 DA +18:16:00.106 RX 006 bytes 00 00 00 00 80 DA +18:16:00.308 TX frame 006 00 00 00 00 80 DA +18:16:00.359 RX 006 bytes 00 00 00 00 80 DA +18:16:00.561 TX frame 006 00 00 00 00 80 DA +18:16:00.612 RX 006 bytes 00 00 00 00 80 DA +18:16:00.864 RX 006 bytes 00 00 00 00 80 DA +18:16:01.116 RX 006 bytes 00 00 00 00 80 DA +18:16:01.368 RX 006 bytes 00 00 00 00 80 DA +18:16:01.619 RX 006 bytes 00 00 00 00 80 DA +18:16:01.872 RX 006 bytes 00 00 00 00 80 DA +18:16:02.125 RX 006 bytes 00 00 00 00 80 DA +18:16:02.379 RX 006 bytes 00 00 00 00 80 DA +18:16:02.985 RX 006 bytes 00 00 00 00 80 DA +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 DA after 3.0s +18:17:14.382 RX 001 bytes 00 +18:17:14.433 RX 005 bytes 00 00 00 80 DA +18:17:15.087 RX 006 bytes 00 00 00 00 80 DA +18:17:15.793 RX 006 bytes 00 00 00 00 80 DA +18:17:16.498 RX 006 bytes 00 00 00 00 80 DA +18:17:17.203 RX 006 bytes 00 00 00 00 80 DA +18:17:17.203 TX frame 006 00 00 00 00 80 DA +18:17:17.455 TX frame 006 00 00 00 00 80 DA +18:17:17.707 TX frame 006 00 00 00 00 80 DA +18:17:17.908 RX 006 bytes 00 00 00 00 80 DA +18:17:17.959 TX frame 006 00 00 00 00 80 DA +18:17:18.009 RX 006 bytes 00 00 00 00 80 DA +18:17:18.211 TX frame 006 00 00 00 00 80 DA +18:17:18.262 RX 006 bytes 00 00 00 00 80 DA +18:17:18.465 TX frame 006 00 00 00 00 80 DA +18:17:18.515 RX 006 bytes 00 00 00 00 80 DA +18:17:18.717 TX frame 006 00 00 00 00 80 DA +18:17:18.768 RX 006 bytes 00 00 00 00 80 DA +18:17:18.970 TX frame 006 00 00 00 00 80 DA +18:17:19.021 RX 006 bytes 00 00 00 00 80 DA +18:17:19.222 TX frame 006 00 00 00 00 80 DA +18:17:19.273 RX 006 bytes 00 00 00 00 80 DA +18:17:19.475 TX frame 006 00 00 00 00 80 DA +18:17:19.525 RX 006 bytes 00 00 00 00 80 DA +18:17:19.727 TX frame 006 00 00 00 00 80 DA +18:17:19.777 RX 006 bytes 00 00 00 00 80 DA +18:17:19.979 TX frame 006 00 00 00 00 80 DA +18:17:20.029 RX 006 bytes 00 00 00 00 80 DA +18:17:20.231 TX frame 006 00 00 00 00 80 DA +18:17:20.282 RX 006 bytes 00 00 00 00 80 DA +18:17:20.484 TX frame 006 00 00 00 00 80 DA +18:17:20.536 RX 006 bytes 00 00 00 00 80 DA +18:17:20.739 TX frame 006 00 00 00 00 80 DA +18:17:20.790 RX 006 bytes 00 00 00 00 80 DA +18:17:20.992 TX frame 006 00 00 00 00 80 DA +18:17:21.043 RX 006 bytes 00 00 00 00 80 DA +18:17:21.245 TX frame 006 00 00 00 00 80 DA +18:17:21.295 RX 006 bytes 00 00 00 00 80 DA +18:17:21.497 TX frame 006 00 00 00 00 80 DA +18:17:21.548 RX 006 bytes 00 00 00 00 80 DA +18:17:21.749 TX frame 006 00 00 00 00 80 DA +18:17:21.799 RX 006 bytes 00 00 00 00 80 DA +18:17:22.000 TX frame 006 00 00 00 00 80 DA +18:17:22.051 RX 006 bytes 00 00 00 00 80 DA +18:17:22.252 TX frame 006 00 00 00 00 80 DA +18:17:22.303 RX 006 bytes 00 00 00 00 80 DA +18:17:22.504 TX frame 006 00 00 00 00 80 DA +18:17:22.555 RX 006 bytes 00 00 00 00 80 DA +18:17:22.757 TX frame 006 00 00 00 00 80 DA +18:17:22.808 RX 006 bytes 00 00 00 00 80 DA +18:17:23.009 TX frame 006 00 00 00 00 80 DA +18:17:23.060 RX 006 bytes 00 00 00 00 80 DA +18:17:23.262 TX frame 006 00 00 00 00 80 DA +18:17:23.313 RX 006 bytes 00 00 00 00 80 DA +18:17:23.514 TX frame 006 00 00 00 00 80 DA +18:17:23.565 RX 006 bytes 00 00 00 00 80 DA +18:17:23.767 TX frame 006 00 00 00 00 80 DA +18:17:23.818 RX 006 bytes 00 00 00 00 80 DA +18:17:24.019 TX frame 006 00 00 00 00 80 DA +18:17:24.070 RX 006 bytes 00 00 00 00 80 DA +18:17:24.272 TX frame 006 00 00 00 00 80 DA +18:17:24.324 RX 006 bytes 00 00 00 00 80 DA +18:17:24.526 TX frame 006 00 00 00 00 80 DA +18:17:24.577 RX 006 bytes 00 00 00 00 80 DA +18:17:24.779 TX frame 006 00 00 00 00 80 DA +18:17:24.830 RX 006 bytes 00 00 00 00 80 DA +18:17:25.032 TX frame 006 00 00 00 00 80 DA +18:17:25.082 RX 006 bytes 00 00 00 00 80 DA +18:17:25.285 TX frame 006 00 00 00 00 80 DA +18:17:25.335 RX 006 bytes 00 00 00 00 80 DA +18:17:25.536 TX frame 006 00 00 00 00 80 DA +18:17:25.586 RX 006 bytes 00 00 00 00 80 DA +18:17:25.788 TX frame 006 00 00 00 00 80 DA +18:17:25.838 RX 006 bytes 00 00 00 00 80 DA +18:17:26.041 TX frame 006 00 00 00 00 80 DA +18:17:26.092 RX 006 bytes 00 00 00 00 80 DA +18:17:26.294 TX frame 006 00 00 00 00 80 DA +18:17:26.344 RX 006 bytes 00 00 00 00 80 DA +18:17:26.546 TX frame 006 00 00 00 00 80 DA +18:17:26.596 RX 006 bytes 00 00 00 00 80 DA +18:17:26.798 TX frame 006 00 00 00 00 80 DA +18:17:26.849 RX 006 bytes 00 00 00 00 80 DA +18:17:27.051 TX frame 006 00 00 00 00 80 DA +18:17:27.102 RX 006 bytes 00 00 00 00 80 DA +18:17:27.303 TX frame 006 00 00 00 00 80 DA +18:17:27.354 RX 006 bytes 00 00 00 00 80 DA +18:17:27.556 TX frame 006 00 00 00 00 80 DA +18:17:27.606 RX 006 bytes 00 00 00 00 80 DA +18:17:27.808 TX frame 006 00 00 00 00 80 DA +18:17:27.859 RX 006 bytes 00 00 00 00 80 DA +18:17:28.061 TX frame 006 00 00 00 00 80 DA +18:17:28.112 RX 006 bytes 00 00 00 00 80 DA +18:17:28.315 TX frame 006 00 00 00 00 80 DA +18:17:28.366 RX 006 bytes 00 00 00 00 80 DA +18:17:28.568 TX frame 006 00 00 00 00 80 DA +18:17:28.619 RX 006 bytes 00 00 00 00 80 DA +18:17:28.821 TX frame 006 00 00 00 00 80 DA +18:17:28.871 RX 006 bytes 00 00 00 00 80 DA +18:17:29.073 TX frame 006 00 00 00 00 80 DA +18:17:29.125 RX 006 bytes 00 00 00 00 80 DA +18:17:29.326 TX frame 006 00 00 00 00 80 DA +18:17:29.376 RX 006 bytes 00 00 00 00 80 DA +18:17:29.579 TX frame 006 00 00 00 00 80 DA +18:17:29.630 RX 006 bytes 00 00 00 00 80 DA +18:17:29.833 TX frame 006 00 00 00 00 80 DA +18:17:29.883 RX 006 bytes 00 00 00 00 80 DA +18:17:30.086 TX frame 006 00 00 00 00 80 DA +18:17:30.137 RX 006 bytes 00 00 00 00 80 DA +18:17:30.339 TX frame 006 00 00 00 00 80 DA +18:17:30.389 RX 006 bytes 00 00 00 00 80 DA +18:17:30.591 TX frame 006 00 00 00 00 80 DA +18:17:30.642 RX 006 bytes 00 00 00 00 80 DA +Stopped. +Listening on COM5 at 38400 8N1; will send 00 00 00 00 80 DA after 3.0s +18:17:38.299 RX 001 bytes 00 +18:17:38.349 RX 005 bytes 00 00 00 80 DA +18:17:39.002 RX 001 bytes 00 +18:17:39.053 RX 005 bytes 00 00 00 80 DA +18:17:39.707 RX 001 bytes 00 +18:17:39.757 RX 005 bytes 00 00 00 80 DA +18:17:40.414 RX 006 bytes 00 00 00 00 80 DA +18:17:40.869 TX frame 006 00 00 00 00 80 DA +18:17:41.122 RX 006 bytes 00 00 00 00 80 DA +18:17:41.122 TX frame 006 00 00 00 00 80 DA +18:17:41.172 RX 006 bytes 07 80 C0 40 30 6D +18:17:41.373 RX 006 bytes 07 80 C0 40 30 6D +18:17:41.374 TX frame 006 00 00 00 00 80 DA +18:17:41.425 RX 006 bytes 00 00 00 00 80 DA +18:17:41.628 TX frame 006 00 00 00 00 80 DA +18:17:41.678 RX 006 bytes 00 00 00 00 80 DA +18:17:41.879 TX frame 006 00 00 00 00 80 DA +18:17:41.930 RX 006 bytes 00 00 00 00 80 DA +Stopped. diff --git a/captures/rcp-negative-primer-groups.txt b/captures/rcp-negative-primer-groups.txt new file mode 100644 index 0000000..9c062f6 --- /dev/null +++ b/captures/rcp-negative-primer-groups.txt @@ -0,0 +1,28 @@ +Sequence probe: 1 frames x 6 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 00 00 80 DA +BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 1/6 +18:20:22.354 TX group=1 frame=1 len=006 00 00 00 00 80 DA +18:20:22.354 RX group=1 frame=1 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 1 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +BEGIN group 2/6 +18:20:24.575 TX group=2 frame=1 len=006 00 00 00 00 80 DA +18:20:24.575 RX group=2 frame=1 heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +BEGIN group 3/6 +18:20:26.799 TX group=3 frame=1 len=006 00 00 00 00 80 DA +18:20:26.799 RX group=3 frame=1 heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +GROUP 3 TAIL heartbeat-compatible RX: 13 bytes, offset 0, 2 frames + 1 bytes +BEGIN group 4/6 +18:20:29.021 TX group=4 frame=1 len=006 00 00 00 00 80 DA +18:20:29.021 RX group=4 frame=1 heartbeat-compatible RX: 29 bytes, offset 1, 4 frames + 5 bytes +GROUP 4 TAIL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +BEGIN group 5/6 +18:20:31.237 TX group=5 frame=1 len=006 00 00 00 00 80 DA +18:20:31.237 RX group=5 frame=1 heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +GROUP 5 TAIL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +BEGIN group 6/6 +18:20:33.457 TX group=6 frame=1 len=006 00 00 00 00 80 DA +18:20:33.457 RX group=6 frame=1 heartbeat-compatible RX: 25 bytes, offset 0, 4 frames + 1 bytes +GROUP 6 TAIL heartbeat-compatible RX: 17 bytes, offset 1, 2 frames + 5 bytes +Anomalies: 0 diff --git a/docs/discovery-notes.md b/docs/discovery-notes.md index 6226ab8..c50f68e 100644 --- a/docs/discovery-notes.md +++ b/docs/discovery-notes.md @@ -3877,3 +3877,419 @@ Overall interpretation: - Best current model: the startup exchange probably does involve host-presented status or selector bits, but the currently tested sequences still land in a one-shot query regime rather than an active maintained session. + +## Negative-Space Test Ladder + +Goal: + +- Find out what the panel quietly ignores versus what changes its internal + parser/session state. +- Check whether repetitive "host heartbeat" traffic alone changes anything. +- Recheck whether a known readable query needs silence afterward, or whether the + act of repetition itself suppresses later behavior. +- See whether a malformed checksum has any special effect beyond the already + known `CONNECT NOT ACT` parser-visible state. + +Recommended observation: + +- Power-cycle before each test. +- Note any LCD change, especially whether it remains blank/idle or reaches the + usual `CONNECT NOT ACT`. +- Note any visible LED change, even if the serial log looks ordinary. + +### NS1: Assumed Host Heartbeat Only + +Send only the current assumed host heartbeat frame repeatedly for a longer +window, with no follow-up query. + +```powershell +python scripts/serial_probe_response.py --port COM5 --tx-frame "00 00 00 00 80 DA" --repeat 80 --interval 0.25 --delay 3 --after 3 --frame-size 0 --log captures/rcp-negative-heartbeat-only.txt +``` + +Read goal: + +- If this alone eventually changes visible state, cadence may matter more than + command diversity. +- If it remains heartbeat-only and visually inert, the primer/heartbeat frame is + probably necessary but not sufficient. + +### 2026-05-13 NS1 Partial Result + +User observation from two power-cycled runs: + +- During the entire `NS1` script run, the panel did **not** enter + `CONNECT NOT ACT` / `CONNECTION NOT ACT`. +- About 2 seconds after the repeating heartbeat-only script stopped, the panel + entered `CONNECT NOT ACT`. +- Manually interrupting the script showed the same pattern: while the stream was + active, no `CONNECT NOT ACT`; about 2 seconds after transmission ceased, the + panel entered `CONNECT NOT ACT`. +- Once the panel was already in `CONNECT NOT ACT`, restarting the heartbeat-only + script did not immediately clear that state. + +Interpretation: + +- Continuous transmission of the assumed host heartbeat appears to hold the + panel out of the `CONNECT NOT ACT` display state. +- The transition into `CONNECT NOT ACT` now looks less like "bad packet was + received" and more like "host traffic stopped and a connection/activity timer + expired." +- That suggests the panel may treat regular host traffic as evidence of a live + link, even when the session is not fully active. +- It also suggests `CONNECT NOT ACT` may be a post-timeout idle/failure state + rather than an immediate parse-error state. +- The fact that restarting the stream does not snap the LCD back out of + `CONNECT NOT ACT` implies the entry condition and exit condition are probably + different. Keeping traffic alive may prevent the state, but leaving the state + may require a separate activation/ack/session step. + +Next refinement worth doing: + +- Repeat `NS1` with different transmit intervals such as `100 ms`, `500 ms`, + and `1.5 s` to estimate the timeout threshold for preventing + `CONNECT NOT ACT`. + +### NS2: Primer Only, Short Burst Groups + +Use the sequence probe to send the same primer in repeated groups, with a gap +between groups, to see whether grouped startup chatter matters differently than +an uninterrupted stream. + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 00 00 80 DA" --repeat 6 --repeat-interval 1.0 --read-after-frame 0.6 --read-after-group 0.6 --log captures/rcp-negative-primer-groups.txt +``` + +Read goal: + +- If a later group produces anything non-heartbeat, the panel may have a boot + window or cadence threshold. +- If every group is ignored, plain primer repetition is probably dead air from + the panel's point of view. + +### NS3: Known Readable Query Once, Then Silence + +Send a known readable query once after the canonical primer and then do nothing +else for a longer read window. + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 00 00 80 DA" --frame "00 00 A0 00 80 7A" --read-after-frame 1.2 --read-after-group 5.0 --log captures/rcp-negative-a0-once-then-silence.txt +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 00 00 80 DA" --frame "00 00 B0 00 80 6A" --read-after-frame 1.2 --read-after-group 5.0 --log captures/rcp-negative-b0-once-then-silence.txt +``` + +Read goal: + +- If the panel emits extra delayed frames after the initial block, it may be + expecting a host response or entering a timed wait state. +- If it cleanly returns to heartbeat-only, the one-shot read probably ends the + interaction by itself. + +### NS4: Known Readable Query Repeated + +Send the same readable query repeatedly after a primer, without power-cycling, +to separate "one-shot per boot" from "suppressed only by mixed traffic." + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 00 00 80 DA" --frame "00 00 A0 00 80 7A" --repeat 5 --repeat-interval 1.0 --read-after-frame 1.0 --read-after-group 0.8 --log captures/rcp-negative-a0-repeat.txt +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 00 00 80 DA" --frame "00 00 B0 00 80 6A" --repeat 5 --repeat-interval 1.0 --read-after-frame 1.0 --read-after-group 0.8 --log captures/rcp-negative-b0-repeat.txt +``` + +Read goal: + +- If only the first group responds, that strengthens the one-shot-per-boot + model. +- If a later group responds again, repeated identical polling may be more valid + than mixed-family polling. + +### NS5: Malformed Checksum Once + +Send one malformed checksum frame with the same shape as the assumed heartbeat, +then observe whether the panel does anything beyond ordinary heartbeat and the +known parser-visible display state. + +```powershell +python scripts/serial_probe_response.py --port COM5 --tx-frame "00 00 00 00 80 00" --repeat 1 --delay 3 --after 8 --frame-size 0 --log captures/rcp-negative-bad-heartbeat-once.txt +python scripts/serial_probe_response.py --port COM5 --tx-frame "00 00 A0 00 80 00" --repeat 1 --delay 3 --after 8 --frame-size 0 --log captures/rcp-negative-bad-a0-once.txt +``` + +Read goal: + +- If malformed frames cause no special serial result beyond heartbeat, checksum + errors are probably tolerated only enough to flip link-visible state. +- If malformed `A0` produces a different visible or serial effect than malformed + heartbeat, the parser may be doing more command-byte inspection before + checksum rejection than expected. + +### NS6: Deliberate Silence Control + +This is a no-transmit control to compare against all of the above. Just watch RX +with no host traffic. + +```powershell +python scripts/serial_button_response_test.py --port COM5 --duration 20 +``` + +Read goal: + +- Confirm the natural idle pattern and visible state with zero host traffic in + the exact same bench setup. + +Recommended order: + +1. `NS6` silence control +2. `NS1` heartbeat only +3. `NS3` query once then silence +4. `NS4` repeated same query +5. `NS5` malformed checksum once +6. `NS2` primer groups + +### 2026-05-13 Negative-Space Result + +Captures: + +- `captures/rcp-negative-heartbeat-only.txt` +- `captures/rcp-negative-heartbeat-100ms.txt` +- `captures/rcp-negative-heartbeat-500ms.txt` +- `captures/rcp-negative-heartbeat-1500ms.txt` +- `captures/rcp-negative-primer-groups.txt` +- `captures/rcp-negative-a0-once-then-silence.txt` +- `captures/rcp-negative-b0-once-then-silence.txt` +- `captures/rcp-negative-a0-repeat.txt` +- `captures/rcp-negative-b0-repeat.txt` +- `captures/rcp-negative-bad-heartbeat-once.txt` +- `captures/rcp-negative-bad-a0-once.txt` + +#### NS1: Assumed Host Heartbeat Only + +Observed serial result: + +- The repeated host heartbeat usually left RX at ordinary heartbeat, but some + runs produced a short early structured response burst near the second host + heartbeat: + - `07 80 40 60 30 CD` + - `07 80 40 40 30 ED` + - `07 80 C0 40 30 6D` +- These bursts were transient. After them, the link returned to ordinary + heartbeat RX while the host heartbeat stream continued. + +Observed LCD/timing result from user notes: + +- `100 ms` interval: `CONNECT NOT ACT` appeared near the end before the script + fully finished. +- `500 ms` interval: `CONNECT NOT ACT` appeared once the script finished. +- `1500 ms` interval: the panel timed out at the very end, just before the + script finished. +- Earlier manual observation also still stands: while the heartbeat stream is + actively running, the panel can remain out of `CONNECT NOT ACT`, then fall + into it roughly 2 seconds after traffic stops. + +Read: + +- Regular heartbeat traffic clearly affects the panel's visible connection + timeout behavior. +- The panel is not treating `00 00 00 00 80 DA` as a full activation command, + but it does appear to treat it as meaningful host-presence traffic. +- The brief `0x40` / `0xC0` response bursts suggest some heartbeat cadences can + momentarily steer the panel into a different readable state family even + without an explicit query. + +#### NS2: Primer Groups + +Observed result: + +- Repeated single-frame primer groups produced only heartbeat-compatible RX. +- No anomalies were logged. + +Read: + +- Sparse primer pings alone do not seem to provoke the panel into a readable + state. +- Grouped startup chatter is weaker than a continuous heartbeat stream. + +#### NS3: Known Query Once, Then Silence + +Observed result: + +| Sequence | Immediate response | Tail behavior | +| --- | --- | --- | +| `00 -> A0`, then silence | `07 80 68 40 30 C5` repeated | a short additional `07 80 68 40 30 C5` tail, then heartbeat only | +| `00 -> B0`, then silence | `07 80 6C 40 30 C1` repeated | a short additional `07 80 6C 40 30 C1` tail, then heartbeat only | + +Read: + +- A successful one-shot readable query continues to drain out a short burst for + a moment even after host transmission stops. +- After that short burst, the panel returns cleanly to ordinary heartbeat-only + behavior. + +#### NS4: Known Query Repeated + +Observed result: + +| Repeated sequence | Result | +| --- | --- | +| `00 -> A0`, repeated 5 times | only group 1 produced `07 80 68 40 30 C5`; groups 2-5 were heartbeat only | +| `00 -> B0`, repeated 5 times | only group 1 produced `07 80 6C 40 30 C1`; groups 2-5 were heartbeat only | + +Read: + +- Repeating the exact same known-good readable query does **not** make it + reusable. +- This strengthens the one-shot-per-boot model for these query families. + +#### NS5: Malformed Checksum Once + +Observed result: + +- A malformed heartbeat-shaped frame `00 00 00 00 80 00` produced only ordinary + heartbeat RX afterward. +- A malformed `A0`-shaped frame `00 00 A0 00 80 00` also produced only + ordinary heartbeat RX afterward. + +Read: + +- Malformed frames do not seem to trigger a special serial reaction on their + own. +- Whatever visible `CONNECT NOT ACT` behavior malformed frames may cause on the + LCD, it is not accompanied by a distinctive RX response block in these runs. + +Overall interpretation: + +- Silence and malformed traffic are serially boring. +- Successful readable queries still behave as one-shot bursts followed by a + return to heartbeat. +- Repeating those same queries still does not reopen them. +- Continuous heartbeat traffic is the one negative-space case that clearly + changes panel behavior: + - it can delay or suppress entry into `CONNECT NOT ACT` + - it can sometimes provoke brief `0x40` / `0xC0` response-family bursts + without any explicit query command + +## Heartbeat-Maintained Reuse Test + +Goal: + +- Check whether keeping a host heartbeat alive between query attempts makes the + one-shot readable blocks reusable without power-cycling. + +Working idea: + +- Earlier repeat tests used `primer -> query` groups with idle gaps. +- The new negative-space tests suggest steady heartbeat traffic may hold the + panel in a more connection-aware state. +- So the next question is whether interleaving regular heartbeats between query + attempts can reopen `A0` or `B0`. + +### HR1: `A0` With Heartbeat Maintenance + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 00 00 80 DA" --frame "00 00 A0 00 80 7A" --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --repeat 4 --frame-interval 0.25 --read-after-frame 0.35 --read-after-group 0.5 --log captures/rcp-heartbeat-maintained-a0.txt +``` + +### HR2: `B0` With Heartbeat Maintenance + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 00 00 80 DA" --frame "00 00 B0 00 80 6A" --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --repeat 4 --frame-interval 0.25 --read-after-frame 0.35 --read-after-group 0.5 --log captures/rcp-heartbeat-maintained-b0.txt +``` + +### HR3: Denser Heartbeat Maintenance Around `A0` + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --frame "00 00 A0 00 80 7A" --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --repeat 4 --frame-interval 0.10 --read-after-frame 0.25 --read-after-group 0.5 --log captures/rcp-heartbeat-maintained-a0-dense.txt +``` + +What to watch for: + +- group 1 only responds: + heartbeat maintenance is not enough; the latch still dominates +- later groups respond with the same readable block: + heartbeat maintenance partially reopens the one-shot query path +- later groups do not return `A0`/`B0` but do return `0x40`/`0xC0` blocks: + heartbeat cadence may be moving the panel into a different selector/state + family instead of truly reusing the original query + +### 2026-05-13 Heartbeat-Maintained Reuse Result + +Captures: + +- `captures/rcp-heartbeat-maintained-a0.txt` +- `captures/rcp-heartbeat-maintained-b0.txt` +- `captures/rcp-heartbeat-maintained-a0-dense.txt` + +User LCD observation: + +- In all three heartbeat-maintained runs, the panel never entered + `CONNECT NOT ACT` / `CONNECTION NOT ACT` while the script was running. + +#### HR1: `A0` With Heartbeat Maintenance + +Observed result: + +- Group 1: + - `A0` produced `07 80 68 40 30 C5` + - the next heartbeat frame drained the tail of that same `A0` burst +- Groups 2-4: + - `A0` produced heartbeat-compatible RX only + - surrounding heartbeat frames also stayed heartbeat-only + +Read: + +- Keeping heartbeat traffic alive after the first `A0` response did not make + `A0` reusable. +- It did, however, keep the panel in the non-`CONNECT NOT ACT` display state. + +#### HR2: `B0` With Heartbeat Maintenance + +Observed result: + +- Group 1: + - `B0` produced one readable block `07 80 6C 40 30 C1` +- Groups 2-4: + - `B0` produced heartbeat-compatible RX only + - surrounding heartbeat frames stayed heartbeat-only + +Read: + +- Same outcome as `A0`: heartbeat maintenance did not reopen the one-shot query + path for `B0`. + +#### HR3: Denser Heartbeat Maintenance Around `A0` + +Observed result: + +- Group 1: + - the second heartbeat frame, before `A0`, provoked `07 80 40 40 30 ED` + - the following `A0` frame itself produced only heartbeat-compatible RX +- Groups 2-4: + - no `A0` response + - surrounding heartbeat frames stayed heartbeat-compatible + +Read: + +- Denser heartbeat traffic can push the panel into the transient `0x40` family + state before the `A0` query arrives. +- In that case, the heartbeat-induced `0x40` response appears to consume the + one-shot response opportunity and suppress the `A0` block. + +Overall interpretation: + +- Heartbeat maintenance is strong enough to affect the panel's visible + connection state, but not strong enough by itself to make `A0`/`B0` + reusable. +- The latch/one-shot behavior still dominates the readable query families. +- Dense heartbeat traffic can compete with or displace a later explicit query by + provoking a transient `0x40`-family response first. +- Best current model: + - heartbeat cadence helps hold a "live host present" condition + - a separate selector/query opportunity still exists only once per boot or + once per internal state phase + - some heartbeat cadences can spend that opportunity on `0x40`/`0xC0` family + responses instead of `A0`/`B0` + +Next branch worth testing: + +- intentionally provoke the transient heartbeat-induced `0x40`/`0xC0` family, + then immediately query nearby commands to see whether that state exposes a new + readable page +- or combine heartbeat maintenance with the synthetic CALL path, to test + whether "host present" plus an event-path trigger behaves differently than + "host present" plus a plain table query diff --git a/docs/pt2-protocol-summary.md b/docs/pt2-protocol-summary.md index c3f878a..967e7d5 100644 --- a/docs/pt2-protocol-summary.md +++ b/docs/pt2-protocol-summary.md @@ -188,6 +188,32 @@ What does not work: - The CALL path is real and useful for probing, but is not currently the activation handshake. +## Known Response Families + +These are the response frames that are stable enough to treat as known working +observations. "Meaning" here is still an engineering interpretation, not a +confirmed Sony definition. + +| Frame / family | Trigger | Confidence | Best current meaning | +| --- | --- | --- | --- | +| `07 80 68 40 30 C5` | `00 -> A0` | high | readable query/status block, not a generic ACK | +| `07 80 6C 40 30 C1` | `00 -> B0` | high | readable query/status block, not a generic ACK | +| `07 80 6D 20 D8 48` | `00 -> B5` | high | readable discovery/status block | +| `07 80 45 20 D0 68` | synthetic CALL high/low pair | high | CALL event-path response | +| `07 80 45 30 D0 78` | CALL timing test, seen once | low | sibling CALL-response-family frame | +| `07 80 40 40 30 ED` | some heartbeat-only cadence runs | medium | transient heartbeat/context response family | +| `07 80 40 60 30 CD` | some heartbeat-only cadence runs | low-medium | transient heartbeat/context response family | +| `07 80 C0 40 30 6D` | some heartbeat-only cadence runs | medium | transient heartbeat/context response family | + +Current caution: + +- No response family is yet confirmed as a true session-advance `ACK` or `OK` + frame. +- The `68` / `6C` / `6D` families behave more like readable blocks than simple + acknowledgements. +- The `45` family behaves like an event response, not a generic accept. +- The `40` / `C0` family currently looks state- or cadence-sensitive. + ## What We Know - The link is RS-232-like, not TTL.