[Haskell-cafe] USB Drivers in Haskell

Jason Dagit dagit at eecs.oregonstate.edu
Thu Aug 24 23:02:56 EDT 2006


Hello,

I recently became the owner a USB gadget that tracks movement via GPS
and also tracks heart rate (it's a training device for athletes).
This device comes with software that is windows only and...doesn't
like up to it's potential (to put it politely).  Being a programmer
type and someone that prefers to use either linux or osx I quickly
realized I should write my own software to use the gadget.
Fortunately, the company that makes the device provides documentation
to write drivers for the device (including a minimal example USB
driver for win32).

So then I looked around the net for a few open source things, such as
open source drivers for the device or a Haskell library to help me
start writing drivers for the gadget.  I didn't see anything relevant
after a few minutes of searching so I figure that means there isn't
much.

Did I miss a Haskell library for writing device drivers, specifically
USB drivers?  Would this be hard to write?  I would prefer to support
osx and linux at a minimum and I think it would be ideal to shoot for
cross platform (win32, osx, linux and *bsd).  I have this feeling that
it could be done by writing platform specific wrappers using hsc2hs on
each platform then bringing them together through a unified 'low'
level Haskell api.  The Haskell api would then be exposed as a module
for application developers.

Any thoughts?

For the interested, the documentation I spoke of can be found here:
http://www.garmin.com/support/commProtocol.html

Thanks,
Jason


More information about the Haskell-Cafe mailing list