Direct response sweep: 5 frames x 1 cycles (5 total) on COM5 at 38400 8N1
BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes
13:46:41.102  TX cycle=1 p1=0x00 p2=0x00 cmd=0x00 state=0x00 value=0x80 frame 006  00 00 00 00 80 DA
13:46:41.929  TX cycle=1 p1=0x00 p2=0x00 cmd=0xB2 state=0x00 value=0x80 frame 006  00 00 B2 00 80 68
13:46:41.929  ANOMALY 24 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00
13:46:41.929  RX raw 07 80 36 10 0C F7 07 80 36 10 0C F7 07 80 36 10 0C F7 07 80 36 10 0C F7
13:46:42.752  TX cycle=1 p1=0x00 p2=0x00 cmd=0xB3 state=0x00 value=0x80 frame 006  00 00 B3 00 80 69
13:46:43.577  TX cycle=1 p1=0x00 p2=0x00 cmd=0xB4 state=0x00 value=0x80 frame 006  00 00 B4 00 80 6E
13:46:44.400  TX cycle=1 p1=0x00 p2=0x00 cmd=0xB5 state=0x00 value=0x80 frame 006  00 00 B5 00 80 6F
FINAL heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes
Anomalies: 1
