lonetech / nolo-osvr

OSVR plugin for LYRobotix Nolo VR tracker system
Apache License 2.0
12 stars 8 forks source link

Get Headset Marker Button State #19

Open nanospork opened 7 years ago

nanospork commented 7 years ago

It would be useful to get the state of the button on the headset marker. I'm particularly thinking of users playing cockpit games, for whom it would be much easier to just press a button on their head than grab the controllers to do a yaw reset with NOFC. We don't even really need to expose it to a controller semantic path, just make sure it's accessible to other plugins.

lonetech commented 7 years ago

If I recall correctly there was no bit in the Nolo's protocol to indicate that button. The only indication I found was that the home position changes.

nanospork commented 7 years ago

Interesting, it must be handled in firmware then. Does the “home position” actually affect the position reported by this driver at all? I seem to recall nothing apparently changing when I press the button, but I could be misremembering, haven’t tested recently.

lonetech commented 7 years ago

The home position is continuously reported but only changes with recentering. Then it is simply set to the current headset position, so the current headset position remains in the same base station frame of reference always. The orientation quaternions also reset then. Yes, the Nolo does pretty much everything in firmware. The TrackerViewer doesn't by default display the home position, but it's in there as head/home I think.

nanospork commented 7 years ago

Okay cool, I’m working on some touchpad calibration stuff today anyway, so I might try to create a “virtual” button using that information.

On Sep 26, 2017, at 10:39 AM, Yann Vernier notifications@github.com wrote:

The home position is continuously reported but only changes with recentering. Then it is simply set to the current headset position, so the current headset position remains in the same base station frame of reference always. The orientation quaternions also reset then. Yes, the Nolo does pretty much everything in firmware. The TrackerViewer doesn't by default display the home position, but it's in there as head/home I think.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

nanospork commented 7 years ago

I implemented the button in https://github.com/nanospork/nolo-osvr/commit/ecfe8d7068438f085ea5bcdd742055a32cc38d65, only to realize that because Nolo does the yaw reset in firmware, a controller is still required for the use case I imagined. Still, I'm sure someone will be able to make use of it. Will close this issue when the eventual PR including this feature is merged.