Christoph Haag
a887ddcc3c
d/hdk: Use a mutex for get_tracked_pose
2021-03-09 12:39:12 +00:00
Christoph Haag
c67a6ccd34
xrt: Add xrt_device::serial for uniquely identifying devices if possible
...
d: Make controller serials unique by appending number
For drivers that do not (yet) know a persistent unique id per device.
2021-02-12 00:38:51 +01:00
Jakob Bornecrantz
2b996f30c4
xrt: Reflow after column change
2021-01-15 13:50:32 +00:00
Lubosz Sarnecki
1f85d1c2ba
d/hdk: Port to u_logging.
2020-12-28 13:04:11 +00:00
Ryan Pavlik
97d711a9ef
d/hdk: Appease clang-tidy a little more.
2020-11-09 16:18:00 -06:00
Jakob Bornecrantz
7baf90d3d8
d/hdk: Use new none distortion code
2020-10-07 23:45:43 +01:00
Christoph Haag
fb71c71a8c
xrt: Replace mesh generator with xdev->compute_distortion()
...
Each HMD driver now has to implement compute_distortion() which will be called
by the compositor implementation to generate a mesh (usually).
u_distortion_mesh contains implementations for the defaults (panotools, OpenHMD, vive).
Also adds compute_distortion function for Vive distortion
There are differences between OpenHMD and Panotools values, main differences for now:
* psvr has 5 pano coefficients, ohmd has 3
* psvr uses viewport size and lens center in pixels for distortion calculation, ohmd in meter
* psvr uses different distortion scaling than ohmd
2020-09-28 17:04:15 +01:00
Jakob Bornecrantz
8e24dda794
xrt: Remove out_timestamp argument to xrt_device::get_tracked_pose
2020-09-07 23:37:09 +01:00
Ryan Pavlik
4220638afd
xrt: use _USE_MATH_DEFINES to make sure M_PI gets defined.
2020-07-17 13:53:39 -05:00
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
Christoph Haag
99af2b76d3
d/hdk: Remove unused, accidentally left in code
2020-04-16 14:44:54 +02:00
Christoph Haag
511dd78376
d/hdk: Poll imu in thread & drain queue on every poll
...
Fix #67
2020-04-16 00:24:59 +02: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
Ryan Pavlik
8f0082e810
drivers: Clean up documentation.
...
Making the Modules page in Doxygen more consistent.
2020-03-02 12:35:49 -06:00
Christoph Haag
680b8971b3
d/hdk: Remove unused hidapi include
2019-10-31 01:50:30 +01:00
Jakob Bornecrantz
aa52da072f
xrt: Remove relation input type
2019-10-24 21:51:07 +01:00
Lubosz Sarnecki
6ec8721899
xrt: Add num_devices to prober found interface.
...
In order to access multiple devices the prober found interface needs to
pass the length of the device list. This patch updates the found
interface in all drivers.
2019-10-11 15:56:20 +01:00
Lubosz Sarnecki
3e8bd73e34
d/hdk: Use float to avoid implicit cast.
2019-10-11 15:55:18 +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
Ryan Pavlik
261b9125f6
d/hdk: Use string descriptor to guess at revision
2019-08-15 12:36:01 +00:00
Ryan Pavlik
853f8ab68e
d/hdk: Port to internal HID wrapper.
...
Not entirely feature-complete due to lack of access to descriptor strings.
2019-08-15 12:36:01 +00:00
Jakob Bornecrantz
fb24bb979f
d/hdk: Fix warnings during release builds
2019-07-25 00:53:04 +01:00
Ryan Pavlik
0472bef1fa
d/hdk: 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:31:32 -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
ab6defc610
d/*: Add a bit of documentation organization
2019-04-12 14:08:46 +01:00
Jakob Bornecrantz
e4a016f4d6
d/hdk: Tidy code style
2019-04-03 17:00:43 +01:00
Jakob Bornecrantz
5d5d420fb6
d/hdk: Fix unhandled case warnings
2019-03-27 17:34:46 +00:00
Ryan Pavlik
dc990a8e77
d/hdk: Adjust timestamp for latency, based on experiments.
2019-03-27 16:22:45 +00:00
Jakob Bornecrantz
bf2eae1524
d/hdk: Tidy code style
2019-03-27 13:36:30 +00: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
3e7b9169d6
d/hdk: Populate nominal frame interval
2019-03-25 12:28:54 -05:00
Ryan Pavlik
a06a9eaac2
hdk: Skip apparent matches that have weird USB props.
2019-03-22 17:05:02 -05:00
Ryan Pavlik
f7d990c7e3
xrt: Use U_TYPED_CALLOC
2019-03-22 13:47:51 -05:00
Ryan Pavlik
142a9a77eb
d/hdk: clarify display transforms and add an ifdef to not rotate.
2019-03-22 17:35:18 +00:00
Ryan Pavlik
3a1a120238
d/hdk: Fix orientation and angular velocity of tracker
2019-03-22 17:35:18 +00:00
Ryan Pavlik
32fd930ada
d/hdk: Neatly handle disconnects
2019-03-22 17:35:18 +00:00
Ryan Pavlik
9d0888cd7d
d/hdk: Harden against USB issues in prober.
2019-03-22 17:35:18 +00:00
Ryan Pavlik
b74e7c74e2
d/hdk: Handle more models
2019-03-22 17:35:18 +00:00
Jakob Bornecrantz
15a97422ba
xrt: Add all of Monado
2019-03-18 05:52:32 +00:00