This commit is contained in:
Aiden
2026-05-14 01:44:35 +10:00
parent d7e79e3899
commit d169cc4c39
10 changed files with 561 additions and 0 deletions

View File

@@ -82,3 +82,5 @@ BEGIN group 4/4
01:28:02.117 TX group=4 frame=8 len=006 00 00 09 20 D0 A3 01:28:02.117 TX group=4 frame=8 len=006 00 00 09 20 D0 A3
01:28:02.117 RX group=4 frame=8 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes 01:28:02.117 RX group=4 frame=8 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes
GROUP 4 TAIL heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes GROUP 4 TAIL heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes
01:32:23.227 PANEL python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x20-0x3F --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --pause-on-anomaly --log captures/he38-direct-20d0-cmd20-3f.txt
Anomalies: 2

View File

@@ -0,0 +1,23 @@
Direct response sweep: 32 frames x 1 cycles (32 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes
01:38:31.782 TX cycle=1 p1=0x00 p2=0x00 cmd=0x20 state=0x00 value=0x80 frame 006 00 00 20 00 80 FA
01:38:32.605 TX cycle=1 p1=0x00 p2=0x00 cmd=0x21 state=0x00 value=0x80 frame 006 00 00 21 00 80 FB
01:38:33.426 TX cycle=1 p1=0x00 p2=0x00 cmd=0x22 state=0x00 value=0x80 frame 006 00 00 22 00 80 F8
01:38:34.249 TX cycle=1 p1=0x00 p2=0x00 cmd=0x23 state=0x00 value=0x80 frame 006 00 00 23 00 80 F9
01:38:35.072 TX cycle=1 p1=0x00 p2=0x00 cmd=0x24 state=0x00 value=0x80 frame 006 00 00 24 00 80 FE
01:38:35.897 TX cycle=1 p1=0x00 p2=0x00 cmd=0x25 state=0x00 value=0x80 frame 006 00 00 25 00 80 FF
01:38:36.721 TX cycle=1 p1=0x00 p2=0x00 cmd=0x26 state=0x00 value=0x80 frame 006 00 00 26 00 80 FC
01:38:37.545 TX cycle=1 p1=0x00 p2=0x00 cmd=0x27 state=0x00 value=0x80 frame 006 00 00 27 00 80 FD
01:38:38.369 TX cycle=1 p1=0x00 p2=0x00 cmd=0x28 state=0x00 value=0x80 frame 006 00 00 28 00 80 F2
01:38:39.195 TX cycle=1 p1=0x00 p2=0x00 cmd=0x29 state=0x00 value=0x80 frame 006 00 00 29 00 80 F3
01:38:39.195 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:38:39.195 RX raw 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F
01:38:40.018 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2A state=0x00 value=0x80 frame 006 00 00 2A 00 80 F0
01:38:40.018 ANOMALY 18 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:38:40.018 RX raw 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F
01:38:40.842 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2B state=0x00 value=0x80 frame 006 00 00 2B 00 80 F1
01:38:40.842 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:38:40.842 RX raw 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F
01:38:41.665 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2C state=0x00 value=0x80 frame 006 00 00 2C 00 80 F6
01:38:42.491 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2D state=0x00 value=0x80 frame 006 00 00 2D 00 80 F7
Stopped.

View File

@@ -0,0 +1,52 @@
Direct response sweep: 32 frames x 1 cycles (32 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
01:34:56.160 TX cycle=1 p1=0x00 p2=0x00 cmd=0x20 state=0x00 value=0x80 frame 006 00 00 20 00 80 FA
01:34:56.983 TX cycle=1 p1=0x00 p2=0x00 cmd=0x21 state=0x00 value=0x80 frame 006 00 00 21 00 80 FB
01:34:57.805 TX cycle=1 p1=0x00 p2=0x00 cmd=0x22 state=0x00 value=0x80 frame 006 00 00 22 00 80 F8
01:34:58.629 TX cycle=1 p1=0x00 p2=0x00 cmd=0x23 state=0x00 value=0x80 frame 006 00 00 23 00 80 F9
01:34:59.456 TX cycle=1 p1=0x00 p2=0x00 cmd=0x24 state=0x00 value=0x80 frame 006 00 00 24 00 80 FE
01:35:00.277 TX cycle=1 p1=0x00 p2=0x00 cmd=0x25 state=0x00 value=0x80 frame 006 00 00 25 00 80 FF
01:35:01.096 TX cycle=1 p1=0x00 p2=0x00 cmd=0x26 state=0x00 value=0x80 frame 006 00 00 26 00 80 FC
01:35:01.920 TX cycle=1 p1=0x00 p2=0x00 cmd=0x27 state=0x00 value=0x80 frame 006 00 00 27 00 80 FD
01:35:02.742 TX cycle=1 p1=0x00 p2=0x00 cmd=0x28 state=0x00 value=0x80 frame 006 00 00 28 00 80 F2
01:35:03.565 TX cycle=1 p1=0x00 p2=0x00 cmd=0x29 state=0x00 value=0x80 frame 006 00 00 29 00 80 F3
01:35:03.565 ANOMALY 30 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:35:03.565 RX raw 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F 07 80 4A 20 D8 6F
01:35:08.048 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2A state=0x00 value=0x80 frame 006 00 00 2A 00 80 F0
01:35:08.874 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2B state=0x00 value=0x80 frame 006 00 00 2B 00 80 F1
01:35:09.699 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2C state=0x00 value=0x80 frame 006 00 00 2C 00 80 F6
01:35:10.525 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2D state=0x00 value=0x80 frame 006 00 00 2D 00 80 F7
01:35:10.525 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:35:10.525 RX raw 07 80 4B 20 D8 6E 07 80 4B 20 D8 6E 07 80 4B 20 D8 6E 07 80 4B 20 D8 6E
01:35:13.653 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2E state=0x00 value=0x80 frame 006 00 00 2E 00 80 F4
01:35:14.477 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2F state=0x00 value=0x80 frame 006 00 00 2F 00 80 F5
01:35:15.299 TX cycle=1 p1=0x00 p2=0x00 cmd=0x30 state=0x00 value=0x80 frame 006 00 00 30 00 80 EA
01:35:16.122 TX cycle=1 p1=0x00 p2=0x00 cmd=0x31 state=0x00 value=0x80 frame 006 00 00 31 00 80 EB
01:35:16.122 ANOMALY 29 RX bytes; first mismatch at byte 5: got 07, heartbeat offset 1 expected 00
01:35:16.122 RX raw 00 00 00 80 DA 07 80 4C 20 D8 69 07 80 4C 20 D8 69 07 80 4C 20 D8 69 07 80 4C 20 D8 69
01:35:18.422 TX cycle=1 p1=0x00 p2=0x00 cmd=0x32 state=0x00 value=0x80 frame 006 00 00 32 00 80 E8
01:35:19.245 TX cycle=1 p1=0x00 p2=0x00 cmd=0x33 state=0x00 value=0x80 frame 006 00 00 33 00 80 E9
01:35:19.245 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:35:19.245 RX raw 07 80 26 10 2C C7 00 00 00 00 80 DA
01:35:21.618 TX cycle=1 p1=0x00 p2=0x00 cmd=0x34 state=0x00 value=0x80 frame 006 00 00 34 00 80 EE
01:35:22.443 TX cycle=1 p1=0x00 p2=0x00 cmd=0x35 state=0x00 value=0x80 frame 006 00 00 35 00 80 EF
01:35:22.443 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:35:22.443 RX raw 07 80 4D 20 D8 68 00 00 00 00 80 DA
01:35:27.335 TX cycle=1 p1=0x00 p2=0x00 cmd=0x36 state=0x00 value=0x80 frame 006 00 00 36 00 80 EC
01:35:28.160 TX cycle=1 p1=0x00 p2=0x00 cmd=0x37 state=0x00 value=0x80 frame 006 00 00 37 00 80 ED
01:35:28.981 TX cycle=1 p1=0x00 p2=0x00 cmd=0x38 state=0x00 value=0x80 frame 006 00 00 38 00 80 E2
01:35:29.802 TX cycle=1 p1=0x00 p2=0x00 cmd=0x39 state=0x00 value=0x80 frame 006 00 00 39 00 80 E3
01:35:29.802 ANOMALY 27 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:35:29.802 RX raw 07 80 4E 20 D8 6B 07 80 4E 20 D8 6B 07 80 4E 20 D8 6B 07 80 4E 20 D8 6B 07 80 4E
01:35:32.049 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3A state=0x00 value=0x80 frame 006 00 00 3A 00 80 E0
01:35:32.872 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3B state=0x00 value=0x80 frame 006 00 00 3B 00 80 E1
01:35:32.872 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:35:32.872 RX raw 07 80 27 10 2C C6 00 00 00 00 80 DA
01:35:35.567 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3C state=0x00 value=0x80 frame 006 00 00 3C 00 80 E6
01:35:36.392 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3D state=0x00 value=0x80 frame 006 00 00 3D 00 80 E7
01:35:36.392 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:35:36.392 RX raw 07 80 4F 20 D8 6A 00 00 00 00 80 DA
01:35:38.650 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3E state=0x00 value=0x80 frame 006 00 00 3E 00 80 E4
01:35:39.474 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3F state=0x00 value=0x80 frame 006 00 00 3F 00 80 E5
FINAL heartbeat-compatible RX: 17 bytes, offset 1, 2 frames + 5 bytes
Anomalies: 8

View File

@@ -0,0 +1,23 @@
Direct response sweep: 32 frames x 1 cycles (32 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
01:38:04.472 TX cycle=1 p1=0x00 p2=0x00 cmd=0x20 state=0x20 value=0xD0 frame 006 00 00 20 20 D0 8A
01:38:05.301 TX cycle=1 p1=0x00 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 00 00 21 20 D0 8B
01:38:05.301 ANOMALY 30 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:38:05.301 RX raw 07 80 48 24 DD 6C 07 80 48 24 DD 6C 07 80 48 24 DD 6C 07 80 48 24 DD 6C 07 80 48 24 DD 6C
01:38:06.126 TX cycle=1 p1=0x00 p2=0x00 cmd=0x22 state=0x20 value=0xD0 frame 006 00 00 22 20 D0 88
01:38:06.947 TX cycle=1 p1=0x00 p2=0x00 cmd=0x23 state=0x20 value=0xD0 frame 006 00 00 23 20 D0 89
01:38:07.766 TX cycle=1 p1=0x00 p2=0x00 cmd=0x24 state=0x20 value=0xD0 frame 006 00 00 24 20 D0 8E
01:38:08.588 TX cycle=1 p1=0x00 p2=0x00 cmd=0x25 state=0x20 value=0xD0 frame 006 00 00 25 20 D0 8F
01:38:09.410 TX cycle=1 p1=0x00 p2=0x00 cmd=0x26 state=0x20 value=0xD0 frame 006 00 00 26 20 D0 8C
01:38:10.232 TX cycle=1 p1=0x00 p2=0x00 cmd=0x27 state=0x20 value=0xD0 frame 006 00 00 27 20 D0 8D
01:38:11.054 TX cycle=1 p1=0x00 p2=0x00 cmd=0x28 state=0x20 value=0xD0 frame 006 00 00 28 20 D0 82
01:38:11.876 TX cycle=1 p1=0x00 p2=0x00 cmd=0x29 state=0x20 value=0xD0 frame 006 00 00 29 20 D0 83
01:38:12.698 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2A state=0x20 value=0xD0 frame 006 00 00 2A 20 D0 80
01:38:13.521 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2B state=0x20 value=0xD0 frame 006 00 00 2B 20 D0 81
01:38:14.342 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2C state=0x20 value=0xD0 frame 006 00 00 2C 20 D0 86
01:38:15.164 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2D state=0x20 value=0xD0 frame 006 00 00 2D 20 D0 87
01:38:15.988 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2E state=0x20 value=0xD0 frame 006 00 00 2E 20 D0 84
01:38:16.812 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2F state=0x20 value=0xD0 frame 006 00 00 2F 20 D0 85
01:38:17.634 TX cycle=1 p1=0x00 p2=0x00 cmd=0x30 state=0x20 value=0xD0 frame 006 00 00 30 20 D0 9A
01:38:18.458 TX cycle=1 p1=0x00 p2=0x00 cmd=0x31 state=0x20 value=0xD0 frame 006 00 00 31 20 D0 9B
Stopped.

View File

@@ -0,0 +1,64 @@
Direct response sweep: 32 frames x 1 cycles (32 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
01:32:37.006 TX cycle=1 p1=0x00 p2=0x00 cmd=0x20 state=0x20 value=0xD0 frame 006 00 00 20 20 D0 8A
01:32:37.829 TX cycle=1 p1=0x00 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 00 00 21 20 D0 8B
01:32:37.829 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:32:37.829 RX raw 07 80 48 24 DD 6C 07 80 48 24 DD 6C 07 80 48 24 DD 6C 07 80 48 24 DD 6C
01:32:44.553 TX cycle=1 p1=0x00 p2=0x00 cmd=0x22 state=0x20 value=0xD0 frame 006 00 00 22 20 D0 88
01:32:45.378 TX cycle=1 p1=0x00 p2=0x00 cmd=0x23 state=0x20 value=0xD0 frame 006 00 00 23 20 D0 89
01:32:45.378 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:32:45.378 RX raw 07 80 24 12 97 7C 00 00 00 00 80 DA
01:32:49.865 TX cycle=1 p1=0x00 p2=0x00 cmd=0x24 state=0x20 value=0xD0 frame 006 00 00 24 20 D0 8E
01:32:50.689 TX cycle=1 p1=0x00 p2=0x00 cmd=0x25 state=0x20 value=0xD0 frame 006 00 00 25 20 D0 8F
01:32:50.689 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:32:50.689 RX raw 07 80 49 24 DD 6D 00 00 00 00 80 DA
01:32:54.094 TX cycle=1 p1=0x00 p2=0x00 cmd=0x26 state=0x20 value=0xD0 frame 006 00 00 26 20 D0 8C
01:32:54.919 TX cycle=1 p1=0x00 p2=0x00 cmd=0x27 state=0x20 value=0xD0 frame 006 00 00 27 20 D0 8D
01:32:54.919 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:32:54.919 RX raw 07 80 12 09 D7 11 00 00 00 00 80 DA
01:33:01.092 TX cycle=1 p1=0x00 p2=0x00 cmd=0x28 state=0x20 value=0xD0 frame 006 00 00 28 20 D0 82
01:33:01.912 TX cycle=1 p1=0x00 p2=0x00 cmd=0x29 state=0x20 value=0xD0 frame 006 00 00 29 20 D0 83
01:33:01.912 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:33:01.912 RX raw 07 80 4A 24 DD 6E 00 00 00 00 80 DA
01:33:05.170 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2A state=0x20 value=0xD0 frame 006 00 00 2A 20 D0 80
01:33:05.993 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2B state=0x20 value=0xD0 frame 006 00 00 2B 20 D0 81
01:33:05.993 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:33:05.993 RX raw 07 80 25 12 17 FD 00 00 00 00 80 DA
01:33:09.308 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2C state=0x20 value=0xD0 frame 006 00 00 2C 20 D0 86
01:33:10.132 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2D state=0x20 value=0xD0 frame 006 00 00 2D 20 D0 87
01:33:10.132 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:33:10.132 RX raw 07 80 4B 24 DD 6F 00 00 00 00 80 DA
01:33:13.582 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2E state=0x20 value=0xD0 frame 006 00 00 2E 20 D0 84
01:33:14.401 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2F state=0x20 value=0xD0 frame 006 00 00 2F 20 D0 85
01:33:15.225 TX cycle=1 p1=0x00 p2=0x00 cmd=0x30 state=0x20 value=0xD0 frame 006 00 00 30 20 D0 9A
01:33:16.046 TX cycle=1 p1=0x00 p2=0x00 cmd=0x31 state=0x20 value=0xD0 frame 006 00 00 31 20 D0 9B
01:33:16.046 ANOMALY 30 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:33:16.046 RX raw 07 80 4C 24 DD 68 07 80 4C 24 DD 68 07 80 4C 24 DD 68 07 80 4C 24 DD 68 07 80 4C 24 DD 68
01:33:19.095 TX cycle=1 p1=0x00 p2=0x00 cmd=0x32 state=0x20 value=0xD0 frame 006 00 00 32 20 D0 98
01:33:19.917 TX cycle=1 p1=0x00 p2=0x00 cmd=0x33 state=0x20 value=0xD0 frame 006 00 00 33 20 D0 99
01:33:19.917 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:33:19.917 RX raw 07 80 26 12 97 7E 00 00 00 00 80 DA
01:33:22.582 TX cycle=1 p1=0x00 p2=0x00 cmd=0x34 state=0x20 value=0xD0 frame 006 00 00 34 20 D0 9E
01:33:23.407 TX cycle=1 p1=0x00 p2=0x00 cmd=0x35 state=0x20 value=0xD0 frame 006 00 00 35 20 D0 9F
01:33:23.407 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:33:23.407 RX raw 07 80 4D 24 DD 69 00 00 00 00 80 DA
01:33:25.893 TX cycle=1 p1=0x00 p2=0x00 cmd=0x36 state=0x20 value=0xD0 frame 006 00 00 36 20 D0 9C
01:33:26.716 TX cycle=1 p1=0x00 p2=0x00 cmd=0x37 state=0x20 value=0xD0 frame 006 00 00 37 20 D0 9D
01:33:26.716 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:33:26.716 RX raw 07 80 13 09 D7 10 00 00 00 00 80 DA
01:33:29.511 TX cycle=1 p1=0x00 p2=0x00 cmd=0x38 state=0x20 value=0xD0 frame 006 00 00 38 20 D0 92
01:33:30.337 TX cycle=1 p1=0x00 p2=0x00 cmd=0x39 state=0x20 value=0xD0 frame 006 00 00 39 20 D0 93
01:33:30.337 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:33:30.337 RX raw 07 80 4E 24 DD 6A 00 00 00 00 80 DA
01:33:33.003 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3A state=0x20 value=0xD0 frame 006 00 00 3A 20 D0 90
01:33:33.825 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3B state=0x20 value=0xD0 frame 006 00 00 3B 20 D0 91
01:33:33.825 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:33:33.825 RX raw 07 80 27 12 17 FF 00 00 00 00 80 DA
01:33:36.847 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3C state=0x20 value=0xD0 frame 006 00 00 3C 20 D0 96
01:33:37.668 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3D state=0x20 value=0xD0 frame 006 00 00 3D 20 D0 97
01:33:37.668 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:33:37.668 RX raw 07 80 4F 24 DD 6B 00 00 00 00 80 DA
01:33:39.907 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3E state=0x20 value=0xD0 frame 006 00 00 3E 20 D0 94
01:33:40.731 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3F state=0x20 value=0xD0 frame 006 00 00 3F 20 D0 95
FINAL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes
Anomalies: 14

View File

@@ -0,0 +1,14 @@
Direct response sweep: 32 frames x 1 cycles (32 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
01:38:56.115 TX cycle=1 p1=0x00 p2=0x00 cmd=0x40 state=0x20 value=0xD0 frame 006 00 00 40 20 D0 EA
01:38:56.941 TX cycle=1 p1=0x00 p2=0x00 cmd=0x41 state=0x20 value=0xD0 frame 006 00 00 41 20 D0 EB
01:38:56.941 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:38:56.941 RX raw 07 80 50 24 DD 74 07 80 50 24 DD 74 07 80 50 24 DD 74 07 80 50 24 DD 74
01:38:57.763 TX cycle=1 p1=0x00 p2=0x00 cmd=0x42 state=0x20 value=0xD0 frame 006 00 00 42 20 D0 E8
01:38:57.763 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:38:57.763 RX raw 07 80 50 24 DD 74 07 80 50 24 DD 74 07 80 50 24 DD 74 07 80 50 24 DD 74
01:38:58.588 TX cycle=1 p1=0x00 p2=0x00 cmd=0x43 state=0x20 value=0xD0 frame 006 00 00 43 20 D0 E9
01:38:58.588 ANOMALY 6 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:38:58.588 RX raw 07 80 50 24 DD 74
01:38:59.411 TX cycle=1 p1=0x00 p2=0x00 cmd=0x44 state=0x20 value=0xD0 frame 006 00 00 44 20 D0 EE
Stopped.

View File

@@ -0,0 +1,48 @@
Direct response sweep: 32 frames x 1 cycles (32 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
01:33:58.816 TX cycle=1 p1=0x00 p2=0x00 cmd=0x40 state=0x20 value=0xD0 frame 006 00 00 40 20 D0 EA
01:33:59.636 TX cycle=1 p1=0x00 p2=0x00 cmd=0x41 state=0x20 value=0xD0 frame 006 00 00 41 20 D0 EB
01:33:59.636 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:33:59.636 RX raw 07 80 50 24 DD 74 07 80 50 24 DD 74 07 80 50 24 DD 74 07 80 50 24 DD 74
01:34:03.875 TX cycle=1 p1=0x00 p2=0x00 cmd=0x42 state=0x20 value=0xD0 frame 006 00 00 42 20 D0 E8
01:34:04.703 TX cycle=1 p1=0x00 p2=0x00 cmd=0x43 state=0x20 value=0xD0 frame 006 00 00 43 20 D0 E9
01:34:05.527 TX cycle=1 p1=0x00 p2=0x00 cmd=0x44 state=0x20 value=0xD0 frame 006 00 00 44 20 D0 EE
01:34:06.348 TX cycle=1 p1=0x00 p2=0x00 cmd=0x45 state=0x20 value=0xD0 frame 006 00 00 45 20 D0 EF
01:34:06.348 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:34:06.348 RX raw 07 80 51 24 DD 75 07 80 51 24 DD 75 07 80 51 24 DD 75 07 80 51 24 DD 75
01:34:09.119 TX cycle=1 p1=0x00 p2=0x00 cmd=0x46 state=0x20 value=0xD0 frame 006 00 00 46 20 D0 EC
01:34:09.942 TX cycle=1 p1=0x00 p2=0x00 cmd=0x47 state=0x20 value=0xD0 frame 006 00 00 47 20 D0 ED
01:34:10.766 TX cycle=1 p1=0x00 p2=0x00 cmd=0x48 state=0x20 value=0xD0 frame 006 00 00 48 20 D0 E2
01:34:11.587 TX cycle=1 p1=0x00 p2=0x00 cmd=0x49 state=0x20 value=0xD0 frame 006 00 00 49 20 D0 E3
01:34:11.587 ANOMALY 30 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:34:11.587 RX raw 07 80 52 24 DD 76 07 80 52 24 DD 76 07 80 52 24 DD 76 07 80 52 24 DD 76 07 80 52 24 DD 76
01:34:13.817 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4A state=0x20 value=0xD0 frame 006 00 00 4A 20 D0 E0
01:34:14.639 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4B state=0x20 value=0xD0 frame 006 00 00 4B 20 D0 E1
01:34:15.460 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4C state=0x20 value=0xD0 frame 006 00 00 4C 20 D0 E6
01:34:16.282 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4D state=0x20 value=0xD0 frame 006 00 00 4D 20 D0 E7
01:34:16.282 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:34:16.282 RX raw 07 80 53 24 DD 77 07 80 53 24 DD 77 07 80 53 24 DD 77 07 80 53 24 DD 77
01:34:18.523 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4E state=0x20 value=0xD0 frame 006 00 00 4E 20 D0 E4
01:34:19.347 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4F state=0x20 value=0xD0 frame 006 00 00 4F 20 D0 E5
01:34:20.173 TX cycle=1 p1=0x00 p2=0x00 cmd=0x50 state=0x20 value=0xD0 frame 006 00 00 50 20 D0 FA
01:34:20.995 TX cycle=1 p1=0x00 p2=0x00 cmd=0x51 state=0x20 value=0xD0 frame 006 00 00 51 20 D0 FB
01:34:21.820 TX cycle=1 p1=0x00 p2=0x00 cmd=0x52 state=0x20 value=0xD0 frame 006 00 00 52 20 D0 F8
01:34:22.644 TX cycle=1 p1=0x00 p2=0x00 cmd=0x53 state=0x20 value=0xD0 frame 006 00 00 53 20 D0 F9
01:34:23.468 TX cycle=1 p1=0x00 p2=0x00 cmd=0x54 state=0x20 value=0xD0 frame 006 00 00 54 20 D0 FE
01:34:24.289 TX cycle=1 p1=0x00 p2=0x00 cmd=0x55 state=0x20 value=0xD0 frame 006 00 00 55 20 D0 FF
01:34:25.112 TX cycle=1 p1=0x00 p2=0x00 cmd=0x56 state=0x20 value=0xD0 frame 006 00 00 56 20 D0 FC
01:34:25.935 TX cycle=1 p1=0x00 p2=0x00 cmd=0x57 state=0x20 value=0xD0 frame 006 00 00 57 20 D0 FD
01:34:26.757 TX cycle=1 p1=0x00 p2=0x00 cmd=0x58 state=0x20 value=0xD0 frame 006 00 00 58 20 D0 F2
01:34:27.579 TX cycle=1 p1=0x00 p2=0x00 cmd=0x59 state=0x20 value=0xD0 frame 006 00 00 59 20 D0 F3
01:34:27.579 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:34:27.579 RX raw 07 80 56 24 DD 72 07 80 56 24 DD 72 07 80 56 24 DD 72 07 80 56 24 DD 72
01:34:33.355 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5A state=0x20 value=0xD0 frame 006 00 00 5A 20 D0 F0
01:34:34.177 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5B state=0x20 value=0xD0 frame 006 00 00 5B 20 D0 F1
01:34:34.999 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5C state=0x20 value=0xD0 frame 006 00 00 5C 20 D0 F6
01:34:35.824 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5D state=0x20 value=0xD0 frame 006 00 00 5D 20 D0 F7
01:34:35.824 ANOMALY 30 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:34:35.824 RX raw 07 80 57 24 DD 73 07 80 57 24 DD 73 07 80 57 24 DD 73 07 80 57 24 DD 73 07 80 57 24 DD 73
01:34:38.662 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5E state=0x20 value=0xD0 frame 006 00 00 5E 20 D0 F4
01:34:39.484 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5F state=0x20 value=0xD0 frame 006 00 00 5F 20 D0 F5
FINAL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes
Anomalies: 6

View File

@@ -0,0 +1,66 @@
Direct response sweep: 32 frames x 1 cycles (32 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
01:35:56.118 TX cycle=1 p1=0x00 p2=0x00 cmd=0x20 state=0x40 value=0x30 frame 006 00 00 20 40 30 0A
01:35:56.942 TX cycle=1 p1=0x00 p2=0x00 cmd=0x21 state=0x40 value=0x30 frame 006 00 00 21 40 30 0B
01:35:56.942 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
01:35:56.942 RX raw 07 80 48 28 D3 6E 07 80 48 28 D3 6E 07 80 48 28 D3 6E 07 80 48 28 D3 6E
01:35:59.621 TX cycle=1 p1=0x00 p2=0x00 cmd=0x22 state=0x40 value=0x30 frame 006 00 00 22 40 30 08
01:36:00.448 TX cycle=1 p1=0x00 p2=0x00 cmd=0x23 state=0x40 value=0x30 frame 006 00 00 23 40 30 09
01:36:00.448 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:00.448 RX raw 07 80 24 14 4A A7 00 00 00 00 80 DA
01:36:02.727 TX cycle=1 p1=0x00 p2=0x00 cmd=0x24 state=0x40 value=0x30 frame 006 00 00 24 40 30 0E
01:36:03.549 TX cycle=1 p1=0x00 p2=0x00 cmd=0x25 state=0x40 value=0x30 frame 006 00 00 25 40 30 0F
01:36:03.549 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:03.549 RX raw 07 80 49 28 D3 6F 00 00 00 00 80 DA
01:36:06.058 TX cycle=1 p1=0x00 p2=0x00 cmd=0x26 state=0x40 value=0x30 frame 006 00 00 26 40 30 0C
01:36:06.883 TX cycle=1 p1=0x00 p2=0x00 cmd=0x27 state=0x40 value=0x30 frame 006 00 00 27 40 30 0D
01:36:06.883 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:06.883 RX raw 07 80 12 0A 6A AF 00 00 00 00 80 DA
01:36:09.005 TX cycle=1 p1=0x00 p2=0x00 cmd=0x28 state=0x40 value=0x30 frame 006 00 00 28 40 30 02
01:36:09.831 TX cycle=1 p1=0x00 p2=0x00 cmd=0x29 state=0x40 value=0x30 frame 006 00 00 29 40 30 03
01:36:09.831 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:09.831 RX raw 07 80 4A 28 D3 6C 00 00 00 00 80 DA
01:36:12.335 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2A state=0x40 value=0x30 frame 006 00 00 2A 40 30 00
01:36:13.160 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2B state=0x40 value=0x30 frame 006 00 00 2B 40 30 01
01:36:13.160 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:13.160 RX raw 07 80 25 14 0A E6 00 00 00 00 80 DA
01:36:15.282 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2C state=0x40 value=0x30 frame 006 00 00 2C 40 30 06
01:36:16.109 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2D state=0x40 value=0x30 frame 006 00 00 2D 40 30 07
01:36:16.109 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:16.109 RX raw 07 80 4B 28 D3 6D 00 00 00 00 80 DA
01:36:19.265 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2E state=0x40 value=0x30 frame 006 00 00 2E 40 30 04
01:36:20.092 TX cycle=1 p1=0x00 p2=0x00 cmd=0x2F state=0x40 value=0x30 frame 006 00 00 2F 40 30 05
01:36:20.092 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:20.092 RX raw 07 80 09 05 2A FB 00 00 00 00 80 DA
01:36:22.844 TX cycle=1 p1=0x00 p2=0x00 cmd=0x30 state=0x40 value=0x30 frame 006 00 00 30 40 30 1A
01:36:23.672 TX cycle=1 p1=0x00 p2=0x00 cmd=0x31 state=0x40 value=0x30 frame 006 00 00 31 40 30 1B
01:36:23.672 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:23.672 RX raw 07 80 4C 28 D3 6A 00 00 00 00 80 DA
01:36:27.483 TX cycle=1 p1=0x00 p2=0x00 cmd=0x32 state=0x40 value=0x30 frame 006 00 00 32 40 30 18
01:36:28.304 TX cycle=1 p1=0x00 p2=0x00 cmd=0x33 state=0x40 value=0x30 frame 006 00 00 33 40 30 19
01:36:28.304 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:28.304 RX raw 07 80 26 14 CA 25 00 00 00 00 80 DA
01:36:31.239 TX cycle=1 p1=0x00 p2=0x00 cmd=0x34 state=0x40 value=0x30 frame 006 00 00 34 40 30 1E
01:36:32.060 TX cycle=1 p1=0x00 p2=0x00 cmd=0x35 state=0x40 value=0x30 frame 006 00 00 35 40 30 1F
01:36:32.060 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:32.060 RX raw 07 80 4D 28 D3 6B 00 00 00 00 80 DA
01:36:35.085 TX cycle=1 p1=0x00 p2=0x00 cmd=0x36 state=0x40 value=0x30 frame 006 00 00 36 40 30 1C
01:36:35.909 TX cycle=1 p1=0x00 p2=0x00 cmd=0x37 state=0x40 value=0x30 frame 006 00 00 37 40 30 1D
01:36:35.909 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:35.909 RX raw 07 80 13 0A EA 2E 00 00 00 00 80 DA
01:36:38.531 TX cycle=1 p1=0x00 p2=0x00 cmd=0x38 state=0x40 value=0x30 frame 006 00 00 38 40 30 12
01:36:39.354 TX cycle=1 p1=0x00 p2=0x00 cmd=0x39 state=0x40 value=0x30 frame 006 00 00 39 40 30 13
01:36:39.354 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:39.354 RX raw 07 80 4E 28 D3 68 00 00 00 00 80 DA
01:36:41.971 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3A state=0x40 value=0x30 frame 006 00 00 3A 40 30 10
01:36:42.796 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3B state=0x40 value=0x30 frame 006 00 00 3B 40 30 11
01:36:42.796 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:42.796 RX raw 07 80 27 14 8A 64 00 00 00 00 80 DA
01:36:45.776 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3C state=0x40 value=0x30 frame 006 00 00 3C 40 30 16
01:36:46.603 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3D state=0x40 value=0x30 frame 006 00 00 3D 40 30 17
01:36:46.603 ANOMALY 12 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
01:36:46.603 RX raw 07 80 4F 28 D3 69 00 00 00 00 80 DA
01:36:49.015 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3E state=0x40 value=0x30 frame 006 00 00 3E 40 30 14
01:36:49.841 TX cycle=1 p1=0x00 p2=0x00 cmd=0x3F state=0x40 value=0x30 frame 006 00 00 3F 40 30 15
FINAL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes
Anomalies: 15

View File

@@ -9195,3 +9195,257 @@ That means the next most 1990s-looking hypothesis is probably:
- a **small recurring scan set** for the maintained background layer - a **small recurring scan set** for the maintained background layer
- plus some separate startup/beacon/identity pages - plus some separate startup/beacon/identity pages
- rather than one giant ordered status loop by itself - rather than one giant ordered status loop by itself
### HE38: Broad Semi-Awake State Hunter
Goal: broaden outward from the known `20 D0` low-command surface and look for
other command regions that keep the panel in the same clear / semi-awake state,
even if they do not fully wake it.
This is intentionally a **state-hunting** pass, not just an anomaly-hunting one.
The useful observations are:
- whether the LCD stays clear / non-`CONNECT NOT ACT`
- whether a run only holds that state for group 1, or for the whole script
- whether any new structured families appear
#### HE38a: broaden low-band sweep `0x20-0x3F @ 20 D0`
```powershell
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x20-0x3F --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --pause-on-anomaly --log captures/he38-direct-20d0-cmd20-3f.txt
```
Purpose:
- check whether the semi-awake surface extends past `0x1F`
- keep the same state/value pair that has worked best so far
#### HE38b: broaden low-band sweep `0x40-0x5F @ 20 D0`
```powershell
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x40-0x5F --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --pause-on-anomaly --log captures/he38-direct-20d0-cmd40-5f.txt
```
Purpose:
- look for a second semi-awake band elsewhere in command space
#### HE38c: baseline control `0x20-0x3F @ 00 80`
```powershell
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x20-0x3F --states 0x00 --values 0x80 --settle 3.0 --after-each 0.8 --after 2.0 --pause-on-anomaly --log captures/he38-direct-0080-cmd20-3f-control.txt
```
Purpose:
- compare the same command region under the older baseline payload
- separate "command region effect" from "`20 D0` payload effect"
#### HE38d: alternate promising payload `0x20-0x3F @ 40 30`
```powershell
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x20-0x3F --states 0x40 --values 0x30 --settle 3.0 --after-each 0.8 --after 2.0 --pause-on-anomaly --log captures/he38-direct-4030-cmd20-3f.txt
```
Purpose:
- test whether this "holds panel clear" effect is unique to `20 D0`
- `40 30` is the other payload pair most worth cross-checking here
#### HE38e: semi-awake candidate repeat check
If any HE38 sweep appears to hold the panel clear for most of the run, repeat
just the first good-looking candidate frame on its own:
```powershell
python scripts/serial_probe_response.py --port COM5 --tx-frame "<candidate frame>" --repeat 30 --interval 0.60 --delay 3 --after 3 --frame-size 0 --log captures/he38-repeat-<candidate>.txt
```
Use this only for candidates that look good both:
- serially, and
- on the LCD/panel state
#### Recommended order
1. `HE38a` `0x20-0x3F @ 20 D0`
2. `HE38c` baseline control `0x20-0x3F @ 00 80`
3. `HE38b` `0x40-0x5F @ 20 D0`
4. `HE38d` `0x20-0x3F @ 40 30`
5. `HE38e` repeat any good-looking candidates
Interpretation guide:
- if `20 D0` keeps finding wider semi-awake bands while `00 80` does not, then
the payload pair is doing real mode/session work
- if `0x20-0x3F` behaves like `0x00-0x1F`, then we are looking at a much larger
maintained surface than we first thought
- if only a few sparse candidates hold the panel clear, then the maintained
background layer may be a selected subset rather than a continuous command map
### HE38 Result: No-Pause Semi-Awake Hunting
Additional uninterrupted capture files present:
- `captures/he38-direct-20d0-cmd20-3f-nopause.txt`
- `captures/he38-direct-0080-cmd20-3f-control-nopause.txt`
- `captures/he38-direct-20d0-cmd40-5f-nopause.txt`
Panel-side observation:
- these uninterrupted reruns were stopped manually at roughly the point where
the panel lost its "alive"/clear state
That means these runs are useful primarily as **semi-awake duration probes**, not
as complete command maps.
#### `0x20-0x3F @ 20 D0`
Observed before manual stop:
- `0x21` -> `07 80 48 24 DD 6C`
Read:
- the patterned `20 D0` surface definitely extends upward into the `0x20` band
- this is consistent with the earlier low-band `4x 24 DD 6x` family structure
#### `0x20-0x3F @ 00 80` control
Observed before manual stop:
- `0x29` -> `07 80 4A 20 D8 6F`
Read:
- the same command region is still live under baseline `00 80`
- but the family shape stays on the older `20 D8` style rather than the newer
`24 DD` style
#### `0x40-0x5F @ 20 D0`
Observed before manual stop:
- `0x41` -> `07 80 50 24 DD 74`
- `0x42` -> repeated `07 80 50 24 DD 74`
- `0x43` -> `07 80 50 24 DD 74`
Read:
- this is the strongest new semi-awake lead from HE38
- the `0x40` command band under `20 D0` appears to open a neighboring
`0x50 24 DD 74` family
- and it did so early enough in the run to matter before manual stop
Current best interpretation after HE38:
- `20 D0` remains the more interesting semi-awake payload
- not because baseline `00 80` is dead, but because `20 D0` keeps shifting the
family surface into coherent `24 DD`-style siblings
- the semi-awake-maintenance surface is now plausibly broader than just the
original low band:
- `0x00-0x1F`
- `0x20-0x3F`
- and likely at least part of `0x40-0x5F`
The best next narrow branch is now:
- treat `0x41-0x43 @ 20 D0` as a new maintained-background candidate set
- and compare that `0x50 24 DD 74` behavior against the earlier `0x40 24 DD 64`
/ `0x48 24 DD 6C` bands
### HE38 Cross-Check: What The Paused Runs Still Taught Us
The paused HE38 runs are not the right source for "how long did the panel stay
alive?", but they were still very useful for **family mapping**.
#### `0x20-0x3F @ 20 D0` family structure
The paused run shows a very clean patterned surface:
- `0x21` -> `07 80 48 24 DD 6C`
- `0x25` -> `07 80 49 24 DD 6D`
- `0x29` -> `07 80 4A 24 DD 6E`
- `0x2D` -> `07 80 4B 24 DD 6F`
- `0x31` -> `07 80 4C 24 DD 68`
- `0x35` -> `07 80 4D 24 DD 69`
- `0x39` -> `07 80 4E 24 DD 6A`
- `0x3D` -> `07 80 4F 24 DD 6B`
Interleaved sibling families also appear:
- `0x23` -> `07 80 24 12 97 7C`
- `0x2B` -> `07 80 25 12 17 FD`
- `0x33` -> `07 80 26 12 97 7E`
- `0x3B` -> `07 80 27 12 17 FF`
- `0x27` -> `07 80 12 09 D7 11`
- `0x37` -> `07 80 13 09 D7 10`
So this is not just "some activity in the `0x20` band"; it is a strongly
ordered mapped surface.
#### `0x40-0x5F @ 20 D0` family structure
The paused run also maps a second coherent band:
- `0x41` -> `07 80 50 24 DD 74`
- `0x45` -> `07 80 51 24 DD 75`
- `0x49` -> `07 80 52 24 DD 76`
- `0x4D` -> `07 80 53 24 DD 77`
- `0x59` -> `07 80 56 24 DD 72`
- `0x5D` -> `07 80 57 24 DD 73`
That is the strongest evidence yet that the `.. 24 DD ..` surface spans
multiple command bands, not just the original low region.
#### `0x20-0x3F @ 00 80` control structure
The baseline payload maps the same general region, but with the older family
style:
- `0x29` -> `07 80 4A 20 D8 6F`
- `0x2D` -> `07 80 4B 20 D8 6E`
- `0x31` -> `07 80 4C 20 D8 69`
- `0x35` -> `07 80 4D 20 D8 68`
- `0x39` -> `07 80 4E 20 D8 6B`
- `0x3D` -> `07 80 4F 20 D8 6A`
with interleaved siblings like:
- `0x33` -> `07 80 26 10 2C C7`
- `0x3B` -> `07 80 27 10 2C C6`
That reinforces the idea that `20 D0` is not inventing a new command region
from scratch; it is shifting an existing mapped surface into a different family
space.
#### `0x20-0x3F @ 40 30` alternate-payload structure
The `40 30` paused run gives a third aligned surface:
- `0x21` -> `07 80 48 28 D3 6E`
- `0x25` -> `07 80 49 28 D3 6F`
- `0x29` -> `07 80 4A 28 D3 6C`
- `0x2D` -> `07 80 4B 28 D3 6D`
- `0x31` -> `07 80 4C 28 D3 6A`
- `0x35` -> `07 80 4D 28 D3 6B`
- `0x39` -> `07 80 4E 28 D3 68`
- `0x3D` -> `07 80 4F 28 D3 69`
with matching interleaved families:
- `0x23` -> `07 80 24 14 4A A7`
- `0x2B` -> `07 80 25 14 0A E6`
- `0x33` -> `07 80 26 14 CA 25`
- `0x3B` -> `07 80 27 14 8A 64`
- `0x27` -> `07 80 12 0A 6A AF`
- `0x37` -> `07 80 13 0A EA 2E`
Current read after including the paused runs:
- the command surface is looking increasingly like a **mapped lattice**
- the command byte selects a row/slot
- the host payload pair (`00 80`, `20 D0`, `40 30`) shifts the response family
across parallel surfaces
- so the "semi-awake" question is probably about which of these surfaces is the
right maintained background class, not about whether the map exists at all

View File

@@ -479,6 +479,21 @@ Current caution:
- startup/beacon pages - startup/beacon pages
- then a small recurring maintained scan set - then a small recurring maintained scan set
- then additional camera-state detail pages we still have not identified - then additional camera-state detail pages we still have not identified
- A later no-pause HE38 pass broadened the same idea:
- `0x21 @ 20 D0` -> `07 80 48 24 DD 6C`
- `0x41-0x43 @ 20 D0` -> `07 80 50 24 DD 74`
- while the baseline control in the same `0x20-0x3F` region stayed on the
older `20 D8` style (`07 80 4A 20 D8 6F`)
- That suggests `20 D0` is not just shifting one command or one small pocket;
it may be selecting a broader `.. 24 DD ..` maintained-background surface
across multiple command bands.
- The paused HE38 runs strengthened that structure further:
- `0x20-0x3F @ 20 D0` maps cleanly through `48/49/4A/.../4F 24 DD`
- `0x20-0x3F @ 00 80` maps the same area through `4A/4B/4C/.../4F 20 D8`
- `0x20-0x3F @ 40 30` maps it again through `48/49/4A/.../4F 28 D3`
- So the best current model is a parallel set of response surfaces selected in
part by the host payload pair, with the remaining question being which surface
behaves like the true maintained background layer for an active panel.
## What We Do Not Know ## What We Do Not Know