The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Reverse Engineering a Medical Device

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
Reverse Engineering a Medical Device Posted: Oct 28, 2006 10:18 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: Reverse Engineering a Medical Device
Feed Title: Michael Lucas-Smith
Feed URL: http://www.michaellucassmith.com/site.atom
Feed Description: Smalltalk and my misinterpretations of life
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Michael Lucas-Smith

Advertisement

Just out of curiosity - and to see if it would be easy or hard, I decided to reverse engineer the protocol of my Optium Xceed Blood Glocuse Monitor. The device has a funky connector that links up to serial. There is a piece of software for it called Precision Link. There have been, to my knowledge, no publications of the protocol.

Mind you - I've not tried to contact the people that make the device, but I did a serial sniff on the device and discovered it used basic ASCII control characters to do its own flow control, it has a basic checksum value which I hadn't deciphered yet and had commands such as "ID" and "GET_EVENTS". (Who knows if it has a HELP command or not - I've not actually talked to the device myself yet).

Once I knew some of the commands running back and forth, I was able to google for them and found a forum and then webpage by the same people as in the forum discussing their reverse engineering efforts to date:

http://www.lnv.pwp.blueyonder.co.uk/xceed/

I wasn't too far behind them. They'd figured out the checksum and all the control codes and how they're used. They'd also dissected most of the fields. They had several 'mystery' values though and I was able to identify the 'overflow' value in one of their mystery fields.

This led me to realise that the 'type' of 04 was a Ketone check on the device. For a regular blood glucose test, the value is printed in mg/dl - literally ascii printed. This was obviously very easy to reverse engineer. (To convert mg/dl into mmol/L you divide by 18). However, so far the Ketone values are a bit of a mystery. This is them - please comment if you can decipher their format:

  • A Ketone reading of 0 equals 0x30 0x30 0x30 0x30 0x30
  • A Ketone reading of 0.1 equals 0x30 0x30 0x30 0x30 0x31
  • A Ketone reading of 0.2 equals 0x30 0x30 0x30 0x30 0x34
  • A Ketone reading of 0.4 equals 0x30 0x30 0x30 0x30 0x38
  • A Ketone reading of 2.5 equals 0x30 0x30 0x30 0x34 0x35

It's difficult to acquire more samples of the format, as having ketones means -you're on your way to going in to a coma!-. As a result, I personally don't intend to be able to get any more ketone readings. The bizarre thing about this format is the 0x35 for 2.5 - every other value could almost fit with BCD.. but this one doesn't.

Any help would be appreciated.

Read: Reverse Engineering a Medical Device

Topic: Batch rename refactoring for IntelliJ IDEA Previous Topic   Next Topic Topic: Big Agile Up Front

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use