um24clab/src/meter/um24c.py

48 lines
1.1 KiB
Python

import struct
from collections import namedtuple
PACKET_MAGIC = (b'\x09\x63', b'\xff\xf1')
DATA_FORMAT = ">2x2HI2HxB20I2HBx2IHI2x2HIxB2x"
UMeterStatus = namedtuple('UMeterStatus', [
'Voltage',
'Current',
'Power',
'Temperature_Celcius',
'Temperature_Fahrenheit',
'Group',
'Accumulated_Capacity0',
'Accumulated_Energy0',
'Accumulated_Capacity1',
'Accumulated_Energy1',
'Accumulated_Capacity2',
'Accumulated_Energy2',
'Accumulated_Capacity3',
'Accumulated_Energy3',
'Accumulated_Capacity4',
'Accumulated_Energy4',
'Accumulated_Capacity5',
'Accumulated_Energy5',
'Accumulated_Capacity6',
'Accumulated_Energy6',
'Accumulated_Capacity7',
'Accumulated_Energy7',
'Accumulated_Capacity8',
'Accumulated_Energy8',
'Accumulated_Capacity9',
'Accumulated_Energy9',
'D+',
'D-',
'Mode',
'Recorded_Capacity',
'Recorded_Energy',
'Current_Trigger',
'Recorded_Time',
'Display_timeout',
'Display_brightness',
'Load_equivalent_impedance',
'Current_screen']
)