import logging import construct from pyscsi.pyscsi.scsi import SCSI from pyscsi.pyscsi.scsi_device import SCSIDevice from glucometerutils import common from glucometerutils import exceptions from glucometerutils.support import lifescan from glucometerutils.support import lifescan_binary_protocol # This device uses SCSI blocks as registers. _REGISTER_SIZE = 512 _PACKET = construct.Padded( _REGISTER_SIZE, lifescan_binary_protocol.LifeScanPacket(0x03, False)) _QUERY_REQUEST = construct.Struct( construct.Const(b'\xe6\x02'), 'selector' / construct.Enum(construct.Byte, serial=0x00, model=0x01, software=0x02), ) _QUERY_RESPONSE = construct.Struct( lifescan_binary_protocol.COMMAND_SUCCESS, 'value' / construct.CString(encoding='utf-16-le'), ) _READ_PARAMETER_REQUEST = construct.Struct( 'selector' / construct.Enum(construct.Byte, unit=0x04), )
""" import binascii import datetime import logging import construct from glucometerutils import common from glucometerutils.support import construct_extras from glucometerutils.support import lifescan from glucometerutils.support import lifescan_binary_protocol from glucometerutils.support import serial _PACKET = lifescan_binary_protocol.LifeScanPacket(False) _COMMAND_SUCCESS = construct.Const(b'\x03\x06') _VERSION_REQUEST = construct.Const(b'\x03\x0d\x01') _VERSION_RESPONSE = construct.Struct( _COMMAND_SUCCESS, 'version' / construct.PascalString(construct.Byte, encoding='ascii'), # NULL-termination is not included in string length. construct.Const(b'\x00'), ) _SERIAL_NUMBER_REQUEST = construct.Const(b'\x03\x0b\x01\x02') _SERIAL_NUMBER_RESPONSE = construct.Struct(
__copyright__ = 'Copyright © 2014-2018, Diego Elio Pettenò' __license__ = 'MIT' import binascii import datetime import logging import construct from glucometerutils import common from glucometerutils.support import construct_extras from glucometerutils.support import lifescan from glucometerutils.support import lifescan_binary_protocol from glucometerutils.support import serial _PACKET = lifescan_binary_protocol.LifeScanPacket( 0x05, True) _INVALID_RECORD = 501 _VERSION_REQUEST = construct.Const(b'\x0d\x02') _VERSION_RESPONSE = construct.Struct( lifescan_binary_protocol.COMMAND_SUCCESS, 'version' / construct.PascalString(construct.Byte, encoding='ascii'), ) _SERIAL_NUMBER_REQUEST = construct.Const( b'\x0B\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00') _SERIAL_NUMBER_RESPONSE = construct.Struct( lifescan_binary_protocol.COMMAND_SUCCESS,