From b0f52759910837f35bfceedc2cbc23bcd0d9f18b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= Date: Thu, 15 Nov 2018 23:31:22 +0000 Subject: otultraeasy: factor out the packet creation, and add tests. This would have caught the bug fixed with the previous commit, which is a strict improvement. --- glucometerutils/drivers/otultraeasy.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'glucometerutils/drivers') diff --git a/glucometerutils/drivers/otultraeasy.py b/glucometerutils/drivers/otultraeasy.py index 323ebd7..3c0098a 100644 --- a/glucometerutils/drivers/otultraeasy.py +++ b/glucometerutils/drivers/otultraeasy.py @@ -92,6 +92,19 @@ _READING_RESPONSE = construct.Struct( 'value' / construct.Int32ul, ) +def _make_packet( + message, sequence_number, expect_receive, acknowledge, disconnect): + return _PACKET.build( + {'data': {'value': { + 'message': message, + 'link_control': { + 'sequence_number': sequence_number, + 'expect_receive': expect_receive, + 'acknowledge': acknowledge, + 'disconnect': disconnect, + }, + }}}) + class Device(serial.SerialDevice): BAUDRATE = 9600 DEFAULT_CABLE_ID = '067b:2303' # Generic PL2303 cable. @@ -116,16 +129,12 @@ class Device(serial.SerialDevice): self.connect() def _send_packet(self, message, acknowledge=False, disconnect=False): - pkt = _PACKET.build( - {'data': {'value': { - 'message': message, - 'link_control': { - 'sequence_number': self.sent_counter_, - 'expect_receive': self.expect_receive_, - 'acknowledge': acknowledge, - 'disconnect': disconnect, - }, - }}}) + pkt = _make_packet( + message, + self.sent_counter_, + self.expect_receive_, + acknowledge, + disconnect) logging.debug('sending packet: %s', binascii.hexlify(pkt)) self.serial_.write(pkt) -- cgit v1.2.3