Hi Mike, mike stone wrote: > > > iInterface 1 Wintracker III > > > > Please explain what the device will do? > > Hi Peter, > > The device is a 6DOF magnetic tracker for virtual reality.
For tracking human movement? Then it most certainly is a human interface device, and I guess you have spent a lot of time trying to figure out the HID class spec (I can't do it :) in order to create fitting descriptors. Well done. > We choose 320C6747 because tracker need to do lot of calculations > and c6747 has USB device function. Yes, I think it makes a lot of sense! > The BIOS USB package comes with demo of HID device(keyboard , > mouse). One important point is that the device is very different from a keyboard or mouse, so the HID descriptors need to be tailor made. > Our device work fine on Windows and we do not need to write drvier > for it. Hm, can you clarify how you use the device on Windows? Does it appear as a joystick that works with the joystick APIs, or are you using another API? This is important to better understand the capabilities of the operating system. > Some programs on internet can exchange data with HID device. When > we created and tested the device on windows, it seems not difficult. Because of historical reasons, on Windows it is trivial to access HID class devices very similar to how a serial port works - but that is not a good use of USB, and relying on this behavior means that it is very difficult to ever use the device with anything other than Windows. This may or may not be important to you, but I guess that it is at least a little important since you're looking at cross-platform libraries such as libhid. The question is if HID is the best choice for the device class. I think it will depend largely on the support for this type of device in the relevant operating systems. > The device send 24bytes * 100 data to PC per second and receive > control commands from PC if user want to do configuration. In any case I would then suggest using a separate interface in the USB configuration for the user configuration commands, or simpler, using vendor specific control transfers to endpoint 0. I would strongly recommend you to write the firmware in a way that the device is usable also without receiving any configuration commands from the user, or users who have a system with a working HID class driver but without the control software may be frustrated because they can not use the device. (Maybe with applications that you did not plan for.) //Peter _______________________________________________ libhid-discuss mailing list libhid-discuss@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/libhid-discuss http://libhid.alioth.debian.org/