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