On Fri, Jul 8, 2011 at 6:09 AM, Oli Glaser wrote: > Hi all, > > I am starting on the final version of some firmware, which is based on > previous tests while prototyping. > > The tests were all hacked together quickly in previous versions of the > MC app library, using one of the demos and changing it. > Now I noticed there is a very recent release of the MC applications > libs, so I grabbed it and intend to use this to keep things as up to > date as possible. > Previously I have used the MC generic driver, as the device does not fit > into any categories. As far as the USB part is concerned, it is just > shuffling data from the device to the PC at ~1K-100KBps using bulk > transfer. > > To get to the point, I would like to know which driver folk would advise > using - the MC generic, LibUSB or WinUSB? Microchip now recommends to use WinUSB to replace Microchip Generic USB Driver. Read this. C:\Microchip Solutions v2011-06-02\USB\Tools\MCHPUSB Custom Driver\Mpusbapi\README for MPUSBAPI 6.0.0.0.htm Unless you want to support those OS WinUSB does not support (like Windows 2k, XP 64bit, Windows 2003 32bit/64bit), you should use WinUSB instead of Microchip Generic USB driver. On the other hand, libusb-win32 is the most powerful among the three. It supports those OS WinUSB does not support and it does not have some limitations of WinUSB. WinUSB cannot be used to send an actual reset command to an USB device. WinUSB cannot be used to set a device configuration that is different from the default one. WinUSB does not support multiple concurrent applications (as per the WinUSB Howto whitepaper). WinUSB does not support isochronous transfers. libusb-win32 (libusb0.sys and libusb0.dll) supports all the above. > Note - For the PC side I am using C#, and have ported the dll from the > Borland C++ example. So how easy it is to use with C# on the PC side is > also a small concern - any ready rolled C# code to go with either of the > other two if I change would be great. Time is pressing so I don't want > to spend much of it fiddling/tweaking/learning new stuff, so more is > available to get on with the main task. > I recommend you to look at libusbdotnet, the author of libusbdotnet is Travis Robinson, he and I are the current admins of libusb-win32 project. He is the developer and I am in the testing and supporting role. http://sourceforge.net/projects/libusbdotnet/ If you use libusbdotnet, you can choose to use libusb-win32 device driver or WinUSB device driver since it supports both. --=20 Xiaofan --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .