diff options
Diffstat (limited to 'gm_platform/fw/test.py')
-rw-r--r-- | gm_platform/fw/test.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gm_platform/fw/test.py b/gm_platform/fw/test.py new file mode 100644 index 0000000..cb243a5 --- /dev/null +++ b/gm_platform/fw/test.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +import serial +import time + +#ser = serial.Serial('/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0', 230400) +ser = serial.Serial('/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0', 250000) +#while True: +# ser.write(bytes(range(256))) +start = time.time() + +last_val = None +run = 0 +total_errors = 0 +rx_bytes = 0 +last_print = time.time() +while True: + bytes = ser.read(256) + for byte in bytes: + if last_val is not None and byte != (last_val + 1) % 256: + if run > 0: + print(f'{time.time()-start:>8.3f} {run} {last_val:02x} {byte:02x}') + run = 0 + total_errors += 1 + else: + run += 1 + rx_bytes += 1 + + if time.time() - last_print > 5: + last_print = time.time() + print(f'{time.time()-start:>8.3f} {run} [all good] err={total_errors}@rx={rx_bytes}B', + f'(rate 1/{rx_bytes/total_errors:.5g})' if total_errors > 0 else 'rate unknown') + last_val = byte + +#while True: +# data = ser.read_until(b'\0') +# print(f'{time.time()-start:>8.3f} {len(data)}') + +# while True: +# data = ser.read(256) +# print('YES' if b'\0' in data else 'NO ', data) |