Tuesday, January 10, 2006

USB Access Library

I downloaded the #USBlib from icsharpcode. Unfortunately the library was not complete enough for my intends and purposes. After browsing through the icsharpcode forums I realized there are more than a few people that would have liked the #USBlib to be a bit more complete.

I decided to complete the #USBlib library to a point where I will be able to use it to communicate with my Motorola cell phone. Unfortunately Mike Krueger decided that all his classes will be marked as internal and not public making my attempt to only extend his existing classes impossible but he did make the source code available.

I copied his code as is into a new assembly and started with extension classes. I did not want to change code on the existing #USBlib classes but again there were some incompatibilities which I had to deal with in the current source code but I kept the changes to a minimum.

I implemented the classes needed to be able to control the USB device according to the USB documentation e.g.So to be able to read and write information to and from the USB device you will need the Device object. The Device object will have a Configuration object. The Configuration object will have an Interface object and the Interface object will be able to create a USBStream to read and write from.

The library is complete enough to play around with, but it still needs some refinement and it needs a help file explaining all the classes.

I have the following files available for download:
Some limitations and dependencies:
  • You will need to install the libusb-Win32 library
  • The current version only works with Framework 2.0 and the Win32 DLL

No comments: