diff options
Diffstat (limited to 'glucometerutils/support/lifescan_binary_protocol.py')
-rw-r--r-- | glucometerutils/support/lifescan_binary_protocol.py | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/glucometerutils/support/lifescan_binary_protocol.py b/glucometerutils/support/lifescan_binary_protocol.py index 288da83..441226e 100644 --- a/glucometerutils/support/lifescan_binary_protocol.py +++ b/glucometerutils/support/lifescan_binary_protocol.py @@ -12,48 +12,51 @@ This module implements an interface to send and receive these messages. import construct from glucometerutils import common -from glucometerutils.support import construct_extras -from glucometerutils.support import lifescan +from glucometerutils.support import construct_extras, lifescan _LINK_CONTROL = construct.BitStruct( construct.Padding(3), - 'more' / construct.Default(construct.Flag, False), - 'disconnect' / construct.Default(construct.Flag, False), - 'acknowledge' / construct.Default(construct.Flag, False), - 'expect_receive' / construct.Default(construct.Flag, False), - 'sequence_number' / construct.Default(construct.Flag, False), + "more" / construct.Default(construct.Flag, False), + "disconnect" / construct.Default(construct.Flag, False), + "acknowledge" / construct.Default(construct.Flag, False), + "expect_receive" / construct.Default(construct.Flag, False), + "sequence_number" / construct.Default(construct.Flag, False), ) + def LifeScanPacket(include_link_control): # pylint: disable=invalid-name # type: (bool) -> construct.Struct if include_link_control: link_control_construct = _LINK_CONTROL else: - link_control_construct = construct.Const(b'\x00') + link_control_construct = construct.Const(b"\x00") return construct.Struct( - 'data' / construct.RawCopy( + "data" + / construct.RawCopy( construct.Struct( - construct.Const(b'\x02'), # stx - 'length' / construct.Rebuild( - construct.Byte, lambda this: len(this.message) + 6), - 'link_control' / link_control_construct, - 'message' / construct.Bytes( - lambda this: this.length - 6), - construct.Const(b'\x03'), # etx + construct.Const(b"\x02"), # stx + "length" + / construct.Rebuild(construct.Byte, lambda this: len(this.message) + 6), + "link_control" / link_control_construct, + "message" / construct.Bytes(lambda this: this.length - 6), + construct.Const(b"\x03"), # etx ), ), - 'checksum' / construct.Checksum( - construct.Int16ul, lifescan.crc_ccitt, construct.this.data.data), + "checksum" + / construct.Checksum( + construct.Int16ul, lifescan.crc_ccitt, construct.this.data.data + ), ) + VERIO_TIMESTAMP = construct_extras.Timestamp( - construct.Int32ul, epoch=946684800) # 2000-01-01 (not 2010) + construct.Int32ul, epoch=946684800 +) # 2000-01-01 (not 2010) _GLUCOSE_UNIT_MAPPING_TABLE = { common.Unit.MG_DL: 0x00, common.Unit.MMOL_L: 0x01, } -GLUCOSE_UNIT = construct.Mapping( - construct.Byte, _GLUCOSE_UNIT_MAPPING_TABLE) +GLUCOSE_UNIT = construct.Mapping(construct.Byte, _GLUCOSE_UNIT_MAPPING_TABLE) |