We could write this up, but we have basically no clue what the fuck's going on with it. So we won't.
Well, we will a bit. These instructions, published by Adafruit Industries, show you how to "reverse engineering the Xbox Kinect Motor" by doing something far cleverer than we could probably ever do with with the motion sensor's USB port.
Endpoints are a type of USB 'data pipe' - there are 4 kinds:
- Bulk Endpoints are for transferring a lot of data, like a disk drive. It's OK if it takes a little longer but we want big packets. This endpoint goes only in one direction (so to read and write you'd want two)
- Interrupt Endpoints are for transferring tiny amounts of data very quickly, like for a USB mouse. In this case, the device has to be responsive so we want fast movement. This endpoint goes only in one direction
- Isochronous Endpoints are for transferring a fair amount of data where the data must show up at the same time and if it can't it should just be dropped. This is for stuff like Audio and Video where timing is key. This endpoint goes only in one direction (so bidirectional audio for headphone and mic would have two EPs)
- Control Endpoints are this weird not-quite-an-Endpoint Endpoint. They are used to transfer small amounts of data to say turn a device on or off. They're very 'cheap' to develop, and every device has one even if its not mentioned.
Yeah? Now go make some robots. Thanks, Engadget.