-*- lisp -*- Some dev notes on the usb driver. DEV DOC -- USB TRANSFER TREE An attempt to make sense of the of USB requests. The idea is to compile a decoder from a description, instead of writing all by hand. There's two sides to the story. (A) getting a set of records about the device on the chip (B) generating the usb service routine I'd like to keep both as minimal as possible. Since the (A) part is just data, it should be entered in the form of s expressions. A lot of defaults could be used. Given (A), there should be enough data to perform (B). Tasks to do: Some simplifications and random implementation remarks - support only one configuration - need string management - need pluggable descriptor management (i.e. HID) - interfaces are 'virtual devices' - without bAlternateSetting, is there need for SetInterface? - string index 0 returns a list of languages see http://www.beyondlogic.org/usbnutshell/ Transfers are most easily routed by bRequest first, then divide further down. It's all pretty straightforward.