From b272773cfb967007a93a58f93cda038d56b9df54 Mon Sep 17 00:00:00 2001 From: Nathan Racklyeft Date: Sat, 3 Oct 2015 00:54:11 -0700 Subject: Adding support for G5 EGVRecord sizes --- dexcom_reader/database_records.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dexcom_reader/database_records.py b/dexcom_reader/database_records.py index 6d5b37b..3788cd5 100644 --- a/dexcom_reader/database_records.py +++ b/dexcom_reader/database_records.py @@ -278,7 +278,7 @@ class EGVRecord(GenericTimestampedRecord): # uint, uint, ushort, byte, ushort # (system_seconds, display_seconds, glucose, trend_arrow, crc) FIELDS = ['glucose', 'trend_arrow'] - FORMAT = '<2IHcH' + FORMAT = '<2IHBBBBBBBBBcBH' @property def full_glucose(self): @@ -286,7 +286,7 @@ class EGVRecord(GenericTimestampedRecord): @property def full_trend(self): - return self.data[3] + return self.data[12] @property def display_only(self): -- cgit v1.2.3 From d6941e6283ee8d9e33ffefea6a76eb4d29348d5b Mon Sep 17 00:00:00 2001 From: Nathan Racklyeft Date: Sun, 18 Oct 2015 21:36:59 -0700 Subject: Adjusting size of Meter and Insertion record data --- dexcom_reader/database_records.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dexcom_reader/database_records.py b/dexcom_reader/database_records.py index 3788cd5..bd0178a 100644 --- a/dexcom_reader/database_records.py +++ b/dexcom_reader/database_records.py @@ -91,7 +91,7 @@ class GenericXMLRecord(GenericTimestampedRecord): class InsertionRecord(GenericTimestampedRecord): FIELDS = ['insertion_time', 'session_state'] - FORMAT = '<3IcH' + FORMAT = '<3Ic10BH' @property def insertion_time(self): @@ -205,7 +205,7 @@ class SubCal (GenericTimestampedRecord): return util.ReceiverTimeToTime(self.data[3]) class MeterRecord(GenericTimestampedRecord): - FORMAT = '<2IHIH' + FORMAT = '<2IHI5BH' FIELDS = ['meter_glucose', 'meter_time' ] @property -- cgit v1.2.3 From 30bd94ce14588b9bb73e6893d00f049b5502978a Mon Sep 17 00:00:00 2001 From: Nathan Racklyeft Date: Sun, 18 Oct 2015 21:44:16 -0700 Subject: Adding additional insertion record states --- dexcom_reader/database_records.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dexcom_reader/database_records.py b/dexcom_reader/database_records.py index bd0178a..3812573 100644 --- a/dexcom_reader/database_records.py +++ b/dexcom_reader/database_records.py @@ -103,7 +103,9 @@ class InsertionRecord(GenericTimestampedRecord): def session_state(self): states = [None, 'REMOVED', 'EXPIRED', 'RESIDUAL_DEVIATION', 'COUNTS_DEVIATION', 'SECOND_SESSION', 'OFF_TIME_LOSS', - 'STARTED', 'BAD_TRANSMITTER', 'MANUFACTURING_MODE'] + 'STARTED', 'BAD_TRANSMITTER', 'MANUFACTURING_MODE', + 'UNKNOWN1', 'UNKNOWN2', 'UNKNOWN3', 'UNKNOWN4', 'UNKNOWN5', + 'UNKNOWN6', 'UNKNOWN7', 'UNKNOWN8'] return states[ord(self.data[3])] def __repr__(self): -- cgit v1.2.3 From ea9d852533facf323f251196821c7346e743074c Mon Sep 17 00:00:00 2001 From: Ben West Date: Sat, 28 May 2016 12:30:03 -0700 Subject: attempt unifying G5 support, legacy cals Try throwing in compatibility layer, if a bit hacky, for everything. --- dexcom_reader/database_records.py | 26 ++++++++++++++++++++++---- dexcom_reader/readdata.py | 26 ++++++++++++++++++++++---- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/dexcom_reader/database_records.py b/dexcom_reader/database_records.py index 3812573..9274d24 100644 --- a/dexcom_reader/database_records.py +++ b/dexcom_reader/database_records.py @@ -91,7 +91,7 @@ class GenericXMLRecord(GenericTimestampedRecord): class InsertionRecord(GenericTimestampedRecord): FIELDS = ['insertion_time', 'session_state'] - FORMAT = '<3Ic10BH' + FORMAT = '<3IcH' @property def insertion_time(self): @@ -111,6 +111,8 @@ class InsertionRecord(GenericTimestampedRecord): def __repr__(self): return '%s: state=%s' % (self.display_time, self.session_state) +class G5InsertionRecord (InsertionRecord): + FORMAT = '<3Ic10BH' class Calibration(GenericTimestampedRecord): FORMAT = '<2Iddd3cdb' @@ -184,6 +186,12 @@ class Calibration(GenericTimestampedRecord): def crc(self): return struct.unpack('H', self.raw_data[-2:])[0] +class LegacyCalibration (Calibration): + @classmethod + def _ClassSize(cls): + + return cls.LEGACY_SIZE + class SubCal (GenericTimestampedRecord): FORMAT = '