Christopher Head wrote: > Actually, I wanted to add one other (potentially more serious, but also > maybe weirder) comment: our primary complaint is that we only have USB > ports to work with. I don't see why that is a complaint. USB is a lot more complicated for device designers, but it is really easy for end users. > doesn't the USB > specification require that a particular USB port can have its power > switched on or off under software control? No. > Why not use the USB +5V supply line as a twiddle pin? The USB spec describes how much current the device is allowed to draw, and what voltage and current the host is obligated to provide under various circumstances. The host is never required to limit current. A host could connect the USB power directly to the output of a 5V 200A electroplating supply and be compliant. But even if you could, creating another piece of hardware that uses a port in a non-standard way is a bad idea. Look at all the frustration crappy PIC programmers that cut corners have caused. We see posts here and on the Microchip forums often about problems with el-cheapo programmers that try to use the parallel or serial port voltages directly. $35 for a PicKit2 is a good deal even for budget minded hobbyists. They cut some corners to make it cheap, but it does work most of the time. My USBProg (http://www.embedinc.com/products/eusb2) is only $80. It "just works" by not cutting corners and keeping the voltages and timing within spec. $80 is a good deal for professional applications. So why do you want to create your own programmer that does something sleazy with the USB? At best you're a hobbyist and you save $30 in return for a lot development and debugging time and frustration. If you're a professional and can spend your time doing billable work, $80 if far cheaper than even a sleazy programmer you could design, build, and debug on your own. > It would need a kernel-mode driver, To save $30!!? (even if it did work that way). > I thought you had to enable power to only one port at a > time in order to give a device an address before bringing another > unconfigured device onto the bus. No, it doesn't work that way. If you're going to discuss USB at this level, you really should read the spec first. ******************************************************************** 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