diff options
Diffstat (limited to 'gm_platform/fw/reader.py')
-rw-r--r-- | gm_platform/fw/reader.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gm_platform/fw/reader.py b/gm_platform/fw/reader.py new file mode 100644 index 0000000..c60edb7 --- /dev/null +++ b/gm_platform/fw/reader.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 + +import struct + +import sqlite3 + +import serial +from cobs import cobs + +if __name__ == '__main__': + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument('-b', '--baudrate', type=int, default=250000) + parser.add_argument('port') + parser.add_argument('dbfile') + args = parser.parse_args() + + db = sqlite3.connect(args.db) + ser = serial.Serial(args.port, args.baudrate) + + while True: + packet = ser.read_until(b'\0') + try: + packet = cobs.decode(packet) + crc, seq, struct.decode('IBxH', packet[:8]) + + except Exception as e: + print(e) + |