run 3
This commit is contained in:
38
captures/he40-direct-20d0-cmdc0-df.txt
Normal file
38
captures/he40-direct-20d0-cmdc0-df.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
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:59:11.444 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC0 state=0x20 value=0xD0 frame 006 00 00 C0 20 D0 6A
|
||||||
|
01:59:12.267 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC1 state=0x20 value=0xD0 frame 006 00 00 C1 20 D0 6B
|
||||||
|
01:59:12.267 ANOMALY 30 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
|
||||||
|
01:59:12.267 RX raw 07 80 70 24 DD 54 07 80 70 24 DD 54 07 80 70 24 DD 54 07 80 70 24 DD 54 07 80 70 24 DD 54
|
||||||
|
01:59:13.089 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC2 state=0x20 value=0xD0 frame 006 00 00 C2 20 D0 68
|
||||||
|
01:59:13.915 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC3 state=0x20 value=0xD0 frame 006 00 00 C3 20 D0 69
|
||||||
|
01:59:14.737 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC4 state=0x20 value=0xD0 frame 006 00 00 C4 20 D0 6E
|
||||||
|
01:59:15.558 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC5 state=0x20 value=0xD0 frame 006 00 00 C5 20 D0 6F
|
||||||
|
01:59:16.379 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC6 state=0x20 value=0xD0 frame 006 00 00 C6 20 D0 6C
|
||||||
|
01:59:17.201 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC7 state=0x20 value=0xD0 frame 006 00 00 C7 20 D0 6D
|
||||||
|
01:59:18.024 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC8 state=0x20 value=0xD0 frame 006 00 00 C8 20 D0 62
|
||||||
|
01:59:18.848 TX cycle=1 p1=0x00 p2=0x00 cmd=0xC9 state=0x20 value=0xD0 frame 006 00 00 C9 20 D0 63
|
||||||
|
01:59:19.669 TX cycle=1 p1=0x00 p2=0x00 cmd=0xCA state=0x20 value=0xD0 frame 006 00 00 CA 20 D0 60
|
||||||
|
01:59:20.492 TX cycle=1 p1=0x00 p2=0x00 cmd=0xCB state=0x20 value=0xD0 frame 006 00 00 CB 20 D0 61
|
||||||
|
01:59:21.317 TX cycle=1 p1=0x00 p2=0x00 cmd=0xCC state=0x20 value=0xD0 frame 006 00 00 CC 20 D0 66
|
||||||
|
01:59:22.139 TX cycle=1 p1=0x00 p2=0x00 cmd=0xCD state=0x20 value=0xD0 frame 006 00 00 CD 20 D0 67
|
||||||
|
01:59:22.960 TX cycle=1 p1=0x00 p2=0x00 cmd=0xCE state=0x20 value=0xD0 frame 006 00 00 CE 20 D0 64
|
||||||
|
01:59:23.784 TX cycle=1 p1=0x00 p2=0x00 cmd=0xCF state=0x20 value=0xD0 frame 006 00 00 CF 20 D0 65
|
||||||
|
01:59:24.606 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD0 state=0x20 value=0xD0 frame 006 00 00 D0 20 D0 7A
|
||||||
|
01:59:25.428 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD1 state=0x20 value=0xD0 frame 006 00 00 D1 20 D0 7B
|
||||||
|
01:59:26.250 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD2 state=0x20 value=0xD0 frame 006 00 00 D2 20 D0 78
|
||||||
|
01:59:27.074 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD3 state=0x20 value=0xD0 frame 006 00 00 D3 20 D0 79
|
||||||
|
01:59:27.895 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD4 state=0x20 value=0xD0 frame 006 00 00 D4 20 D0 7E
|
||||||
|
01:59:28.718 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD5 state=0x20 value=0xD0 frame 006 00 00 D5 20 D0 7F
|
||||||
|
01:59:29.540 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD6 state=0x20 value=0xD0 frame 006 00 00 D6 20 D0 7C
|
||||||
|
01:59:30.365 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD7 state=0x20 value=0xD0 frame 006 00 00 D7 20 D0 7D
|
||||||
|
01:59:31.188 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD8 state=0x20 value=0xD0 frame 006 00 00 D8 20 D0 72
|
||||||
|
01:59:32.011 TX cycle=1 p1=0x00 p2=0x00 cmd=0xD9 state=0x20 value=0xD0 frame 006 00 00 D9 20 D0 73
|
||||||
|
01:59:32.835 TX cycle=1 p1=0x00 p2=0x00 cmd=0xDA state=0x20 value=0xD0 frame 006 00 00 DA 20 D0 70
|
||||||
|
01:59:33.658 TX cycle=1 p1=0x00 p2=0x00 cmd=0xDB state=0x20 value=0xD0 frame 006 00 00 DB 20 D0 71
|
||||||
|
01:59:34.481 TX cycle=1 p1=0x00 p2=0x00 cmd=0xDC state=0x20 value=0xD0 frame 006 00 00 DC 20 D0 76
|
||||||
|
01:59:35.302 TX cycle=1 p1=0x00 p2=0x00 cmd=0xDD state=0x20 value=0xD0 frame 006 00 00 DD 20 D0 77
|
||||||
|
01:59:36.126 TX cycle=1 p1=0x00 p2=0x00 cmd=0xDE state=0x20 value=0xD0 frame 006 00 00 DE 20 D0 74
|
||||||
|
01:59:36.949 TX cycle=1 p1=0x00 p2=0x00 cmd=0xDF state=0x20 value=0xD0 frame 006 00 00 DF 20 D0 75
|
||||||
|
FINAL heartbeat-compatible RX: 17 bytes, offset 1, 2 frames + 5 bytes
|
||||||
|
Anomalies: 1
|
||||||
38
captures/he40-direct-20d0-cmde0-ff.txt
Normal file
38
captures/he40-direct-20d0-cmde0-ff.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
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:59:56.030 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE0 state=0x20 value=0xD0 frame 006 00 00 E0 20 D0 4A
|
||||||
|
01:59:56.855 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE1 state=0x20 value=0xD0 frame 006 00 00 E1 20 D0 4B
|
||||||
|
01:59:56.855 ANOMALY 30 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
|
||||||
|
01:59:56.855 RX raw 07 80 78 24 DD 5C 07 80 78 24 DD 5C 07 80 78 24 DD 5C 07 80 78 24 DD 5C 07 80 78 24 DD 5C
|
||||||
|
01:59:57.676 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE2 state=0x20 value=0xD0 frame 006 00 00 E2 20 D0 48
|
||||||
|
01:59:58.500 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE3 state=0x20 value=0xD0 frame 006 00 00 E3 20 D0 49
|
||||||
|
01:59:59.323 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE4 state=0x20 value=0xD0 frame 006 00 00 E4 20 D0 4E
|
||||||
|
02:00:00.146 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE5 state=0x20 value=0xD0 frame 006 00 00 E5 20 D0 4F
|
||||||
|
02:00:00.971 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE6 state=0x20 value=0xD0 frame 006 00 00 E6 20 D0 4C
|
||||||
|
02:00:01.792 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE7 state=0x20 value=0xD0 frame 006 00 00 E7 20 D0 4D
|
||||||
|
02:00:02.618 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE8 state=0x20 value=0xD0 frame 006 00 00 E8 20 D0 42
|
||||||
|
02:00:03.442 TX cycle=1 p1=0x00 p2=0x00 cmd=0xE9 state=0x20 value=0xD0 frame 006 00 00 E9 20 D0 43
|
||||||
|
02:00:04.265 TX cycle=1 p1=0x00 p2=0x00 cmd=0xEA state=0x20 value=0xD0 frame 006 00 00 EA 20 D0 40
|
||||||
|
02:00:05.091 TX cycle=1 p1=0x00 p2=0x00 cmd=0xEB state=0x20 value=0xD0 frame 006 00 00 EB 20 D0 41
|
||||||
|
02:00:05.917 TX cycle=1 p1=0x00 p2=0x00 cmd=0xEC state=0x20 value=0xD0 frame 006 00 00 EC 20 D0 46
|
||||||
|
02:00:06.742 TX cycle=1 p1=0x00 p2=0x00 cmd=0xED state=0x20 value=0xD0 frame 006 00 00 ED 20 D0 47
|
||||||
|
02:00:07.563 TX cycle=1 p1=0x00 p2=0x00 cmd=0xEE state=0x20 value=0xD0 frame 006 00 00 EE 20 D0 44
|
||||||
|
02:00:08.385 TX cycle=1 p1=0x00 p2=0x00 cmd=0xEF state=0x20 value=0xD0 frame 006 00 00 EF 20 D0 45
|
||||||
|
02:00:09.208 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF0 state=0x20 value=0xD0 frame 006 00 00 F0 20 D0 5A
|
||||||
|
02:00:10.028 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF1 state=0x20 value=0xD0 frame 006 00 00 F1 20 D0 5B
|
||||||
|
02:00:10.850 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF2 state=0x20 value=0xD0 frame 006 00 00 F2 20 D0 58
|
||||||
|
02:00:11.674 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF3 state=0x20 value=0xD0 frame 006 00 00 F3 20 D0 59
|
||||||
|
02:00:12.496 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF4 state=0x20 value=0xD0 frame 006 00 00 F4 20 D0 5E
|
||||||
|
02:00:13.318 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF5 state=0x20 value=0xD0 frame 006 00 00 F5 20 D0 5F
|
||||||
|
02:00:14.145 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF6 state=0x20 value=0xD0 frame 006 00 00 F6 20 D0 5C
|
||||||
|
02:00:14.966 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF7 state=0x20 value=0xD0 frame 006 00 00 F7 20 D0 5D
|
||||||
|
02:00:15.790 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF8 state=0x20 value=0xD0 frame 006 00 00 F8 20 D0 52
|
||||||
|
02:00:16.617 TX cycle=1 p1=0x00 p2=0x00 cmd=0xF9 state=0x20 value=0xD0 frame 006 00 00 F9 20 D0 53
|
||||||
|
02:00:17.441 TX cycle=1 p1=0x00 p2=0x00 cmd=0xFA state=0x20 value=0xD0 frame 006 00 00 FA 20 D0 50
|
||||||
|
02:00:18.263 TX cycle=1 p1=0x00 p2=0x00 cmd=0xFB state=0x20 value=0xD0 frame 006 00 00 FB 20 D0 51
|
||||||
|
02:00:19.085 TX cycle=1 p1=0x00 p2=0x00 cmd=0xFC state=0x20 value=0xD0 frame 006 00 00 FC 20 D0 56
|
||||||
|
02:00:19.909 TX cycle=1 p1=0x00 p2=0x00 cmd=0xFD state=0x20 value=0xD0 frame 006 00 00 FD 20 D0 57
|
||||||
|
02:00:20.732 TX cycle=1 p1=0x00 p2=0x00 cmd=0xFE state=0x20 value=0xD0 frame 006 00 00 FE 20 D0 54
|
||||||
|
02:00:21.555 TX cycle=1 p1=0x00 p2=0x00 cmd=0xFF state=0x20 value=0xD0 frame 006 00 00 FF 20 D0 55
|
||||||
|
FINAL heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes
|
||||||
|
Anomalies: 1
|
||||||
38
captures/he40-direct-4030-cmd00-1f.txt
Normal file
38
captures/he40-direct-4030-cmd00-1f.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
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
|
||||||
|
02:02:08.207 TX cycle=1 p1=0x00 p2=0x00 cmd=0x00 state=0x40 value=0x30 frame 006 00 00 00 40 30 2A
|
||||||
|
02:02:09.032 TX cycle=1 p1=0x00 p2=0x00 cmd=0x01 state=0x40 value=0x30 frame 006 00 00 01 40 30 2B
|
||||||
|
02:02:09.032 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
|
||||||
|
02:02:09.032 RX raw 07 80 40 28 D3 66 07 80 40 28 D3 66 07 80 40 28 D3 66 07 80 40 28 D3 66
|
||||||
|
02:02:09.856 TX cycle=1 p1=0x00 p2=0x00 cmd=0x02 state=0x40 value=0x30 frame 006 00 00 02 40 30 28
|
||||||
|
02:02:10.678 TX cycle=1 p1=0x00 p2=0x00 cmd=0x03 state=0x40 value=0x30 frame 006 00 00 03 40 30 29
|
||||||
|
02:02:11.501 TX cycle=1 p1=0x00 p2=0x00 cmd=0x04 state=0x40 value=0x30 frame 006 00 00 04 40 30 2E
|
||||||
|
02:02:12.323 TX cycle=1 p1=0x00 p2=0x00 cmd=0x05 state=0x40 value=0x30 frame 006 00 00 05 40 30 2F
|
||||||
|
02:02:13.143 TX cycle=1 p1=0x00 p2=0x00 cmd=0x06 state=0x40 value=0x30 frame 006 00 00 06 40 30 2C
|
||||||
|
02:02:13.964 TX cycle=1 p1=0x00 p2=0x00 cmd=0x07 state=0x40 value=0x30 frame 006 00 00 07 40 30 2D
|
||||||
|
02:02:14.790 TX cycle=1 p1=0x00 p2=0x00 cmd=0x08 state=0x40 value=0x30 frame 006 00 00 08 40 30 22
|
||||||
|
02:02:15.611 TX cycle=1 p1=0x00 p2=0x00 cmd=0x09 state=0x40 value=0x30 frame 006 00 00 09 40 30 23
|
||||||
|
02:02:16.430 TX cycle=1 p1=0x00 p2=0x00 cmd=0x0A state=0x40 value=0x30 frame 006 00 00 0A 40 30 20
|
||||||
|
02:02:17.251 TX cycle=1 p1=0x00 p2=0x00 cmd=0x0B state=0x40 value=0x30 frame 006 00 00 0B 40 30 21
|
||||||
|
02:02:18.074 TX cycle=1 p1=0x00 p2=0x00 cmd=0x0C state=0x40 value=0x30 frame 006 00 00 0C 40 30 26
|
||||||
|
02:02:18.898 TX cycle=1 p1=0x00 p2=0x00 cmd=0x0D state=0x40 value=0x30 frame 006 00 00 0D 40 30 27
|
||||||
|
02:02:19.722 TX cycle=1 p1=0x00 p2=0x00 cmd=0x0E state=0x40 value=0x30 frame 006 00 00 0E 40 30 24
|
||||||
|
02:02:20.543 TX cycle=1 p1=0x00 p2=0x00 cmd=0x0F state=0x40 value=0x30 frame 006 00 00 0F 40 30 25
|
||||||
|
02:02:21.365 TX cycle=1 p1=0x00 p2=0x00 cmd=0x10 state=0x40 value=0x30 frame 006 00 00 10 40 30 3A
|
||||||
|
02:02:22.191 TX cycle=1 p1=0x00 p2=0x00 cmd=0x11 state=0x40 value=0x30 frame 006 00 00 11 40 30 3B
|
||||||
|
02:02:23.012 TX cycle=1 p1=0x00 p2=0x00 cmd=0x12 state=0x40 value=0x30 frame 006 00 00 12 40 30 38
|
||||||
|
02:02:23.833 TX cycle=1 p1=0x00 p2=0x00 cmd=0x13 state=0x40 value=0x30 frame 006 00 00 13 40 30 39
|
||||||
|
02:02:24.656 TX cycle=1 p1=0x00 p2=0x00 cmd=0x14 state=0x40 value=0x30 frame 006 00 00 14 40 30 3E
|
||||||
|
02:02:25.480 TX cycle=1 p1=0x00 p2=0x00 cmd=0x15 state=0x40 value=0x30 frame 006 00 00 15 40 30 3F
|
||||||
|
02:02:26.303 TX cycle=1 p1=0x00 p2=0x00 cmd=0x16 state=0x40 value=0x30 frame 006 00 00 16 40 30 3C
|
||||||
|
02:02:27.126 TX cycle=1 p1=0x00 p2=0x00 cmd=0x17 state=0x40 value=0x30 frame 006 00 00 17 40 30 3D
|
||||||
|
02:02:27.948 TX cycle=1 p1=0x00 p2=0x00 cmd=0x18 state=0x40 value=0x30 frame 006 00 00 18 40 30 32
|
||||||
|
02:02:28.772 TX cycle=1 p1=0x00 p2=0x00 cmd=0x19 state=0x40 value=0x30 frame 006 00 00 19 40 30 33
|
||||||
|
02:02:29.593 TX cycle=1 p1=0x00 p2=0x00 cmd=0x1A state=0x40 value=0x30 frame 006 00 00 1A 40 30 30
|
||||||
|
02:02:30.415 TX cycle=1 p1=0x00 p2=0x00 cmd=0x1B state=0x40 value=0x30 frame 006 00 00 1B 40 30 31
|
||||||
|
02:02:31.237 TX cycle=1 p1=0x00 p2=0x00 cmd=0x1C state=0x40 value=0x30 frame 006 00 00 1C 40 30 36
|
||||||
|
02:02:32.058 TX cycle=1 p1=0x00 p2=0x00 cmd=0x1D state=0x40 value=0x30 frame 006 00 00 1D 40 30 37
|
||||||
|
02:02:32.880 TX cycle=1 p1=0x00 p2=0x00 cmd=0x1E state=0x40 value=0x30 frame 006 00 00 1E 40 30 34
|
||||||
|
02:02:33.701 TX cycle=1 p1=0x00 p2=0x00 cmd=0x1F state=0x40 value=0x30 frame 006 00 00 1F 40 30 35
|
||||||
|
FINAL heartbeat-compatible RX: 17 bytes, offset 1, 2 frames + 5 bytes
|
||||||
|
Anomalies: 1
|
||||||
38
captures/he40-direct-4030-cmd40-5f.txt
Normal file
38
captures/he40-direct-4030-cmd40-5f.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
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
|
||||||
|
02:00:34.961 TX cycle=1 p1=0x00 p2=0x00 cmd=0x40 state=0x40 value=0x30 frame 006 00 00 40 40 30 6A
|
||||||
|
02:00:35.783 TX cycle=1 p1=0x00 p2=0x00 cmd=0x41 state=0x40 value=0x30 frame 006 00 00 41 40 30 6B
|
||||||
|
02:00:35.783 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
|
||||||
|
02:00:35.783 RX raw 07 80 50 28 D3 76 07 80 50 28 D3 76 07 80 50 28 D3 76 07 80 50 28 D3 76
|
||||||
|
02:00:36.608 TX cycle=1 p1=0x00 p2=0x00 cmd=0x42 state=0x40 value=0x30 frame 006 00 00 42 40 30 68
|
||||||
|
02:00:37.429 TX cycle=1 p1=0x00 p2=0x00 cmd=0x43 state=0x40 value=0x30 frame 006 00 00 43 40 30 69
|
||||||
|
02:00:38.252 TX cycle=1 p1=0x00 p2=0x00 cmd=0x44 state=0x40 value=0x30 frame 006 00 00 44 40 30 6E
|
||||||
|
02:00:39.076 TX cycle=1 p1=0x00 p2=0x00 cmd=0x45 state=0x40 value=0x30 frame 006 00 00 45 40 30 6F
|
||||||
|
02:00:39.900 TX cycle=1 p1=0x00 p2=0x00 cmd=0x46 state=0x40 value=0x30 frame 006 00 00 46 40 30 6C
|
||||||
|
02:00:40.728 TX cycle=1 p1=0x00 p2=0x00 cmd=0x47 state=0x40 value=0x30 frame 006 00 00 47 40 30 6D
|
||||||
|
02:00:41.549 TX cycle=1 p1=0x00 p2=0x00 cmd=0x48 state=0x40 value=0x30 frame 006 00 00 48 40 30 62
|
||||||
|
02:00:42.376 TX cycle=1 p1=0x00 p2=0x00 cmd=0x49 state=0x40 value=0x30 frame 006 00 00 49 40 30 63
|
||||||
|
02:00:43.202 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4A state=0x40 value=0x30 frame 006 00 00 4A 40 30 60
|
||||||
|
02:00:44.026 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4B state=0x40 value=0x30 frame 006 00 00 4B 40 30 61
|
||||||
|
02:00:44.850 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4C state=0x40 value=0x30 frame 006 00 00 4C 40 30 66
|
||||||
|
02:00:45.674 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4D state=0x40 value=0x30 frame 006 00 00 4D 40 30 67
|
||||||
|
02:00:46.495 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4E state=0x40 value=0x30 frame 006 00 00 4E 40 30 64
|
||||||
|
02:00:47.313 TX cycle=1 p1=0x00 p2=0x00 cmd=0x4F state=0x40 value=0x30 frame 006 00 00 4F 40 30 65
|
||||||
|
02:00:48.138 TX cycle=1 p1=0x00 p2=0x00 cmd=0x50 state=0x40 value=0x30 frame 006 00 00 50 40 30 7A
|
||||||
|
02:00:48.960 TX cycle=1 p1=0x00 p2=0x00 cmd=0x51 state=0x40 value=0x30 frame 006 00 00 51 40 30 7B
|
||||||
|
02:00:49.782 TX cycle=1 p1=0x00 p2=0x00 cmd=0x52 state=0x40 value=0x30 frame 006 00 00 52 40 30 78
|
||||||
|
02:00:50.604 TX cycle=1 p1=0x00 p2=0x00 cmd=0x53 state=0x40 value=0x30 frame 006 00 00 53 40 30 79
|
||||||
|
02:00:51.428 TX cycle=1 p1=0x00 p2=0x00 cmd=0x54 state=0x40 value=0x30 frame 006 00 00 54 40 30 7E
|
||||||
|
02:00:52.249 TX cycle=1 p1=0x00 p2=0x00 cmd=0x55 state=0x40 value=0x30 frame 006 00 00 55 40 30 7F
|
||||||
|
02:00:53.072 TX cycle=1 p1=0x00 p2=0x00 cmd=0x56 state=0x40 value=0x30 frame 006 00 00 56 40 30 7C
|
||||||
|
02:00:53.895 TX cycle=1 p1=0x00 p2=0x00 cmd=0x57 state=0x40 value=0x30 frame 006 00 00 57 40 30 7D
|
||||||
|
02:00:54.716 TX cycle=1 p1=0x00 p2=0x00 cmd=0x58 state=0x40 value=0x30 frame 006 00 00 58 40 30 72
|
||||||
|
02:00:55.542 TX cycle=1 p1=0x00 p2=0x00 cmd=0x59 state=0x40 value=0x30 frame 006 00 00 59 40 30 73
|
||||||
|
02:00:56.364 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5A state=0x40 value=0x30 frame 006 00 00 5A 40 30 70
|
||||||
|
02:00:57.188 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5B state=0x40 value=0x30 frame 006 00 00 5B 40 30 71
|
||||||
|
02:00:58.012 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5C state=0x40 value=0x30 frame 006 00 00 5C 40 30 76
|
||||||
|
02:00:58.837 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5D state=0x40 value=0x30 frame 006 00 00 5D 40 30 77
|
||||||
|
02:00:59.661 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5E state=0x40 value=0x30 frame 006 00 00 5E 40 30 74
|
||||||
|
02:01:00.483 TX cycle=1 p1=0x00 p2=0x00 cmd=0x5F state=0x40 value=0x30 frame 006 00 00 5F 40 30 75
|
||||||
|
FINAL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes
|
||||||
|
Anomalies: 1
|
||||||
38
captures/he40-direct-4030-cmd60-7f.txt
Normal file
38
captures/he40-direct-4030-cmd60-7f.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
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
|
||||||
|
02:01:21.124 TX cycle=1 p1=0x00 p2=0x00 cmd=0x60 state=0x40 value=0x30 frame 006 00 00 60 40 30 4A
|
||||||
|
02:01:21.946 TX cycle=1 p1=0x00 p2=0x00 cmd=0x61 state=0x40 value=0x30 frame 006 00 00 61 40 30 4B
|
||||||
|
02:01:21.946 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
|
||||||
|
02:01:21.946 RX raw 07 80 58 28 D3 7E 07 80 58 28 D3 7E 07 80 58 28 D3 7E 07 80 58 28 D3 7E
|
||||||
|
02:01:22.772 TX cycle=1 p1=0x00 p2=0x00 cmd=0x62 state=0x40 value=0x30 frame 006 00 00 62 40 30 48
|
||||||
|
02:01:23.597 TX cycle=1 p1=0x00 p2=0x00 cmd=0x63 state=0x40 value=0x30 frame 006 00 00 63 40 30 49
|
||||||
|
02:01:24.417 TX cycle=1 p1=0x00 p2=0x00 cmd=0x64 state=0x40 value=0x30 frame 006 00 00 64 40 30 4E
|
||||||
|
02:01:25.239 TX cycle=1 p1=0x00 p2=0x00 cmd=0x65 state=0x40 value=0x30 frame 006 00 00 65 40 30 4F
|
||||||
|
02:01:26.063 TX cycle=1 p1=0x00 p2=0x00 cmd=0x66 state=0x40 value=0x30 frame 006 00 00 66 40 30 4C
|
||||||
|
02:01:26.885 TX cycle=1 p1=0x00 p2=0x00 cmd=0x67 state=0x40 value=0x30 frame 006 00 00 67 40 30 4D
|
||||||
|
02:01:27.706 TX cycle=1 p1=0x00 p2=0x00 cmd=0x68 state=0x40 value=0x30 frame 006 00 00 68 40 30 42
|
||||||
|
02:01:28.530 TX cycle=1 p1=0x00 p2=0x00 cmd=0x69 state=0x40 value=0x30 frame 006 00 00 69 40 30 43
|
||||||
|
02:01:29.354 TX cycle=1 p1=0x00 p2=0x00 cmd=0x6A state=0x40 value=0x30 frame 006 00 00 6A 40 30 40
|
||||||
|
02:01:30.175 TX cycle=1 p1=0x00 p2=0x00 cmd=0x6B state=0x40 value=0x30 frame 006 00 00 6B 40 30 41
|
||||||
|
02:01:30.995 TX cycle=1 p1=0x00 p2=0x00 cmd=0x6C state=0x40 value=0x30 frame 006 00 00 6C 40 30 46
|
||||||
|
02:01:31.817 TX cycle=1 p1=0x00 p2=0x00 cmd=0x6D state=0x40 value=0x30 frame 006 00 00 6D 40 30 47
|
||||||
|
02:01:32.643 TX cycle=1 p1=0x00 p2=0x00 cmd=0x6E state=0x40 value=0x30 frame 006 00 00 6E 40 30 44
|
||||||
|
02:01:33.465 TX cycle=1 p1=0x00 p2=0x00 cmd=0x6F state=0x40 value=0x30 frame 006 00 00 6F 40 30 45
|
||||||
|
02:01:34.286 TX cycle=1 p1=0x00 p2=0x00 cmd=0x70 state=0x40 value=0x30 frame 006 00 00 70 40 30 5A
|
||||||
|
02:01:35.105 TX cycle=1 p1=0x00 p2=0x00 cmd=0x71 state=0x40 value=0x30 frame 006 00 00 71 40 30 5B
|
||||||
|
02:01:35.927 TX cycle=1 p1=0x00 p2=0x00 cmd=0x72 state=0x40 value=0x30 frame 006 00 00 72 40 30 58
|
||||||
|
02:01:36.748 TX cycle=1 p1=0x00 p2=0x00 cmd=0x73 state=0x40 value=0x30 frame 006 00 00 73 40 30 59
|
||||||
|
02:01:37.572 TX cycle=1 p1=0x00 p2=0x00 cmd=0x74 state=0x40 value=0x30 frame 006 00 00 74 40 30 5E
|
||||||
|
02:01:38.394 TX cycle=1 p1=0x00 p2=0x00 cmd=0x75 state=0x40 value=0x30 frame 006 00 00 75 40 30 5F
|
||||||
|
02:01:39.214 TX cycle=1 p1=0x00 p2=0x00 cmd=0x76 state=0x40 value=0x30 frame 006 00 00 76 40 30 5C
|
||||||
|
02:01:40.036 TX cycle=1 p1=0x00 p2=0x00 cmd=0x77 state=0x40 value=0x30 frame 006 00 00 77 40 30 5D
|
||||||
|
02:01:40.860 TX cycle=1 p1=0x00 p2=0x00 cmd=0x78 state=0x40 value=0x30 frame 006 00 00 78 40 30 52
|
||||||
|
02:01:41.684 TX cycle=1 p1=0x00 p2=0x00 cmd=0x79 state=0x40 value=0x30 frame 006 00 00 79 40 30 53
|
||||||
|
02:01:42.506 TX cycle=1 p1=0x00 p2=0x00 cmd=0x7A state=0x40 value=0x30 frame 006 00 00 7A 40 30 50
|
||||||
|
02:01:43.330 TX cycle=1 p1=0x00 p2=0x00 cmd=0x7B state=0x40 value=0x30 frame 006 00 00 7B 40 30 51
|
||||||
|
02:01:44.151 TX cycle=1 p1=0x00 p2=0x00 cmd=0x7C state=0x40 value=0x30 frame 006 00 00 7C 40 30 56
|
||||||
|
02:01:44.974 TX cycle=1 p1=0x00 p2=0x00 cmd=0x7D state=0x40 value=0x30 frame 006 00 00 7D 40 30 57
|
||||||
|
02:01:45.797 TX cycle=1 p1=0x00 p2=0x00 cmd=0x7E state=0x40 value=0x30 frame 006 00 00 7E 40 30 54
|
||||||
|
02:01:46.622 TX cycle=1 p1=0x00 p2=0x00 cmd=0x7F state=0x40 value=0x30 frame 006 00 00 7F 40 30 55
|
||||||
|
FINAL heartbeat-compatible RX: 17 bytes, offset 1, 2 frames + 5 bytes
|
||||||
|
Anomalies: 1
|
||||||
22
captures/he40-prefix1-00-0f-cmd21-20d0.txt
Normal file
22
captures/he40-prefix1-00-0f-cmd21-20d0.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Direct response sweep: 16 frames x 1 cycles (16 total) on COM5 at 38400 8N1
|
||||||
|
BASELINE heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes
|
||||||
|
02:03:36.274 TX cycle=1 p1=0x00 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 00 00 21 20 D0 8B
|
||||||
|
02:03:37.097 TX cycle=1 p1=0x01 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 01 00 21 20 D0 8A
|
||||||
|
02:03:37.097 ANOMALY 29 RX bytes; first mismatch at byte 5: got 07, heartbeat offset 1 expected 00
|
||||||
|
02:03:37.097 RX raw 00 00 00 80 DA 07 80 48 24 9D 2C 07 80 48 24 9D 2C 07 80 48 24 9D 2C 07 80 48 24 9D 2C
|
||||||
|
02:03:37.921 TX cycle=1 p1=0x02 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 02 00 21 20 D0 89
|
||||||
|
02:03:38.746 TX cycle=1 p1=0x03 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 03 00 21 20 D0 88
|
||||||
|
02:03:39.570 TX cycle=1 p1=0x04 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 04 00 21 20 D0 8F
|
||||||
|
02:03:40.396 TX cycle=1 p1=0x05 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 05 00 21 20 D0 8E
|
||||||
|
02:03:41.218 TX cycle=1 p1=0x06 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 06 00 21 20 D0 8D
|
||||||
|
02:03:42.040 TX cycle=1 p1=0x07 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 07 00 21 20 D0 8C
|
||||||
|
02:03:42.863 TX cycle=1 p1=0x08 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 08 00 21 20 D0 83
|
||||||
|
02:03:43.687 TX cycle=1 p1=0x09 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 09 00 21 20 D0 82
|
||||||
|
02:03:44.508 TX cycle=1 p1=0x0A p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 0A 00 21 20 D0 81
|
||||||
|
02:03:45.330 TX cycle=1 p1=0x0B p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 0B 00 21 20 D0 80
|
||||||
|
02:03:46.151 TX cycle=1 p1=0x0C p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 0C 00 21 20 D0 87
|
||||||
|
02:03:46.976 TX cycle=1 p1=0x0D p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 0D 00 21 20 D0 86
|
||||||
|
02:03:47.799 TX cycle=1 p1=0x0E p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 0E 00 21 20 D0 85
|
||||||
|
02:03:48.621 TX cycle=1 p1=0x0F p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 0F 00 21 20 D0 84
|
||||||
|
FINAL heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes
|
||||||
|
Anomalies: 1
|
||||||
22
captures/he40-prefix2-00-0f-cmd21-20d0.txt
Normal file
22
captures/he40-prefix2-00-0f-cmd21-20d0.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Direct response sweep: 16 frames x 1 cycles (16 total) on COM5 at 38400 8N1
|
||||||
|
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
|
||||||
|
02:03:02.116 TX cycle=1 p1=0x00 p2=0x00 cmd=0x21 state=0x20 value=0xD0 frame 006 00 00 21 20 D0 8B
|
||||||
|
02:03:02.938 TX cycle=1 p1=0x00 p2=0x01 cmd=0x21 state=0x20 value=0xD0 frame 006 00 01 21 20 D0 8A
|
||||||
|
02:03:02.938 ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00
|
||||||
|
02:03:02.938 RX raw 07 40 24 12 9D B6 07 40 24 12 9D B6 07 40 24 12 9D B6 07 40 24 12 9D B6
|
||||||
|
02:03:03.763 TX cycle=1 p1=0x00 p2=0x02 cmd=0x21 state=0x20 value=0xD0 frame 006 00 02 21 20 D0 89
|
||||||
|
02:03:04.586 TX cycle=1 p1=0x00 p2=0x03 cmd=0x21 state=0x20 value=0xD0 frame 006 00 03 21 20 D0 88
|
||||||
|
02:03:05.407 TX cycle=1 p1=0x00 p2=0x04 cmd=0x21 state=0x20 value=0xD0 frame 006 00 04 21 20 D0 8F
|
||||||
|
02:03:06.228 TX cycle=1 p1=0x00 p2=0x05 cmd=0x21 state=0x20 value=0xD0 frame 006 00 05 21 20 D0 8E
|
||||||
|
02:03:07.049 TX cycle=1 p1=0x00 p2=0x06 cmd=0x21 state=0x20 value=0xD0 frame 006 00 06 21 20 D0 8D
|
||||||
|
02:03:07.871 TX cycle=1 p1=0x00 p2=0x07 cmd=0x21 state=0x20 value=0xD0 frame 006 00 07 21 20 D0 8C
|
||||||
|
02:03:08.692 TX cycle=1 p1=0x00 p2=0x08 cmd=0x21 state=0x20 value=0xD0 frame 006 00 08 21 20 D0 83
|
||||||
|
02:03:09.513 TX cycle=1 p1=0x00 p2=0x09 cmd=0x21 state=0x20 value=0xD0 frame 006 00 09 21 20 D0 82
|
||||||
|
02:03:10.334 TX cycle=1 p1=0x00 p2=0x0A cmd=0x21 state=0x20 value=0xD0 frame 006 00 0A 21 20 D0 81
|
||||||
|
02:03:11.154 TX cycle=1 p1=0x00 p2=0x0B cmd=0x21 state=0x20 value=0xD0 frame 006 00 0B 21 20 D0 80
|
||||||
|
02:03:11.981 TX cycle=1 p1=0x00 p2=0x0C cmd=0x21 state=0x20 value=0xD0 frame 006 00 0C 21 20 D0 87
|
||||||
|
02:03:12.804 TX cycle=1 p1=0x00 p2=0x0D cmd=0x21 state=0x20 value=0xD0 frame 006 00 0D 21 20 D0 86
|
||||||
|
02:03:13.628 TX cycle=1 p1=0x00 p2=0x0E cmd=0x21 state=0x20 value=0xD0 frame 006 00 0E 21 20 D0 85
|
||||||
|
02:03:14.451 TX cycle=1 p1=0x00 p2=0x0F cmd=0x21 state=0x20 value=0xD0 frame 006 00 0F 21 20 D0 84
|
||||||
|
FINAL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes
|
||||||
|
Anomalies: 1
|
||||||
@@ -9626,23 +9626,27 @@ python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --pre
|
|||||||
|
|
||||||
#### HE40b: `0x80-0x9F @ 20 D0`
|
#### HE40b: `0x80-0x9F @ 20 D0`
|
||||||
|
|
||||||
|
Had several anomolys without entering CONNECT NOT ACT
|
||||||
```powershell
|
```powershell
|
||||||
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x80-0x9F --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-20d0-cmd80-9f.txt
|
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x80-0x9F --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-20d0-cmd80-9f.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
#### HE40c: `0xA0-0xBF @ 20 D0`
|
#### HE40c: `0xA0-0xBF @ 20 D0`
|
||||||
|
|
||||||
|
Did not enter CONNECT NOT ACT until half way through the run
|
||||||
```powershell
|
```powershell
|
||||||
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0xA0-0xBF --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-20d0-cmda0-bf.txt
|
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0xA0-0xBF --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-20d0-cmda0-bf.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
#### HE40d: `0xC0-0xDF @ 20 D0`
|
#### HE40d: `0xC0-0xDF @ 20 D0`
|
||||||
|
Stayed alive for half the run
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0xC0-0xDF --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-20d0-cmdc0-df.txt
|
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0xC0-0xDF --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-20d0-cmdc0-df.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
#### HE40e: `0xE0-0xFF @ 20 D0`
|
#### HE40e: `0xE0-0xFF @ 20 D0`
|
||||||
|
Stayed alive for half the run
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0xE0-0xFF --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-20d0-cmde0-ff.txt
|
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0xE0-0xFF --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-20d0-cmde0-ff.txt
|
||||||
@@ -9651,19 +9655,19 @@ python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --pre
|
|||||||
#### Phase 2: broaden the `40 30` parallel surface
|
#### Phase 2: broaden the `40 30` parallel surface
|
||||||
|
|
||||||
#### HE40f: `0x40-0x5F @ 40 30`
|
#### HE40f: `0x40-0x5F @ 40 30`
|
||||||
|
Stayed alive the whole run
|
||||||
```powershell
|
```powershell
|
||||||
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x40-0x5F --states 0x40 --values 0x30 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-4030-cmd40-5f.txt
|
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x40-0x5F --states 0x40 --values 0x30 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-4030-cmd40-5f.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
#### HE40g: `0x60-0x7F @ 40 30`
|
#### HE40g: `0x60-0x7F @ 40 30`
|
||||||
|
Stayed alive whole run
|
||||||
```powershell
|
```powershell
|
||||||
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x60-0x7F --states 0x40 --values 0x30 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-4030-cmd60-7f.txt
|
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x60-0x7F --states 0x40 --values 0x30 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-4030-cmd60-7f.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
#### HE40h: `0x00-0x1F @ 40 30`
|
#### HE40h: `0x00-0x1F @ 40 30`
|
||||||
|
Stayed alive whole run
|
||||||
```powershell
|
```powershell
|
||||||
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x00-0x1F --states 0x40 --values 0x30 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-4030-cmd00-1f.txt
|
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00 --commands 0x00-0x1F --states 0x40 --values 0x30 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-direct-4030-cmd00-1f.txt
|
||||||
```
|
```
|
||||||
@@ -9679,13 +9683,13 @@ Known live slot chosen for prefix probing:
|
|||||||
- `cmd=0x21`, `state/value=20 D0`
|
- `cmd=0x21`, `state/value=20 D0`
|
||||||
|
|
||||||
#### HE40i: `prefix2=0x00-0x0F` on `cmd=0x21 @ 20 D0`
|
#### HE40i: `prefix2=0x00-0x0F` on `cmd=0x21 @ 20 D0`
|
||||||
|
Stayed alive whole run
|
||||||
```powershell
|
```powershell
|
||||||
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00-0x0F --commands 0x21 --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-prefix2-00-0f-cmd21-20d0.txt
|
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00 --prefix2s 0x00-0x0F --commands 0x21 --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-prefix2-00-0f-cmd21-20d0.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
#### HE40j: `prefix1=0x00-0x0F` on `cmd=0x21 @ 20 D0`
|
#### HE40j: `prefix1=0x00-0x0F` on `cmd=0x21 @ 20 D0`
|
||||||
|
Stayed alive whole run
|
||||||
```powershell
|
```powershell
|
||||||
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00-0x0F --prefix2s 0x00 --commands 0x21 --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-prefix1-00-0f-cmd21-20d0.txt
|
python scripts/serial_direct_response_sweep.py --port COM5 --prefix1s 0x00-0x0F --prefix2s 0x00 --commands 0x21 --states 0x20 --values 0xD0 --settle 3.0 --after-each 0.8 --after 2.0 --log captures/he40-prefix1-00-0f-cmd21-20d0.txt
|
||||||
```
|
```
|
||||||
@@ -9713,3 +9717,93 @@ Interpretation guide:
|
|||||||
than command and payload pair for the surfaces we have been mapping
|
than command and payload pair for the surfaces we have been mapping
|
||||||
- if one prefix range opens a new aligned family on `cmd=0x21`, that becomes a
|
- if one prefix range opens a new aligned family on `cmd=0x21`, that becomes a
|
||||||
very strong next branch
|
very strong next branch
|
||||||
|
|
||||||
|
#### HE40 results
|
||||||
|
|
||||||
|
Your bench notes on panel behavior:
|
||||||
|
|
||||||
|
- `HE40b` (`0x80-0x9F @ 20 D0`): several anomalies without entering
|
||||||
|
`CONNECT NOT ACT`
|
||||||
|
- `HE40c` (`0xA0-0xBF @ 20 D0`): note added in the docs, but no matching
|
||||||
|
capture file was present yet in `captures/`
|
||||||
|
- `HE40d` (`0xC0-0xDF @ 20 D0`): panel stayed alive for about half the run
|
||||||
|
- `HE40e` (`0xE0-0xFF @ 20 D0`): panel stayed alive for about half the run
|
||||||
|
- `HE40f/g/h` (`40 30` command sweeps): panel stayed alive for the whole run
|
||||||
|
- `HE40i/j` (prefix sweeps): panel stayed alive for the whole run
|
||||||
|
|
||||||
|
Structured results:
|
||||||
|
|
||||||
|
#### `0x60-0x7F @ 20 D0`
|
||||||
|
|
||||||
|
- `0x61` -> `07 80 58 24 DD 7C`
|
||||||
|
- `0x62` and `0x63` then drain more of that same `58 24 DD 7C` family
|
||||||
|
- this extends the `20 D0` maintained surface cleanly upward into the `0x60`
|
||||||
|
band
|
||||||
|
|
||||||
|
#### `0x80-0x9F @ 20 D0`
|
||||||
|
|
||||||
|
- `0x81` -> `07 80 60 24 DD 44`
|
||||||
|
- same broad shape as the earlier `48/50/58` families, but now stepping into a
|
||||||
|
new `0x60` family block
|
||||||
|
|
||||||
|
#### `0xC0-0xDF @ 20 D0`
|
||||||
|
|
||||||
|
- `0xC1` -> `07 80 70 24 DD 54`
|
||||||
|
|
||||||
|
#### `0xE0-0xFF @ 20 D0`
|
||||||
|
|
||||||
|
- `0xE1` -> `07 80 78 24 DD 5C`
|
||||||
|
|
||||||
|
Taken together, the confirmed `20 D0` ladder now includes:
|
||||||
|
|
||||||
|
- `0x01` -> `07 80 40 24 DD 64`
|
||||||
|
- `0x21` -> `07 80 48 24 DD 6C`
|
||||||
|
- `0x41` -> `07 80 50 24 DD 74`
|
||||||
|
- `0x61` -> `07 80 58 24 DD 7C`
|
||||||
|
- `0x81` -> `07 80 60 24 DD 44`
|
||||||
|
- `0xC1` -> `07 80 70 24 DD 54`
|
||||||
|
- `0xE1` -> `07 80 78 24 DD 5C`
|
||||||
|
|
||||||
|
That is a much stronger pattern than a few isolated hits. It looks like a real
|
||||||
|
upper command lattice.
|
||||||
|
|
||||||
|
#### `0x00-0x1F @ 40 30`
|
||||||
|
|
||||||
|
- `0x01` -> `07 80 40 28 D3 66`
|
||||||
|
|
||||||
|
#### `0x40-0x5F @ 40 30`
|
||||||
|
|
||||||
|
- `0x41` -> `07 80 50 28 D3 76`
|
||||||
|
|
||||||
|
#### `0x60-0x7F @ 40 30`
|
||||||
|
|
||||||
|
- `0x61` -> `07 80 58 28 D3 7E`
|
||||||
|
|
||||||
|
This confirms the `40 30` surface is a true aligned parallel of the `20 D0`
|
||||||
|
surface, not just a one-region curiosity.
|
||||||
|
|
||||||
|
#### Prefix completion on `cmd=0x21 @ 20 D0`
|
||||||
|
|
||||||
|
The prefix passes did **not** stay flat.
|
||||||
|
|
||||||
|
- `HE40i` varying `prefix2`, with `00 01 21 20 D0 8A`, opened:
|
||||||
|
- `07 40 24 12 9D B6`
|
||||||
|
- `HE40j` varying `prefix1`, with `01 00 21 20 D0 8A`, opened:
|
||||||
|
- `07 80 48 24 9D 2C`
|
||||||
|
|
||||||
|
That makes prefixes more interesting than the earlier simple model assumed.
|
||||||
|
They do not yet look like the main thing selecting the broad maintained
|
||||||
|
surfaces, but they clearly can perturb a known-live slot into a different
|
||||||
|
response family.
|
||||||
|
|
||||||
|
Takeaways:
|
||||||
|
|
||||||
|
- the upper command space is **not** untouched noise; it continues the same
|
||||||
|
structured lattice far above `0x5F`
|
||||||
|
- `20 D0` now looks like a very broad maintained-background class
|
||||||
|
- `40 30` mirrors it as a clean parallel surface
|
||||||
|
- nonzero prefixes are not dead:
|
||||||
|
- they can open altered variants on a known live command slot
|
||||||
|
- the only obvious completion gap from this pass is `HE40c`:
|
||||||
|
- `0xA0-0xBF @ 20 D0` still needs its matching capture if we want the ladder
|
||||||
|
complete
|
||||||
|
|||||||
@@ -505,6 +505,23 @@ Current caution:
|
|||||||
- So the `0x50`-band currently looks like another valid maintained-background
|
- So the `0x50`-band currently looks like another valid maintained-background
|
||||||
surface inside the broader `20 D0` class, not yet a uniquely privileged
|
surface inside the broader `20 D0` class, not yet a uniquely privileged
|
||||||
"real wake" surface.
|
"real wake" surface.
|
||||||
|
- A later HE40 completion pass extended that picture much farther upward:
|
||||||
|
- `0x61 @ 20 D0` -> `07 80 58 24 DD 7C`
|
||||||
|
- `0x81 @ 20 D0` -> `07 80 60 24 DD 44`
|
||||||
|
- `0xC1 @ 20 D0` -> `07 80 70 24 DD 54`
|
||||||
|
- `0xE1 @ 20 D0` -> `07 80 78 24 DD 5C`
|
||||||
|
- That means the `20 D0` surface now looks like a broad upper command lattice,
|
||||||
|
not just a low-band or mid-band pocket.
|
||||||
|
- HE40 also reinforced that `40 30` is a true aligned parallel surface:
|
||||||
|
- `0x01 @ 40 30` -> `07 80 40 28 D3 66`
|
||||||
|
- `0x41 @ 40 30` -> `07 80 50 28 D3 76`
|
||||||
|
- `0x61 @ 40 30` -> `07 80 58 28 D3 7E`
|
||||||
|
- Small prefix-completion sweeps on `cmd=0x21 @ 20 D0` showed that nonzero
|
||||||
|
prefixes are not inert:
|
||||||
|
- `p2=0x01` opened `07 40 24 12 9D B6`
|
||||||
|
- `p1=0x01` opened `07 80 48 24 9D 2C`
|
||||||
|
- So prefixes probably do **not** define the main lattice by themselves, but
|
||||||
|
they can perturb a known-live slot into variant families.
|
||||||
|
|
||||||
## What We Do Not Know
|
## What We Do Not Know
|
||||||
|
|
||||||
@@ -557,6 +574,163 @@ Current best read:
|
|||||||
stream that would normally feed the LCD, indicators, and value displays once
|
stream that would normally feed the LCD, indicators, and value displays once
|
||||||
the session is established
|
the session is established
|
||||||
|
|
||||||
|
## Probable CCU <-> RCP Traffic Model
|
||||||
|
|
||||||
|
This is an inferred working model, not yet a proof. It is the best current
|
||||||
|
attempt to explain both the manuals and the bench behavior using the same
|
||||||
|
mental picture.
|
||||||
|
|
||||||
|
### High-level picture
|
||||||
|
|
||||||
|
Current best read:
|
||||||
|
|
||||||
|
- the **CCU** probably holds the richer master state for the camera system
|
||||||
|
- the **RCP** behaves more like a smart terminal:
|
||||||
|
- it sends operator events upstream
|
||||||
|
- it receives recurring camera/session state downstream
|
||||||
|
- it renders that state onto the LCD, lamps, and numeric readouts
|
||||||
|
|
||||||
|
That would fit:
|
||||||
|
|
||||||
|
- the manuals describing filter, extender, self-diagnosis, and other camera
|
||||||
|
state on the RCP display
|
||||||
|
- the broad structured lattices now observed in the host-to-RCP direction
|
||||||
|
- the way repeated valid-looking traffic can keep the panel semi-awake without
|
||||||
|
fully activating it
|
||||||
|
|
||||||
|
### Likely traffic layers
|
||||||
|
|
||||||
|
#### 1. Startup / identity / mode layer
|
||||||
|
|
||||||
|
Probable job:
|
||||||
|
|
||||||
|
- establish PT2/TX7 personality
|
||||||
|
- announce CCU or camera-side mode/class
|
||||||
|
- select a broad session context before live status traffic begins
|
||||||
|
|
||||||
|
Best candidate families so far:
|
||||||
|
|
||||||
|
- `90` startup-beacon surface:
|
||||||
|
- `07 80 64 40 30 C9`
|
||||||
|
- `07 80 E4 40 30 49`
|
||||||
|
- `AF` startup-beacon surface:
|
||||||
|
- `07 80 0D 04 AB 7F`
|
||||||
|
- `07 80 0D 04 EB 3F`
|
||||||
|
- `A0` appears to act as an opener or primer in several selector contexts
|
||||||
|
|
||||||
|
Current interpretation:
|
||||||
|
|
||||||
|
- these look more like startup or class beacons than maintained live camera
|
||||||
|
state by themselves
|
||||||
|
|
||||||
|
#### 2. Maintained background status layer
|
||||||
|
|
||||||
|
Probable job:
|
||||||
|
|
||||||
|
- keep the panel in a live or semi-live session state
|
||||||
|
- refresh recurring camera/control pages
|
||||||
|
- provide the "boring background scan" a 1990s CCU would likely send
|
||||||
|
|
||||||
|
Best candidate surfaces so far:
|
||||||
|
|
||||||
|
- `20 D0` lattice:
|
||||||
|
- `0x01 -> 07 80 40 24 DD 64`
|
||||||
|
- `0x21 -> 07 80 48 24 DD 6C`
|
||||||
|
- `0x41 -> 07 80 50 24 DD 74`
|
||||||
|
- `0x61 -> 07 80 58 24 DD 7C`
|
||||||
|
- `0x81 -> 07 80 60 24 DD 44`
|
||||||
|
- `0xC1 -> 07 80 70 24 DD 54`
|
||||||
|
- `0xE1 -> 07 80 78 24 DD 5C`
|
||||||
|
- parallel `40 30` lattice:
|
||||||
|
- `0x01 -> 07 80 40 28 D3 66`
|
||||||
|
- `0x41 -> 07 80 50 28 D3 76`
|
||||||
|
- `0x61 -> 07 80 58 28 D3 7E`
|
||||||
|
- baseline `00 80` lattice:
|
||||||
|
- similar command slots but through `.. 20 D8 ..` surfaces
|
||||||
|
|
||||||
|
Current interpretation:
|
||||||
|
|
||||||
|
- these look like page/slot/status surfaces more than isolated commands
|
||||||
|
- a real CCU may repeatedly scan a small subset of these, not the whole space
|
||||||
|
- the panel's semi-awake behavior strongly suggests that at least part of this
|
||||||
|
layer is real maintained traffic
|
||||||
|
|
||||||
|
#### 3. Detail / page / selector layer
|
||||||
|
|
||||||
|
Probable job:
|
||||||
|
|
||||||
|
- select which family or page of data is being discussed
|
||||||
|
- open branches corresponding to different camera/status domains
|
||||||
|
|
||||||
|
Best candidate families so far:
|
||||||
|
|
||||||
|
- `E8`, `E9`, `EC` selector-like branches
|
||||||
|
- opener/context family around `A0`, `90`, `AF`
|
||||||
|
- downstream siblings:
|
||||||
|
- `7A`
|
||||||
|
- `7B`
|
||||||
|
- `FB`
|
||||||
|
- `FA`
|
||||||
|
- `E4`
|
||||||
|
|
||||||
|
Current interpretation:
|
||||||
|
|
||||||
|
- these may represent internal page classes or selector families
|
||||||
|
- they probably help choose *which* maintained or readable surface is live
|
||||||
|
- they do not yet look like the final always-on camera-state stream by
|
||||||
|
themselves
|
||||||
|
|
||||||
|
#### 4. Operator event layer
|
||||||
|
|
||||||
|
Probable job:
|
||||||
|
|
||||||
|
- carry human actions from the RCP to the CCU/camera side
|
||||||
|
|
||||||
|
Best candidate families so far:
|
||||||
|
|
||||||
|
- CALL path:
|
||||||
|
- host synthetic high/low pair can provoke `07 80 45 20 D0 68`
|
||||||
|
- CAM POWER and some other buttons:
|
||||||
|
- visible as outbound panel-origin activity
|
||||||
|
- but not yet shown to wake the panel or advance a session on their own
|
||||||
|
|
||||||
|
Current interpretation:
|
||||||
|
|
||||||
|
- this layer is probably mostly upstream: RCP telling the CCU what the operator
|
||||||
|
just did
|
||||||
|
- the event path alone is not enough to create an active session
|
||||||
|
|
||||||
|
### Most likely division of responsibility
|
||||||
|
|
||||||
|
If this model is right, then:
|
||||||
|
|
||||||
|
- the **CCU** likely maintains the richer camera-state lattice internally
|
||||||
|
- the **RCP** likely maintains a smaller local cache:
|
||||||
|
- current screen/page
|
||||||
|
- local control state
|
||||||
|
- most recently received camera values
|
||||||
|
- active indicator/lamp state
|
||||||
|
|
||||||
|
That would explain why:
|
||||||
|
|
||||||
|
- broad command sweeps find orderly families
|
||||||
|
- many repeated frames keep the panel semi-awake
|
||||||
|
- but the panel still refuses to fully wake without the right overall stream
|
||||||
|
|
||||||
|
### What this suggests for bench work
|
||||||
|
|
||||||
|
The main practical implication is:
|
||||||
|
|
||||||
|
- stop thinking only in terms of a single hidden wake frame
|
||||||
|
- keep thinking in terms of:
|
||||||
|
- startup beacon/context
|
||||||
|
- then a believable recurring maintained subset
|
||||||
|
- then additional detail pages layered on top
|
||||||
|
|
||||||
|
So the most likely missing ingredient is not just "more valid bytes." It is
|
||||||
|
probably a **specific recurring traffic mix** that a real CCU would send once
|
||||||
|
it had already identified the panel and camera path.
|
||||||
|
|
||||||
## Restoration Strategy
|
## Restoration Strategy
|
||||||
|
|
||||||
Near-term practical strategy:
|
Near-term practical strategy:
|
||||||
|
|||||||
@@ -28,6 +28,33 @@ The current evidence suggests the panel behavior is shaped by several layers:
|
|||||||
|
|
||||||
We have good evidence for layers 1-4. Layer 5 is still missing.
|
We have good evidence for layers 1-4. Layer 5 is still missing.
|
||||||
|
|
||||||
|
## Probable System-Level Flow
|
||||||
|
|
||||||
|
At the system level, the best current model is:
|
||||||
|
|
||||||
|
1. startup / identity / mode traffic
|
||||||
|
2. maintained background status scan
|
||||||
|
3. selector/detail pages layered onto that background
|
||||||
|
4. operator events flowing back upstream
|
||||||
|
5. unknown final condition that makes the panel fully active
|
||||||
|
|
||||||
|
This is less like a tiny request/ack protocol and more like a multiplexed
|
||||||
|
camera-state bus with a control return path.
|
||||||
|
|
||||||
|
Working split:
|
||||||
|
|
||||||
|
- **CCU side** probably holds the richer master camera/session state lattice
|
||||||
|
- **RCP side** probably behaves like a smart terminal that:
|
||||||
|
- caches a smaller local state
|
||||||
|
- displays received camera/session values
|
||||||
|
- sends button/control events back upstream
|
||||||
|
|
||||||
|
That model fits the manuals unusually well:
|
||||||
|
|
||||||
|
- LCD/status content such as filter, extender, and self-diagnosis data
|
||||||
|
- semi-awake behavior under recurring host traffic
|
||||||
|
- broad structured command/slot lattices under several payload surfaces
|
||||||
|
|
||||||
## Baseline States
|
## Baseline States
|
||||||
|
|
||||||
### S0: Idle / Not Active
|
### S0: Idle / Not Active
|
||||||
|
|||||||
Reference in New Issue
Block a user