bewest/decoding-carelink

Cannot read recent glucose data

Opened this issue · 0 comments

This is an issue in which a Medtronic 722 pump responds with any data but glucose.

pi@raspberrypi:~ $ mm-send-comm.py tweak ReadCurGlucosePageNumber

do stuff with an insulin pump over RF

using Namespace(autoinit=False, begin=None, bytesPerRecord=None, command='tweak', descr=None, dryrun=False, effectTime=None, end=None, init=False, maxRecords=None, name=None, no_postlude=False, no_prelude=False, no_rf_prelude=False, other='ReadCurGlucosePageNumber', page=None, params=None, port='', postfix=None, prefix=None, prefix_path='', save=False, saveall=False, serial='524074', session_life=10, verbose=None)

{'radio': {'errors.crc': 0,
           'errors.naks': 0,
           'errors.sequence': 0,
           'errors.timeouts': 0,
           'packets.received': 0L,
           'packets.transmit': 0L},
 'usb': {'errors.crc': 0,
         'errors.naks': 0,
         'errors.sequence': 0,
         'errors.timeouts': 0,
         'packets.received': 3L,
         'packets.transmit': 3L}}

PUMP MODEL: ReadPumpModel:size[64]:data:''

<class 'decocare.commands.ReadCurGlucosePageNumber'> {}
response: ReadCurGlucosePageNumber:size[64]:data:{'isig': 32, 'page': 193L, 'glucose': 32}
hexdump:

0000   0x00 0x00 0x00 0xc1 0x00 0x20 0x00 0x20    ..... .
0008   0x00 0x20 0x00 0x20 0x00 0x00 0x00 0x00    . . ....
0010   0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ........
0018   0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ........
0020   0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ........
0028   0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ........
0030   0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ........
0038   0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ........

decoded:

{'isig': 32, 'page': 193L, 'glucose': 32}

end stats

{'radio': {'errors.crc': 0,
           'errors.naks': 0,
           'errors.sequence': 0,
           'errors.timeouts': 0,
           'packets.received': 6L,
           'packets.transmit': 2L},
 'usb': {'errors.crc': 0,
         'errors.naks': 0,
         'errors.sequence': 0,
         'errors.timeouts': 0,
         'packets.received': 11L,
         'packets.transmit': 11L}}

pi@raspberrypi:~ $ mm-send-comm.py tweak ReadGlucoseHistory --save --page 31

do stuff with an insulin pump over RF

using Namespace(autoinit=False, begin=None, bytesPerRecord=None, command='tweak', descr=None, dryrun=False, effectTime=None, end=None, init=False, maxRecords=None, name=None, no_postlude=False, no_prelude=False, no_rf_prelude=False, other='ReadGlucoseHistory', page=31, params=None, port='', postfix=None, prefix=None, prefix_path='', save=True, saveall=False, serial='524074', session_life=10, verbose=None)

CRITICAL:decocare.stick:FAILED TO DOWNLOAD ANYTHING, after 0  expected:64
ERROR:decocare.stick:ACK is zero bytes!
Traceback (most recent call last):
  File "/usr/local/bin/mm-send-comm.py", line 6, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/home/pi/src/decoding-carelink/bin/mm-send-comm.py", line 8, in <module>
    app.run(None)
  File "/home/pi/src/decoding-carelink/decocare/helpers/cli.py", line 113, in run
    self.prelude(args)
  File "/home/pi/src/decoding-carelink/decocare/helpers/cli.py", line 130, in prelude
    uart.open( )
  File "/home/pi/src/decoding-carelink/decocare/stick.py", line 874, in open
    log.info('%s' % self.product_info( ))
  File "/home/pi/src/decoding-carelink/decocare/stick.py", line 515, in product_info
    return self.query(ProductInfo)
  File "/home/pi/src/decoding-carelink/decocare/stick.py", line 509, in query
    return self.process( )
  File "/home/pi/src/decoding-carelink/decocare/stick.py", line 496, in process
    ack, response = self.command.respond(raw)
  File "/home/pi/src/decoding-carelink/decocare/stick.py", line 71, in respond
    raise AckError("ACK is 0 bytes:\n%s" % lib.hexdump(raw))
decocare.errors.AckError: ACK is 0 bytes:

pi@raspberrypi:~ $ mm-send-comm.py tweak ReadGlucoseHistory --save --page 32
## do stuff with an insulin pump over RF
using ` Namespace(autoinit=False, begin=None, bytesPerRecord=None, command='tweak', descr=None, dryrun=False, effectTime=None, end=None, init=False, maxRecords=None, name=None, no_postlude=False, no_prelude=False, no_rf_prelude=False, other='ReadGlucoseHistory', page=32, params=None, port='', postfix=None, prefix=None, prefix_path='', save=True, saveall=False, serial='524074', session_life=10, verbose=None) `
```javascript
{'radio': {'errors.crc': 0,
           'errors.naks': 0,
           'errors.sequence': 0,
           'errors.timeouts': 0,
           'packets.received': 160L,
           'packets.transmit': 2L},
 'usb': {'errors.crc': 0,
         'errors.naks': 0,
         'errors.sequence': 0,
         'errors.timeouts': 0,
         'packets.received': 16L,
         'packets.transmit': 16L}}

PUMP MODEL: ReadPumpModel:size[64]:data:'722'

<class 'decocare.commands.ReadGlucoseHistory'> {'page': 32}
CRITICAL:decocare.stick:FAILED TO DOWNLOAD ANYTHING, after 0 expected:64
ERROR:decocare.stick:ACK is zero bytes!
Traceback (most recent call last):
File "/usr/local/bin/mm-send-comm.py", line 6, in
exec(compile(open(file).read(), file, 'exec'))
File "/home/pi/src/decoding-carelink/bin/mm-send-comm.py", line 8, in
app.run(None)
File "/home/pi/src/decoding-carelink/decocare/helpers/cli.py", line 114, in run
self.main(args)
File "/home/pi/src/decoding-carelink/decocare/helpers/messages.py", line 37, in main
dryrun=args.dryrun, save=args.save, prefix=args.prefix_path)
File "/home/pi/src/decoding-carelink/decocare/helpers/cli.py", line 205, in exec_request
response = pump.query(msg, **args)
File "/home/pi/src/decoding-carelink/decocare/session.py", line 101, in query
self.execute(command)
File "/home/pi/src/decoding-carelink/decocare/session.py", line 98, in execute
return super(type(self), self).execute(command)
File "/home/pi/src/decoding-carelink/decocare/session.py", line 35, in execute
self.transfer( )
File "/home/pi/src/decoding-carelink/decocare/session.py", line 61, in transfer
return self.stick.transmit_packet(self.command)
File "/home/pi/src/decoding-carelink/decocare/stick.py", line 861, in transmit_packet
result = self.process( )
File "/home/pi/src/decoding-carelink/decocare/stick.py", line 496, in process
ack, response = self.command.respond(raw)
File "/home/pi/src/decoding-carelink/decocare/stick.py", line 411, in respond
ack, body = super(type(self), self).respond(raw)
File "/home/pi/src/decoding-carelink/decocare/stick.py", line 71, in respond
raise AckError("ACK is 0 bytes:\n%s" % lib.hexdump(raw))
decocare.errors.AckError: ACK is 0 bytes:

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/31830551-cannot-read-recent-glucose-data?utm_campaign=plugin&utm_content=tracker%2F522759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F522759&utm_medium=issues&utm_source=github).