[Lazarus] Decoding USB sniff data

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Fri Jun 4 12:21:52 CEST 2010


Mark Morgan Lloyd wrote:

> So to summarise: work out what class of USB device you've got, inspect 
> the Java, and then (only) if necessary use standard tools on the XML. I 
> believe that all of these are well-understood by practitioners in 
> appropriate fields (but not necessarily by me :-)

Right. So a few minutes Googling takes me to 
http://ubuntuforums.org/showthread.php?p=8439613 which implies that the 
cable has an FTDI converter 1a79:6001 [checks] which Linux 2.6.32 should 
support (older kernels might need a patch). The handheld device is 
serial hence courtesy of __j__:

-----8<-----
For what it's worth, getting results from the Contour using the serial 
connector is pretty straightforward:

    1. When you plug the meter in and press the "M" button, the device 
will send an ENQ (ASCII code 5) to signal that's it's listening.
    2. You reply with an ACK (ASCII code 6), saying "send me the next 
record."
    3. The device will send you a record. To signal you received it and 
want the next one, send another ACK.
    4. Repeat until you've exhausted all the records.

The first record you get will be a header of sorts. The next 2 are misc 
information. Everything after that are glucose measurement records (or 
control solution).
----->8-----

If in doubt put a 'scope on the interface to the handheld device, you 
might need a level converter before you can attach a standard comms 
analyzer.

So if that's correct then the app uses standard serial comms, there 
might be a driver but it's purely to support the FTDI interface. You 
could probably write one that looked very similar in Lazarus and then 
extend it for database interface or whatever tickles your fancy. Then 
tell Bayer you've done it and see if they are friendly.

BUT I would very strongly suggest not trying to change any of the 
device's settings under software control since you might screw up its 
calibration, unless you can get interfacing details.

Strictly, somebody has been naughty here since if I remember correctly 
Java's license specifically excludes its use in medical equipment 
because of safety/liability issues. Under the circumstances I think that 
you must understand that if you use Lazarus for this sort of thing any 
problems are your own.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]




More information about the Lazarus mailing list