I need a class that I can call from a C# application and access public methods to send and receive a 64byte array to a specific USB device. This class must also have a public method to change the device it is communicating with on the fly, so I can send 64bytes to device A, then receive 64bytes from device A, then switch to device B, and send/receive 64bytes from device B, and then back to device A.
This must use the WinUSB dll that is standard in Vista and portable to XP.
Complete working code for interface with a generic Microchip dll is provided, as well as any device specific information that is needed. The microchip dll does not work in Vista, so we are in need of a generic driver for Vista and XP.
Needed as soon as possible. I dont care if you write it in unsafe code or wrapped C++ code, as long as I can access it easily from a C# application. I will add this class (*.cs) to my project and use it that way. Please email for more details.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Must compile into a Visual Studio 2005 C# project and detect and communicate with a device on both XP and Vista.