Open nanospork opened 7 years ago
I'm planning to work on the OSVR-Fusion update, but we will need an update to Nolo-OSVR first. I can work on the SteamVR-OSVR update if nobody else is available.
I'm looking through the nolo-osvr plugin. Is there some documentation for the new NOLO firmware?
I spent yesterday pulling together all I need to rebuild NOFC, including all the dependencies and the SDK, and I can build working software from the current code. I'm willing to work on the nolo-osvr driver if no one else has spoken up for it. I'm assuming the additional angular velocity information in the data coming from the firmware is documented somewhere, but maybe not?
My motivation in this is purely so that throwing grenades works better in DoomVFR ....
Nevermind - I think I've got what I needed from the NOLO Windows SDK...
Note to readers: This item is being discussed at https://github.com/nanospork/nolo-osvr/pull/2
Update: The necessary changes for velocity reporting have been made in https://github.com/nanospork/NOFC/pull/6 for nolo-osvr and in https://github.com/nanospork/steamvr-osvr/tree/controller-integration for SteamVR-OSVR.
Using the draft v0.3 config, velocity reporting works. It's not 100% reliable, but I think this is a Nolo hardware limitation.
Work remains on OSVR-Fusion, which is bypassed in the above config due to a bug that is preventing the velocity data from OSVR-Fusion from reaching SteamVR intact. I haven't discovered the root of this bug - help is wanted. If anyone can review the OSVR-Fusion code, I'd appreciate any findings.
I had a eureka moment: I think this bug is a result of line 134 here. Since the v0.3 config doesn't use timestamps, it hasn't been sending the velocity. Simply setting the config to use timestamps should fix the issue!
Looks like Fusion still needs an update to rotate the coordinate system of the controllers - right now they are throwing in the opposite direction when you apply the 180-flip, but other than that, it works!
Also, the velocities seem a little... weak. I wonder if there is a units issue somewhere.
Implemented an update to fusion that fixes the velocities when the 180 flip is in effect. We're nearly there.
Context
Velocity reporting enables VR games and applications to understand how fast a user's controllers are moving. This allows users to, for example, throw objects. It is also important for smooth, low-latency representation of controller motion.
The recent update to NOLO firmware version 2.0 (and 2.1?) added velocity reporting to the NOLO controller hardware.
Objectives
Tasking