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.