summaryrefslogtreecommitdiff
path: root/dexcom_reader
diff options
context:
space:
mode:
authorBen West <bewest@gmail.com>2016-03-15 15:48:16 -0700
committerBen West <bewest@gmail.com>2016-03-15 15:48:16 -0700
commit8b9ee35f1a9fd5f23306f792db37c73fe7d7ed9f (patch)
tree2fb6e03e2dd5586e3b99f484ca0e3226f2001bf7 /dexcom_reader
parentb9c31db6f8e2e7f1d92dc8fb9f6a092ec8e2e9cd (diff)
add support for WriteDisplayTimeOffset: update clock!
Allow updating clock on the receiver.
Diffstat (limited to 'dexcom_reader')
-rw-r--r--dexcom_reader/readdata.py15
1 files 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):
151 return util.ReceiverTimeToTime(struct.unpack('I', rtc)[0]) 151 return util.ReceiverTimeToTime(struct.unpack('I', rtc)[0])
152 152
153 def ReadSystemTimeOffset(self): 153 def ReadSystemTimeOffset(self):
154 rtc = self.GenericReadCommand(constants.READ_SYSTEM_TIME_OFFSET).data 154 raw = self.GenericReadCommand(constants.READ_SYSTEM_TIME_OFFSET).data
155 return datetime.timedelta(seconds=struct.unpack('i', rtc)[0]) 155 return datetime.timedelta(seconds=struct.unpack('i', raw)[0])
156 156
157 def ReadDisplayTimeOffset(self): 157 def ReadDisplayTimeOffset(self):
158 rtc = self.GenericReadCommand(constants.READ_DISPLAY_TIME_OFFSET).data 158 raw = self.GenericReadCommand(constants.READ_DISPLAY_TIME_OFFSET).data
159 return datetime.timedelta(seconds=struct.unpack('i', rtc)[0]) 159 return datetime.timedelta(seconds=struct.unpack('i', raw)[0])
160
161 def WriteDisplayTimeOffset(self, offset=None):
162 payload = struct.pack('i', offset)
163 self.WriteCommand(constants.WRITE_DISPLAY_TIME_OFFSET, payload)
164 packet = self.readpacket()
165 return dict(ACK=ord(packet.command) == constants.ACK)
166
160 167
161 def ReadDisplayTime(self): 168 def ReadDisplayTime(self):
162 return self.ReadSystemTime() + self.ReadDisplayTimeOffset() 169 return self.ReadSystemTime() + self.ReadDisplayTimeOffset()