Christoph Haag
b073e3dfb9
xrt: Add support for assigned device roles
...
Abandons the assumption that in oxr_system.xdevs[], index 0 is HMD,
1 is left controller, 2 is right controller.
Now to represent the dynamically assigned roles, oxr_system.role contains
the index for a device in oxr_system.xdevs[] for head, left and right.
This role assignment happens on the client side and currently can not be updated
from the server side.
Also adds an enum that device drivers set indicating allowed assignments
(many controllers are physically designed to be held in a specific hand).
This also adds support for configurations with only a HMD and a right controller.
2020-07-13 18:03:01 +02:00
Christoph Haag
5788fb90a2
drivers: Add rotation/position tracking bool to xdev
...
xrGetSystemProperties() will return these values to application in XrSystemTrackingProperties
using the xdev assigned to head.
2020-07-13 18:03:01 +02:00
Ryan Pavlik
bc6cc85e7d
xrt: Improve doxygen documentation.
2020-06-03 16:28:18 -05:00
Jakob Bornecrantz
e37d8f4cf5
xrt: Remove timestate from xrt_device interface
2020-04-16 17:29:34 +01:00
Jakob Bornecrantz
de20d87f87
xrt: Make it possible for the prober to pass in JSON data to the drivers
2020-04-10 12:29:21 +00:00
Christoph Haag
7403d45133
d/ohmd: Add quirk to rotate WVR2 display left
...
OpenHMD can't easily tell us the WVR SKU because it has to read it
from the config after opening the device, while the product string
is set at device list time.
As a workaround, recognize the WVR2 by its resolution.
2020-02-18 00:33:59 +01:00
Jakob Bornecrantz
a4ed39bf65
d/ohmd: Select correct pano_warp_scale
2020-02-15 16:03:13 +00:00
Jakob Bornecrantz
d305f773ea
d/ohmd: Do not open External Device by default
2020-01-25 14:42:02 +00:00
Jakob Bornecrantz
b3e84f9041
xrt: Make sure that auto probers can add non-HMD devices after a HMD has been found
2020-01-23 15:51:36 +00:00
Samantha Bowen
14bfd17f39
d/ohmd: Add position tracking.
2020-01-15 21:07:05 +00:00
Jakob Bornecrantz
be712c7049
d/ohmd: Use mesh shader for none distortion
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
aa52da072f
xrt: Remove relation input type
2019-10-24 21:51:07 +01:00
Jakob Borncrantz
d245fc33c9
d/ohmd: Add variable tracking
2019-10-15 21:00:12 +02:00
Jakob Bornecrantz
3bee6e3a8b
d/ohmd: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
216f7df355
d/ohmd: Less distorted view on external device
2019-09-27 20:28:04 +01:00
Jakob Bornecrantz
46389cd6ae
xrt: Send in real prober to auto probers
2019-09-15 23:24:58 +01:00
Jakob Bornecrantz
29b1713be9
xrt: Add enum xrt_device_name so that state trackers can reason about device
2019-09-04 12:47:18 +01:00
Jakob Bornecrantz
542208bd42
d/ohmd: Fix warning by including right header
2019-06-19 16:45:10 +01:00
Caleb Szalacinski
6664588eba
Added a delay quirk to allow the Oculus Rift CV1 to initialize properly.
2019-06-18 20:36:43 -05:00
Ryan Pavlik
287bd1cb06
d/ohmd: Cast bitmask enum
2019-06-18 18:43:20 +00:00
Ryan Pavlik
fbfee92601
d/oh: Have prober include interface header
...
Without this, the implementation definition might drift from the declaration,
and it doesn't get its extern "C"-ness.
2019-06-18 13:32:07 -05:00
Ryan Pavlik
de0506fb0c
d/oh: Codespell fix
2019-06-18 13:09:59 -05:00
Jakob Bornecrantz
89d8315b3b
xrt: Add output interfaces
2019-06-10 14:47:19 +01:00
Jakob Bornecrantz
1f64f714f6
xrt: Add input, hmd_parts and tracking interface
...
This patch has been spun of the rather massive amount of work for adding input
devices into Monado. The interfaces feels somewhat stable now so could do
with another pair of eyes on them, before too much work is done on st/oxr.
2019-06-10 14:47:19 +01:00
Jakob Bornecrantz
dc9ab44a5a
xrt: Rename xrt_prober to xrt_auto_prober
2019-05-03 18:53:07 +01:00
Jakob Bornecrantz
c8cdf3ee38
d/ohmd: Tidy code style
2019-04-30 14:02:00 +01:00
Jakob Bornecrantz
831b52f71e
d/ohmd: Refactor quirking some more
2019-04-27 09:21:12 +01:00
Jakob Bornecrantz
8675142e32
d/ohmd: Refactor quirking code
2019-04-27 09:06:33 +01:00
Jakob Bornecrantz
79d7555449
d/ohmd: Make rotate in be more correct
2019-04-27 08:32:44 +01:00
Jakob Bornecrantz
e39260eb67
d/ohmd: Add quirk for PSVR
...
The OpenHMD driver does not have any sensible panotools values
2019-04-19 14:56:47 +01:00
Jakob Bornecrantz
ab6defc610
d/*: Add a bit of documentation organization
2019-04-12 14:08:46 +01:00
Christoph Haag
55ec276810
d/ohmd: Set xrt_device name to name from OpenHMD
2019-04-05 09:52:29 +01:00
Ryan Pavlik
605005b7c2
oh: Compare current and previous quaternion to detect old data.
...
Bitwise comparison because we have no timestamp to check.
2019-03-25 16:37:12 -05:00
Ryan Pavlik
cfb315d714
oh: Use finite differencing to find ang velocity.
...
Only if we can't get it from OpenHMD directly,
and only if not disabled explicitly.
2019-03-25 12:28:54 -05:00
Ryan Pavlik
9004ea80bb
xrt: Devices get a timekeeping object, must return a timestamp.
...
Updates drivers to match.
2019-03-25 12:28:54 -05:00
Ryan Pavlik
294be21392
d/oh: Populate nominal frame interval
2019-03-25 12:28:54 -05:00
Ryan Pavlik
f7d990c7e3
xrt: Use U_TYPED_CALLOC
2019-03-22 13:47:51 -05:00
Ryan Pavlik
d1ec5fa66a
oh: Fix type issues
2019-03-22 16:54:14 +00:00
Lubosz Sarnecki
a87e6e664e
oh: Initialize VIVE distortion parameters with default values from my VIVE.
2019-03-18 14:45:31 +01:00
Jakob Bornecrantz
15a97422ba
xrt: Add all of Monado
2019-03-18 05:52:32 +00:00