From 8b9ee35f1a9fd5f23306f792db37c73fe7d7ed9f Mon Sep 17 00:00:00 2001 From: Ben West Date: Tue, 15 Mar 2016 15:48:16 -0700 Subject: add support for WriteDisplayTimeOffset: update clock! Allow updating clock on the receiver. --- dexcom_reader/readdata.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/dexcom_reader/readdata.py b/dexcom_reader/readdata.py index 35d6318..b044a3b 100644 --- a/dexcom_reader/readdata.py +++ b/dexcom_reader/readdata.py @@ -151,12 +151,19 @@ class Dexcom(object): return util.ReceiverTimeToTime(struct.unpack('I', rtc)[0]) def ReadSystemTimeOffset(self): - rtc = self.GenericReadCommand(constants.READ_SYSTEM_TIME_OFFSET).data - return datetime.timedelta(seconds=struct.unpack('i', rtc)[0]) + raw = self.GenericReadCommand(constants.READ_SYSTEM_TIME_OFFSET).data + return datetime.timedelta(seconds=struct.unpack('i', raw)[0]) def ReadDisplayTimeOffset(self): - rtc = self.GenericReadCommand(constants.READ_DISPLAY_TIME_OFFSET).data - return datetime.timedelta(seconds=struct.unpack('i', rtc)[0]) + raw = self.GenericReadCommand(constants.READ_DISPLAY_TIME_OFFSET).data + return datetime.timedelta(seconds=struct.unpack('i', raw)[0]) + + def WriteDisplayTimeOffset(self, offset=None): + payload = struct.pack('i', offset) + self.WriteCommand(constants.WRITE_DISPLAY_TIME_OFFSET, payload) + packet = self.readpacket() + return dict(ACK=ord(packet.command) == constants.ACK) + def ReadDisplayTime(self): return self.ReadSystemTime() + self.ReadDisplayTimeOffset() -- cgit v1.2.3