summaryrefslogtreecommitdiff
path: root/hardware/fw/reader.py
diff options
context:
space:
mode:
Diffstat (limited to 'hardware/fw/reader.py')
-rw-r--r--hardware/fw/reader.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/hardware/fw/reader.py b/hardware/fw/reader.py
new file mode 100644
index 0000000..c60edb7
--- /dev/null
+++ b/hardware/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)
+