history Module
This module provides some basic helper/formatting utilities,
specifically targeted at decoding ReadHistoryData data.
-
class decocare.history.BasalProfileStart(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 3
-
decode()[source]
-
opcode = 123
-
class decocare.history.Battery(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 26
-
class decocare.history.BigBolusWizardChange(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 143
-
opcode = 90
-
class decocare.history.ChangeBasalProfile_new_profile(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 145
-
decode()[source]
-
opcode = 9
-
class decocare.history.ChangeBasalProfile_old_profile(head, larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 145
-
decode()[source]
-
opcode = 8
-
class decocare.history.ChangeRemoteID(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 39
-
class decocare.history.ChangeTime(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 23
-
class decocare.history.ChangeTimeDisplay(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 100
-
class decocare.history.ChangeUtility(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 99
-
class decocare.history.ClearAlarm(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 12
-
class decocare.history.EnableDisableRemote(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 14
-
opcode = 38
-
class decocare.history.HistoryPage(raw)[source]
Bases: decocare.history.PagedData
-
clean(data)[source]
-
decode(larger=False)[source]
-
class decocare.history.Ian0B(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
head_length = 3
-
opcode = 11
-
class decocare.history.Ian3F(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 3
-
opcode = 63
-
class decocare.history.Ian50(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 34
-
opcode = 80
-
class decocare.history.Ian54(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 57
-
opcode = 84
-
class decocare.history.Ian69(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 2
-
opcode = 105
-
class decocare.history.IanA8(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
head_length = 10
-
opcode = 168
-
class decocare.history.LowBattery(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 25
-
class decocare.history.LowReservoir(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
>>> rec = LowReservoir( LowReservoir._test_1[:2] )
>>> decoded = rec.parse(LowReservoir._test_1)
>>> print str(rec)
LowReservoir 2012-12-07T11:02:43 head[2], body[0] op[0x34]
>>> print pformat(decoded)
{'amount': 20.0}
-
decode()[source]
-
opcode = 52
-
class decocare.history.MResultTotals(head, larger=False)[source]
Bases: decocare.records.base.InvalidRecord
On 722 this seems like two records.
-
date_length = 2
-
date_str()[source]
-
head_length = 5
-
opcode = 7
-
parse_time()[source]
-
class decocare.history.Model522ResultTotals(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 40
-
date_length = 2
-
date_str()[source]
-
head_length = 1
-
opcode = 109
-
parse_time()[source]
-
class decocare.history.NewTimeSet(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 24
-
class decocare.history.NoDelivery(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
head_length = 4
-
opcode = 6
-
class decocare.history.OldBolusWizardChange(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 117
-
opcode = 90
-
class decocare.history.PagedData(raw)[source]
Bases: object
PagedData - context for parsing a page of cgm data.
-
clean(data)[source]
-
eat_nulls(data)[source]
-
class decocare.history.PumpResume(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 31
-
class decocare.history.PumpSuspend(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 30
-
class decocare.history.Rewind(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 33
-
class decocare.history.Sara6E(head, larger=False)[source]
Bases: decocare.history.Model522ResultTotals
Seems specific to 722?
-
body_length = 48
-
opcode = 110
-
class decocare.history.SelectBasalProfile(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
opcode = 20
-
class decocare.history.TempBasal(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
body_length = 1
-
decode()[source]
-
opcode = 51
-
class decocare.history.TempBasalDuration(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.KnownRecord
-
decode()[source]
-
opcode = 22
-
decocare.history.decode_remote_id(msg)[source]
practice decoding some remote ids:
0x27
0x01 0xe2 0x40
0x03 0x42 0x2a
0x28 0x0c 0x89
0x92 0x00 0x00 0x00
>>> decode_remote_id(_remote_ids[0])
'123456'
>>> decode_remote_id(_remote_ids[1])
'213546'
>>> decode_remote_id(_remote_ids[2])
'821650'
-
decocare.history.describe()[source]
-
decocare.history.describe_rate(offset, rate, q)[source]
-
class decocare.history.old6c(head=bytearray(b''), larger=False)[source]
Bases: decocare.records.base.InvalidRecord
-
body_length = 38
-
opcode = 108
-
decocare.history.parse_record(fd, head=bytearray(b''), larger=False)[source]
Given a file-like object, and the head of a record, parse the rest
of the record.
Look up the type of record, read in just enough data to parse it,
return the result.
-
decocare.history.suggest(head, larger=False)[source]
Look in the known table of commands to find a suitable record type
for this opcode.
-
decocare.history.unmask_m_midnight(data)[source]
Extract date values from a series of bytes.
Always returns tuple given a bytearray of at least 3 bytes.
Returns 6-tuple of scalar values year, month, day, hours, minutes,
seconds.