Christoph Haag
f5ef3985ba
xrt: Add support for locating hand joints in action spaces
2020-11-23 20:42:54 +00:00
Christoph Haag
d3ccbce76c
build: meson: Add remote driver build
2020-11-20 16:14:02 +01:00
Jakob Bornecrantz
5ce0a0b3ab
d/remote: Add hand tracking support
2020-11-18 17:37:39 +00:00
Christoph Haag
a2b67ab3fe
d/ohmd: Rotate rift s display right, not left
2020-11-12 16:04:00 +01:00
Christoph Haag
7ef8d1231d
d/ohmd: Update display rotation code
2020-11-12 16:04:00 +01:00
Christoph Haag
9e788df463
xrt: Remove lens center from xrt_view
...
It's only used internally in drivers now.
2020-11-12 16:04:00 +01:00
Ryan Pavlik
a345b07308
d/psvr: Fix typo in config/debug macro
2020-11-10 03:09:07 +00:00
Jakob Bornecrantz
135c93288b
d/psvr: Rename some hid variables for better code
2020-11-09 23:42:15 +00:00
Ryan Pavlik
83b91ea4a9
d/ns: Some clang-tidy cleanups
2020-11-09 16:18:00 -06:00
Ryan Pavlik
97d711a9ef
d/hdk: Appease clang-tidy a little more.
2020-11-09 16:18:00 -06:00
Ryan Pavlik
4c0d71aa30
d/ns: const correctness cleanup for math.
2020-11-09 16:17:57 -06:00
Ryan Pavlik
d4011ed78a
d/ns: Fix memory leak in math
2020-11-09 16:06:14 -06:00
Christoph Haag
29820345c7
d/survive: Fix bindings declaration after rebase of MR 587
2020-11-06 16:36:09 +01:00
Christoph Haag
ffa7cc84c8
d/vive: Add device bindings
2020-11-05 14:44:04 +00:00
Christoph Haag
4b261219a2
d/survive: Add device bindings
2020-11-05 14:41:55 +00:00
Jakob Bornecrantz
12df35232a
d/psmv: Add device bindings
2020-11-05 14:41:55 +00:00
Jakob Bornecrantz
24a3886e85
d/daydream: Add device bindings
2020-11-05 14:41:55 +00:00
Jakob Bornecrantz
5997708634
d/arduino: Add device bindings
2020-11-05 14:41:55 +00:00
Jakob Bornecrantz
2a9a0100bc
d/psvr: Tidy code
2020-11-04 13:26:47 +00:00
Ryan Pavlik
f70b1abd88
d/android: Use not-deprecated API when possible.
2020-10-30 18:20:36 -05:00
Lubosz Sarnecki
ae1d4e9541
d/android: Enable cardboard distortion.
2020-10-30 18:20:36 -05:00
Lubosz Sarnecki
f4113ef15b
d/android: Add Android sensors driver.
2020-10-30 18:20:35 -05:00
Jakob Bornecrantz
09ba7fc1e3
d/remote: Fix warning when building with clang
2020-10-29 16:17:20 +00:00
Jakob Bornecrantz
d72776b82c
d/psvr: Switch to logging API
2020-10-26 22:41:49 +00:00
Jakob Bornecrantz
6fd1e7b36c
d/dummy: Add logging to variable tracking
2020-10-26 22:41:27 +00:00
Jakob Bornecrantz
02a3b47f7c
d/dummy: Switch to logging API
2020-10-26 22:17:15 +00:00
Jakob Bornecrantz
3611193feb
d/dummy: Tidy file
2020-10-26 22:14:05 +00:00
Christoph Haag
f910367014
d/oh: Add startup delay for Rift S and rotate left
2020-10-21 01:26:53 +02:00
Jakob Bornecrantz
3483a7286d
d/remote: Add remote driver
2020-10-15 21:07:40 +00:00
Christoph Haag
c0a5b3b76c
d/survive: Implement haptic feedback
2020-10-13 19:39:28 +02:00
Christoph Haag
0dcde4a597
d/vive: Actually Use defined values for default haptic frequency and min haptic duration
2020-10-13 19:39:28 +02:00
Christoph Haag
270a4143c7
d/vive: Use defines for minimum haptic frequency and unspecified haptic frequency
2020-10-13 19:39:25 +02:00
Christoph Haag
d959bea54a
d/vive: curl thumb when touching a button
2020-10-12 22:55:33 +02:00
Christoph Haag
05f65e0028
d/survive: curl thumb when touching a button
2020-10-12 22:55:33 +02:00
Christoph Haag
f8088c1fa4
d/survive: Add fingertracking and refactor
...
Get controller config at startup & determine variant.
2020-10-12 22:55:33 +02:00
Christoph Haag
5164488225
d/vive_controller: Add finger tracking
2020-10-12 22:55:33 +02:00
Christoph Haag
2a07c1034e
d/ns: Don't create rs tracker twice on v1
2020-10-12 16:06:25 +02:00
Jakob Bornecrantz
96046d1315
d/ohmd: Use new none distortion code
2020-10-07 23:45:45 +01:00
Jakob Bornecrantz
7baf90d3d8
d/hdk: Use new none distortion code
2020-10-07 23:45:43 +01:00
Jakob Bornecrantz
cd2ea960b9
d/dummy: Use new none distortion code
2020-10-07 23:45:41 +01:00
Christoph Haag
dc29c3f97e
build/meson: Build daydream and arduino driver when dbus is enabled
2020-10-05 16:05:02 +00:00
Jakob Bornecrantz
6ec6c2eac9
d/dummy: Make view rotate slightly with time
2020-10-01 23:49:12 +01:00
Jakob Bornecrantz
9f39410b64
d/dummy: Make the view move slightly with time
2020-10-01 15:50:51 +01:00
Jakob Bornecrantz
9a675cc7f3
xrt: Rename xrt_uv_triplet
2020-09-30 15:35:57 +01:00
Christoph Haag
bb56e5f3c5
d/openhmd: Make struct oh_device private and refactor
2020-09-30 02:08:03 +02:00
Christoph Haag
f6c3998d29
xrt: Use struct vive_values for u_compute_distortion_vive
2020-09-30 02:05:05 +02:00
Christoph Haag
29188d681c
xrt: Remove all but mesh distortion values from xrt_hmd_parts::distortion
...
Move vive values to struct u_vive_values in u_distortion_mesh.
Move openhmd values to private struct inside ohmd driver.
2020-09-30 02:05:05 +02:00
Christoph Haag
2e7451ca5e
comp: Support only mesh and no istortion, remove pano and vive shaders
...
Also changes hardcoded binding indices into variables to make following the code easier
e.g. when adding new UBOs.
2020-09-30 02:05:04 +02:00
Christoph Haag
fd883e26bf
d/openhmd: Fix distortion_k value ordering
...
Their order is opposite to the psvr panotools values.
2020-09-30 01:30:30 +02: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
Christoph Haag
ee8fdb45fd
d/ns: remove useless assignments
2020-09-22 02:19:13 +02:00
Christoph Haag
3c0ae7e61e
d/dummy: reduce dummy HMD resolution to 720p
2020-09-21 20:37:28 +02:00
Christoph Haag
31539c800e
d/ohmd: Add (OpenHMD) suffix to openhmd driver string
2020-09-21 20:37:28 +02:00
Ryan Pavlik
dae3ab3a4f
xrt: Be sure to include config headers
2020-09-18 13:56:24 +01:00
Ryan Pavlik
a0c8839a71
xrt: Remove un-needed includes of unistd
2020-09-18 13:56:16 +01:00
Christoph Haag
17ff908041
d/ns: Set XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT
2020-09-14 16:57:10 +02:00
Christoph Haag
37519dc54d
d/dummy: Set XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT
2020-09-14 16:56:54 +02:00
Christoph Haag
150b7649f3
d/survive: Don't fix up invalid pose
2020-09-11 18:52:01 +02:00
Christoph Haag
a664bb22bf
d/survive: Update to recent libsurvive git
...
Rewrite input event handling and add new events from libsurvive.
2020-09-11 18:52:01 +02:00
Christoph Haag
c3fbe6eaf8
d/survive: remove unused structs
2020-09-11 18:52:01 +02:00
Christoph Haag
357b47522c
d/survive: set relation flags properly
2020-09-11 18:52:01 +02:00
Christoph Haag
6133d4cf99
d/survive: Remove out_relation_timestamp_ns
2020-09-11 18:52:01 +02:00
Jakob Bornecrantz
8e24dda794
xrt: Remove out_timestamp argument to xrt_device::get_tracked_pose
2020-09-07 23:37:09 +01:00
Jakob Bornecrantz
74690a2278
d/psmv: Rotate angular velocity to be in base space
2020-09-07 23:33:28 +01:00
Jakob Bornecrantz
f9905a4007
d/psmv: Use space graphs for poses
2020-09-07 23:33:28 +01:00
Moses Turner
0ff1865c2e
d/ns: Add version 2 config support
2020-09-07 11:35:24 +01:00
Jakob Bornecrantz
ea6374d296
d/dummy: Minor comments
2020-09-06 22:53:10 +01:00
Jakob Bornecrantz
787c104339
d/psmv: Use last package timestamp for input changes
2020-09-02 22:08:01 +01:00
Jakob Bornecrantz
2d8a39b731
d/v4l2: Set correct name on variable tracker
2020-09-02 18:36:47 +01:00
Jakob Bornecrantz
ffa888a575
d/v4l2: Use different tweaks depending on capture type
2020-09-02 11:57:47 +01:00
Jakob Bornecrantz
6846ab7637
xrt: Add stream capture type
2020-09-02 11:52:59 +01:00
Christoph Haag
330279d330
d/psvr: Set positional tracking bit when tracker is present
2020-09-01 17:03:55 +02:00
Christoph Haag
cde94cc8a2
build: Remove libv4l2 dependency from meson
...
We use the linux/v4l2-common.h header to access v4l devices, not libv4l from v4l-utils.
2020-08-28 12:10:53 +00:00
Pete Black
3fdce20afd
d/psvr: Only power on front LEDs
2020-08-28 11:38:03 +00:00
Jakob Bornecrantz
deb5633bf9
d/psmv: Introduce proper grip and aim poses
...
Correctly rotate the grip pose to follow the spec more closely.
2020-08-27 10:42:05 +01:00
Christoph Haag
cd05c86c59
d/ns,rs: Add external slam tracking type
2020-08-19 14:46:55 +02:00
Christoph Haag
7fb0af90de
xrt: Add tracking system type for Hydra
2020-08-19 11:06:28 +00:00
Christoph Haag
23bd6a4377
xrt: Add tracking system type for Lighthouse
2020-08-19 11:06:28 +00:00
Christoph Haag
08ed44b22c
d/vive,survive: Manually improve values for Valve Index display
...
These values are hand picked to provide a less stretchy image.
2020-08-17 22:07:22 +02:00
Christoph Haag
518728156b
d/northstar: Set positional tracking bit true when built with RS support
2020-08-17 11:51:38 +00:00
Jakob Bornecrantz
132b0c541d
d/rs: Use a thread to get the poses
...
Tested by moses from Discord.
2020-08-17 11:58:18 +01:00
Ryan Pavlik
146218b346
xrt: Some clang tidy fixes.
...
A few suppressions as well where clang-tidy did the wrong thing.
2020-08-12 17:11:42 -05:00
Jakob Bornecrantz
ec9ecf6332
d/psvr: Fix 3DOF tracking
2020-08-10 16:07:53 +01:00
Christoph Haag
ae07036324
d/vive: Demote watchman timeout error message to trace
...
It's desirable to support running without basestations without spamming messages.
2020-08-05 21:11:24 +00:00
Christoph Haag
3a68f60d47
d/vive: Run watchman poll in separate thread
...
Watchman polling times out after 1 second when basestations are not present/off.
This should not block reading the IMU.
2020-08-05 21:11:24 +00:00
Christoph Haag
2b20ee1f12
d/vive: close the zlib inflate stream
...
fixes memory leaks of zlib stream internal state
2020-08-05 20:32:51 +00:00
Christoph Haag
12c0f5d75a
d/vive: Destroy watchman hid device on shutdown
2020-08-05 20:32:51 +00:00
Lubosz Sarnecki
9c16f5ed69
d/vive/lighthouse: Handle lighthouse v2 reports.
...
Poll ligthouse reports in separate function. Check for report sizes
consistently.
2020-07-31 13:30:12 +02:00
Lubosz Sarnecki
04467942c1
d/vive: Add and use vive_lighthouse from ouvrt.
2020-07-31 13:30:12 +02:00
Lubosz Sarnecki
bb7d05a918
d/vive: Print report type names.
...
Be fault tolerant on unexpected report.
2020-07-31 12:45:47 +02:00
Lubosz Sarnecki
c3ba93c1ce
d/vive: Poll pulse reports.
...
Make sensor polling function take processing callback and be more
generic.
2020-07-31 12:45:47 +02:00
Lubosz Sarnecki
2db3b6b218
d/vive: Open and enable watchman on Vive, Vive Pro and Index.
2020-07-31 12:45:13 +02:00
Lubosz Sarnecki
cbb1dd82da
d/vive: Remove unnesseccary clang-format off.
2020-07-31 12:35:03 +02:00
Ryan Pavlik
2cce94799d
d/psvr: Fix hidapi include
2020-07-17 13:53:39 -05: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
Lubosz Sarnecki
499751e4fa
d/vive: Use VIVE_ERROR when vive_device is available.
2020-07-09 14:11:35 +02:00
Lubosz Sarnecki
4d412edaa1
d/vive/protocol: Port to u_logging.
2020-07-09 13:38:07 +02:00
Lubosz Sarnecki
dce8da5130
d/vive/controller: Port to u_logging.
2020-07-09 13:38:07 +02:00