| | | Supreme Being
       
Group: Moderated Users Last Login: 12/4/2008 1:36:50 PM Posts: 539, Visits: 1,120 |
| | The VR920 is a HID device. Once you open a handle to it, it continuously sends input report number 2. Input report 2 looks like this: Report number: byte = 2 Unknown: byte = 2 (normally), or 3 (possibly due to using the SDK at the same time, it returns a couple of reports with unknown 2, then several with unknown 3. While the unknown is 3 the vectors seem frozen) zero: byte = 0 (Don't know the purpose of this) HorizontalAccelerometer: 2 byte signed little-endian, positive means accelerating left VerticalAccelerometer: 2 byte signed little-endian, positive means accelerating up ForwardsAccelerometer: 2 byte signed little-endian, positive means accelerating forwards HorizontalCompas: 2 byte signed little-endian VerticalCompas: 2 byte signed little-endian ForwardsCompas: 2 byte signed little-endian, this seems to be permanently large, possibly due to the earphones Unknown2: byte = 33H (0x33) Surprisingly, both the accelerometer and the compas detect accelerations. The accelerometers also detect gravity. Seperating out the gravity from the accelerations is difficult. The accelerometers values corresponding to -1G and +1G are about -400 to +400. But there is a huge amount of variation between individual glasses, so they require calibration. The accelerometers max out at a bit more than 2Gs. I haven't played with the compas values yet, since I'm more familiar with accelerometers. |
| | | | Junior Member
       
Group: Forum Members Last Login: 9/20/2008 8:39:52 PM Posts: 10, Visits: 59 |
| Awesome. That certainly clears up a lot of mysteries for me.
I've never dealt with accelerometers or HID devices at all, so that's a big help. Thanks! |
| | | | Supreme Being
       
Group: Moderated Users Last Login: 12/4/2008 1:36:50 PM Posts: 539, Visits: 1,120 |
| | I've dealt with three accelerometer HID devices. The Wiimote, Nunchuk, and the Sixaxis. The VR920 was the easiest though. |
| | | | Supreme Being
       
Group: Moderated Users Last Login: 12/4/2008 1:36:50 PM Posts: 539, Visits: 1,120 |
| | When the unknown byte after the report number is 3 instead of 2, the start of the report contains different information. It looks like this: 02 03 00 01 02 01 01 01 Note that it ends halfway through the forwards acceleration. Everything starting from the second half of the forwards acceleration is a normal, valid report, except that if there are a few reports in a row with unknown=3 (like there normally is) then the last part doesn't change. The other day I said that the reports always ended with 0x33. Today they are ending with 0x37. I don't know why. |
| | | | Supreme Being
       
Group: Moderated Users Last Login: 12/4/2008 1:36:50 PM Posts: 539, Visits: 1,120 |
| | Today reports are ending with 0x3B. |
| | | | Junior Member
       
Group: Forum Members Last Login: 9/20/2008 8:39:52 PM Posts: 10, Visits: 59 |
| That's odd. I don't think I've encountered that. But I guess I stopped looking at the raw numbers a while ago.
In other news: I got stereo 3D working. That was much easier. XD
And by that I mean that my driver just sends left eye/right eye commands like the real SDK does. That also means that it doesn't work in any game that's not designed to use it. It's pretty easy to add the feature into a lot of open source 3D games, I think, but to work with other things you'd need to use an LD_PRELOAD library that overrides stuff in libGL.so to mess with the perspective. Something like that VRizer library did to get anaglyph 3D stereo out of most Linux games. Sadly that library is closed source and not updated anymore, so I don't have anything to go off of except for an idea of how it must be done.
It needs more work, without a doubt, but in the meantime, I'm going to go play GLTron in 3D. :] |
| | | | Supreme Being
       
Group: Forum Members Last Login: 8/10/2011 11:02:00 PM Posts: 117, Visits: 310 |
| | does stereo for vr920 work in linux? |
| | | | Forum Newbie
       
Group: Forum Members Last Login: 10/13/2009 5:51:26 PM Posts: 6, Visits: 17 |
| Could the tracking be remapped to, say, the mouse?
And how much processing power does it take to track?
I'm building a wearable computer and I want to use thisas its primary display, and it runs pretty slow.
--------------------
Trenchcoat computer in the works, ala Snow Crash |
| | | | Junior Member
       
Group: Forum Members Last Login: 9/20/2008 8:39:52 PM Posts: 10, Visits: 59 |
| TheMaker (8/29/2008) Could the tracking be remapped to, say, the mouse?
And how much processing power does it take to track?
I'm building a wearable computer and I want to use thisas its primary display, and it runs pretty slow.
Hi. I haven't been working on the driver for quite a while, and I apparently have to contact the company to even update my firmware because it's so old now, so my driver is probably too old to run with the latest version of the headset.
By remapping it to a mouse, do you mean just like a simulated mouse in X11? I'm pretty sure that could be done. I don't know about actually creating a fake mouse device, though. |
| | | | Forum Newbie
       
Group: Forum Members Last Login: 9/4/2008 3:36:35 PM Posts: 1, Visits: 5 |
| I'm sorry if I missed the thread but you're talking mostly about getting the head tracker to work with Linux. I'm curious about getting the displays to work with Linux, tech support says there are no drivers for the displays in Linux. Has anyone come up with some?
Thanks in advance |
| |
|
|