Philip Pemberton wrote: > Hi, > Before I go reinventing another wheel, has anyone modified the > Microchip USB framework to read the device serial number string from > the data EEPROM instead of program memory? Our USBProg PIC programmer maintains a ID string in EEPROM, but it is not based on the Microchip USB framework. We have created our own USB firmware and accompanying Windows device driver so that someone can easily create a new USB device and communicate with it from a PC via a bi-directional stream of bytes at the app level. We've added some private communication between the driver and the device over endpoint 0 that includes getting the ID string from the device and saving it in the driver. This allows a application to select a particular device from multiple identical devices plugged into the USB. It also allows the app to enumerate all the compatible devices on the USB. A device can be enumerated and its ID found regardless of whether another application is talking to it, although only one app can use a particluar device at a time. The firmare is configurable from two include files. One defines the endpoints in use, their data transfer type, and size of their buffers. The other provides all the static enumeration data. The two runtime modules are then configured automatically from the include file data at assembly time. We plan on making this firmware/driver/software available for free for non-commercial use and charge $1000 per VID/PID combination for commercial use. The USBProg PIC programmer is built on this framework. The firmware/software exist now, but hasn't been packaged up all nice yet. So is this for personal use or for a commercial product? ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist