I find myself wanting to write some code to talk to a USB device. sys/dev/usb/ probably has a significant amount of code I can leverage, but I find myself lacking understanding of important concepts (for example, what exactly is an endpoint and what can it do?).
I've spent a morning noodling around the Web to the limited extent I can (the Web, especially today's Web, is difficult and unpleasant for me to use) and have found only two kinds of documentation: stuff that's way too high level to be useful to me (the sort of thing designed for someone who doesn't know what an ohm or a byte really is) and stuff that way too low level to be useful to me (eg, here's the pinout of this flavour of connector). I'm looking for things like what an endpoint is, what kinds of transfers exist, what on-wire overhead data structures look like, that kind of stuff. The most immediate desire would be for how to use the code in sys/dev/usb/, but to use a "issue a transfer" call properly, for example, calls for an understanding of what a transfer is, what it means to set one up, and what else needs to be set up in order for it to happen. Other doc would be of interest, though; I've found that understanding things at every level tends to end up being useful even when not working directly at those levels. Anyone got any pointers? /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML [email protected] / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
