wifidmm/tools/frame-parser.py

43 lines
808 B
Python
Executable File

#!/usr/bin/env python3
UNITS = {
0b0110000: 'A', # 22A
0b0110001: 'V', # Diode
0b0110010: 'Hz',
0b0110011: 'Ω',
0b0110100: '°C',
0b0110101: 'Ω', # Continuity
0b0110110: 'F',
0b0111001: 'A', # Manual
0b0111011: 'V',
0b0111101: 'µA',
0b0111110: 'ADP', # ???
0b0111111: 'mA'}
def parse(f):
for frame in f.readlines():
data = frame.strip()
if len(data) != 12:
continue
digits = data[1:6]
print(digits+UNITS[ord(data[6])])
def main(argv):
for fn in argv:
with open(fn, 'r') as f:
parse(f)
else:
import sys
parse(sys.stdin)
return 0
if __name__ == '__main__':
import sys
sys.exit(main(sys.argv[1:]))