
The Accelerometer documentation ( ) states there are 819 counts/g The accelerometer data is stored in two byte pairs for x,y, and z: The 9th byte (buf) yields the following status codes: The joint state information is grouped in with the accelerometer data and is stored in the 1st, 8th and 9th byte of the return from: Where the led_options are enumerated as follows: The joint position can be set by sending:Ġx40 0x31 2*desired_angle_degrees 0x0 empty 0

The joint range of the Kinect motor is +31 degrees (up) and -31 degrees (down). Sending a vendor-specific setup packet write request (0x02) with a request of 0x01 and zeros for the value, index, and length resulted in the Motor device immediately disconnecting from the USB port, effectively resetting it. Sending a vendor-specific setup packet write request (0x02) with a request of 0x00 and zeros for the value, index, and length resulted in (need to double check but it was a no-op, as opposed to an error) This might indicate the current position of the motor as 0x80 is the middle of possible values (0x00 to 0xFF) and would be a good initial position for the motor. Sending a vendor-specific setup packet read request (0xC2) with zeros for the request, value, and index and 0x02 for the length returns 0x80. The Motor has only a single control endpoint on 0x00. After the driver for the Motor is installed/activated, Kinect displays a flashing green light and the other devices connect to the internal USB hub. It also seems to control power to the rest of the Kinect devices. The Motor device controls the actual motor for tilting/panning the Kinect. Until analysis is done on the USB protocol exchange between the Xbox and Kinect, controlling or getting data from Kinect is likely not possible. There were a few interesting bits, documented below. He attempted to send vendor-type setup packets with various values for other parameters but it was mostly non-productive. Josh was able to send standard USB requests and get appropriate responses from all three devices.
Usb pnp audio device driver for unix drivers#
It appears that starting the Motor device also controls power to the rest of Kinect.Īfter the Audio and Camera devices were powered on, Josh also generated boilerplate drivers for them. At this point it is waiting for the Xbox to boot up and probably for a handshake protocol or other command to activate the devices.

The flashing green light is consistent with the standard Kinect startup process. The Xbox NUI Audio and Xbox NUI Camera devices became available on the USB hub (also with no drivers initially).The Kinect device started flashing green on the indicator light.When he generated and installed the driver for the Xbox NUI Motor, the following happened:

Josh Blake tested creating boilerplate drivers using a Jungo WinDriver USB trial. At this point, the Kinect still looks to be powered off. The Motor obviously does not have drivers, so the PnP configuration fails and the device is not started.

Usb pnp audio device driver for unix Pc#
When you plug the Kinect to a PC running Windows, it finds the Generic USB Hub and the Xbox NUI Motor. This indicates that using it as a plug-and-play webcam or microphone is probably not possible. The devices do not conform to any standard USB class such as HID, camera, or audio devices. Kinect has the following USB devices connected through its USB cable:
