Commit graph

115 commits

Author SHA1 Message Date
Jan Schmidt 0cf7b4a9b3 d/wmr: Add render distortion configuration
Take the parameters from the headset configuration and the existing
render FoV, and use them to instantiate a distortion mesh.

TODO: Reverse the distortion in order to calculate good FoV range
that covers the full view for each headset.
2021-06-26 03:52:23 +10:00
Jan Schmidt f663727b07 d/wmr: Add some groundwork for config parsing.
Sketch out some groundwork for parsing WMR config blocks,
using some hard-coded values from my headset for now. Later,
this will be parsed from the headset JSON blob.
2021-06-26 03:52:16 +10:00
Ryan Pavlik 348b7dff3a d/wmr: fix doxygen warning 2021-05-04 11:21:46 -05:00
Ryan Pavlik 4ef5b65487 d/wmr: Fix typo 2021-04-30 17:57:50 -05:00
Jakob Bornecrantz daccde940e d/wmr: Fix accel axis conversion 2021-04-28 23:26:09 +00:00
Jakob Bornecrantz 8277df418d xrt: Make eye_relation argument to xrt_device_get_view_pose const (NFC) 2021-04-27 01:44:13 +01:00
Ryan Pavlik e44c6d56c7 d/wmr: Port to u_device_get_view_pose 2021-04-26 22:38:42 +00:00
Jakob Bornecrantz 1ef79820e6 d/wmr: Clarify struct layout (NFC) 2021-04-23 22:48:56 +01:00
Jakob Bornecrantz 0807ce6ddd d/wmr: Only take the lock once per received packet 2021-04-23 22:47:40 +01:00
Jakob Bornecrantz 13d127035b d/wmr: Remove raw_accel and raw_gyro fields (NFC) 2021-04-23 19:06:05 +01:00
Jakob Bornecrantz 1b4b180e61 d/wmr: Do prediction when returning poses 2021-04-23 18:24:13 +01:00
Jakob Bornecrantz a41a869c71 d/wmr: Rename variables and tidy code (NFC) 2021-04-23 14:50:58 +01:00
Christoph Haag 2b70189b45 d/wmr: log at least one space in trace log
Fixes warnings

../src/xrt/drivers/wmr/wmr_hmd.c:83:16: warning: zero-length gnu_printf format string [-Wformat-zero-length]
   83 |  WMR_TRACE(wh, "");
      |                ^~
2021-04-22 02:41:48 +02:00
Jan Schmidt bc4661aa48 wmr: Don't start reading thread until setup is complete.
Make sure the headset struct is fully configured before
starting the reading thread, otherwise we can get a crash if an
IMU update arrives for processing before the 3dof fusion is
ready.
2021-04-22 03:39:16 +10:00
nima01 027ce21bd5 d/wmr: Initial 3DoF WinMR driver
Only supports HP Reverb G1 and G2 for now.

Squash of the following commits:

Initial boilerplate code for HP Reverb G1 driver implementation
Detect and open MS HoloLens Sensors interface
Power up HMD display when headset is detected, and som general code cleanup
Add Reverb G2 PID
reverb_g1: Fix defines
reverb_g1: Run clang format
wmr: Rename Reverb G1 driver to WMR driver
d/wmr: Code style
d/wmr: Flesh out driver a bit more
d/wmr: Code style
Add basic 3dof rotational tracking
d/wmr: Code style
d/wmr: More tidy
xrt: Remove XRT_DEVICE_REVERB_G1
d/wmr: Even more tidy
d/wmr: Changes for Reverb G2
d/wmr: Fixes since last commit
wmr: Fix the meson build and auto-enable the driver
d/wmr: Sleep for compositor to get modes
d/wmr: Use os_hid for control device
d/wmr: Remove hidapi as a dependancy
d/wmr: Move sensor reading to own thread and fix locking
d/wmr: Read from control device and handle more unknown messages
d/wmr: Decode IPD value from control device
d/wmr: Remove all left over dummy driver fields

Co-author: nima01 <nima_zero_one@protonmail.com>
Co-author: Jakob Bornecrantz <jakob@collabora.com>
Co-author: Jan Schmidt <jan@centricular.com>
2021-04-19 13:33:01 +00:00