#!/usr/bin/env python3 import serial import crcmod from config import * calc_crc = crcmod.predefined.mkCrcFun(CRC_TYPE) def parse_line(line): if line[-2:] != "\r\n": return {key : None for key in FORMAT} line = line[:-2] crc_str = line[-2:] payload = line[0:-2] crc = (ord(crc_str[0]) << 8) | ord(crc_str[1]) if crc != calc_crc(payload.encode('ascii')): return {key : None for key in FORMAT} parts = payload.split(';') parts = [p.strip() for p in parts] parts = [x if x != '#' else None for x in parts] data = zip(FORMAT, parts) return dict(data) def main(): pass if __name__ == '__main__': main()