Mateo de Mayo
0340ae3cc8
d/qwerty: Add Qwerty driver initial boilerplate
...
The Qwerty driver will emulate an HMD and controllers through the use
of mouse and keyboard, and in particular, using the SDL key events
generated from the debug GUI.
2021-03-29 15:41:25 -03:00
Ryan Pavlik
98886d5317
d/multi: Fix contagious doxygen warning.
2021-03-26 17:10:53 -05:00
Christoph Haag
1f25acfa94
d/vive: remove duplicate range record error message
2021-03-24 18:45:00 +00:00
Christoph Haag
a2b49138e7
d/vive: change imu range report error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
3ba9a9411a
d/vive: change config start report error->info
...
And clarify the message that it happens for example for powered off controllers.
2021-03-24 18:45:00 +00:00
Christoph Haag
f6210be44a
d/survive: Change event for unknown object error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
f9c2ab7ed7
d/ht: Change hand tracking not set up error->debug
2021-03-24 18:45:00 +00:00
Jakob Bornecrantz
67339a4d7c
d/remote: Fix warning
2021-03-24 14:09:13 +00:00
Christoph Haag
857b831e30
d/illixr: Add driver name
2021-03-22 01:25:44 +01:00
Jakob Bornecrantz
c73146c6fd
d/psvr: Ensure that timestamps are always after each other
2021-03-17 01:10:02 +00:00
Christoph Haag
a887ddcc3c
d/hdk: Use a mutex for get_tracked_pose
2021-03-09 12:39:12 +00:00
Christoph Haag
5c014193f7
d/vive_controller: Use a mutex for get_tracked_pose and update_inputs
2021-03-09 12:39:12 +00:00
Christoph Haag
aa65480607
d/vive: Use a mutex for get_tracked_pose
2021-03-09 12:39:12 +00:00
Christoph Haag
484d63a4eb
d/survive: Use thread for processing events
...
Due to an oversight libsurvive events were only processed when inputs were updated.
If only triggering event processing when an event is needed, we would need to process
a random number of events, causing random overhead.
Rather, follow the model of other drivers and process events in a thread.
This required creating a local copy of the xrt_input arrays.
Fixes #113
Fixes !679
v2: Use a mutex for get_tracked_pose and update_inputs
2021-03-09 12:39:12 +00:00
Mateo de Mayo
75e908552f
doc: Fix missing entities from modules documentation
2021-03-06 20:34:35 -03:00
Christoph Haag
12ad9a6766
d/ns: Remove tracker logic in favor of tracking overrides
2021-03-02 19:43:19 +01:00
Christoph Haag
ff16eab9df
xrt: implement multi device wrappers for tracking overrides
...
Example config ~/.config/monado/config_v0.json
{
"active": "tracking",
"tracking": {
"version": 0,
"tracking_overrides": [
{
"target_device_serial": "LHR-E8CC625B",
"tracker_device_serial": "LHR-1D80A098",
"offset": {
"orientation": {
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"position": {
"x": 0,
"y": 0,
"z": 0
}
}
}
]
}
}
v2: Add multi device wrapper
2021-03-02 19:43:19 +01:00
Christoph Haag
13db11901c
d/rs: Add prober and create xrt_device for rs
2021-03-02 19:43:19 +01:00
Christoph Haag
6c6c70f700
d/rs: exit early if no realsense device is connected
...
Previously we only exited after rs2_pipeline_start_with_config timed out.
2021-03-02 19:27:36 +01:00
Christoph Haag
aa7b3978b7
d/rs: Initialize offset to identity
2021-03-02 19:27:36 +01:00
Christoph Haag
279520c302
d/survive: Use autoprober interface
2021-03-02 17:50:19 +00:00
Christoph Haag
6914bae78e
d/ns: Add autoprober name
2021-03-02 17:50:19 +00:00
Christoph Haag
9ea02ac032
d/vive: Give consistent name to HMD
2021-03-02 17:50:19 +00:00
Christoph Haag
6e852ec9a0
d/survive: Give consistent name to HMD
2021-03-02 17:50:19 +00:00
Christoph Haag
92d94ddcc7
d/psvr: Don't report created device if creation failed
2021-03-02 17:50:19 +00:00
Mateo de Mayo
116d77f52e
st/prober: Allow autoprobe function to create more than one device.
2021-02-28 15:27:52 +00:00
Ryan Pavlik
0644521da9
d/ht: Fix typo in docs
...
Fixes doxygen warning.
2021-02-22 16:50:00 -06:00
Christoph Haag
4d1b5f033a
d/vive: Add controller rotation pose prediction
2021-02-17 19:59:59 +01:00
Christoph Haag
ab70115a89
d/vive: Add HMD rotation pose prediction
2021-02-17 19:59:52 +01:00
Christoph Haag
b77630ba57
d/remote: define _BSD_SOURCE for SOL_TCP on musl
2021-02-15 22:04:38 +01:00
Jakob Bornecrantz
a6fe8e8b1e
st/prober: Clarify xrt_prober_get_string_descriptor
2021-02-15 16:13:06 +00:00
Christoph Haag
d56834f7a9
d/psmv: Use bluetooth mac as serial
2021-02-15 14:55:10 +01:00
Christoph Haag
d5e74b959a
d/vive: Improve naming scheme
2021-02-12 00:38:52 +01:00
Christoph Haag
c66aea3311
d/survive: Improve device naming scheme
2021-02-12 00:38:52 +01: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
Christoph Haag
ea6d6bfb3f
d/rs: Use XRT_INPUT_GENERIC_TRACKER_POSE instead of XRT_INPUT_GENERIC_HEAD_POSE
2021-02-12 00:37:43 +01:00
Christoph Haag
9760f6d123
d/survive: Create devices for trackers
...
They can not be queried yet.
2021-02-12 00:37:43 +01:00
Christoph Haag
7e1408787a
d/survive: Update to new API and clean up
...
* Remove survive_device.{ctrl,hmd}::variant and use variant from config
* Use SurviveSimpleEventType_ConfigEvent to find connected devices
* Use SurviveSimpleEventType_PoseUpdateEvent for pose updates
2021-02-11 20:54:31 +01:00
Christoph Haag
3a02610e77
d/vive: Remove vive_controller_device::variant and use variant from config
2021-02-11 20:54:31 +01:00
Christoph Haag
f93209a1ed
d/vive: Remove vive_device::variant and use variant from config
2021-02-11 20:54:31 +01:00
Ryan Pavlik
d8aad83932
d/ht: Fix mistaken 2029 copyright date.
2021-02-11 09:28:12 -06:00
Jakob Bornecrantz
f8941fe5ee
d/vf: Declare dependency to avoid build issues
2021-02-02 13:53:48 +00:00
Jakob Bornecrantz
35da4a51ea
d/vf: Refactor code to add videotestsrc capability and break out gstreamer detection
2021-02-02 13:53:48 +00:00
Jakob Bornecrantz
5853103820
d/vive: Refactor out vive config code into auxiliary library
...
fix vive_config.h include for survive
2021-02-01 19:56:52 +01:00
Christoph Haag
b87c7d5e61
d/survive: Port to vive_config parsing
2021-02-01 15:23:19 +00:00
Christoph Haag
152587d728
build/cmake: Add vive_config include dir to survive
2021-02-01 15:23:19 +00:00
Christoph Haag
e8ac9ecee4
build/meson: Add vive_config include dir to survive
2021-02-01 15:23:19 +00:00
Christoph Haag
b2da8dfd07
build/cmake: make vive_config lib and link to vive, libsurvive
2021-02-01 15:23:19 +00:00
Christoph Haag
721b159312
build/meson: make vive_config lib and link to vive, libsurvive
2021-02-01 15:23:19 +00:00
Christoph Haag
a2e7e1c3d9
d/vive: Factor out controller config into separate struct
2021-02-01 15:23:19 +00:00
Christoph Haag
e4b0e6282d
d/vive: Factor out config into separate struct
2021-02-01 15:23:19 +00:00
Christoph Haag
232b8a7a49
d/ns: Fix informational message about example configs
...
v1 and v2 example configs are now in an exampleconfigs subdir.
2021-01-28 03:41:33 +01:00
Christoph Haag
be3c7dc480
d/ns: Pretty print json example config with jq
2021-01-28 03:36:18 +01:00
Jakob Bornecrantz
bfdd3a0a5b
d/v4l2: More buffers
2021-01-27 16:09:07 +00:00
Jakob Bornecrantz
bd257500b8
d/v4l2: Expose more information
2021-01-27 16:09:07 +00:00
Jakob Bornecrantz
17beaf8aa9
u/distortion: A stab in the dark to try and improve Index chromatic aberration
2021-01-25 00:12:03 +00:00
Jakob Bornecrantz
7d755427e3
u/distortion: Filp order of array access in distortion for Vive & Index
2021-01-25 00:12:03 +00:00
Jakob Bornecrantz
0c2d07808c
u/distortion: Make Vive & Index distortion center per channel
2021-01-25 00:12:03 +00:00
Dan Weatherford
bd381561d8
d/vive: Fix distortion center config parsing
2021-01-23 14:02:31 -06:00
Jakob Bornecrantz
360dbb63a7
d/ns: Work-around clang-format stuff
2021-01-15 16:38:54 +00:00
Jakob Bornecrantz
2b996f30c4
xrt: Reflow after column change
2021-01-15 13:50:32 +00:00
Christoph Haag
9c03f244b0
d/survive: Wait max 5 seconds for HMD and device configs
...
Sometimes the Index is in weird hardware states and doesn't respond properly.
In such cases, time out after 5 seconds and continue with no HMD present.
Previously we also relied on the controller configs to be already available
once the HMD config was available. In rare cases they were not - wait for
the controller configs with the same timeout.
2021-01-15 00:50:20 +01:00
Lubosz Sarnecki
fd58ccecc9
drv/android: Fill in xrt_device str.
2021-01-13 12:33:15 +01:00
Moses Turner
a1ed0b293c
d/rs: predict pose
...
d/rs: predict pose
2021-01-12 17:15:40 -06:00
Moses Turner
baf0e1acfb
d/rs: apply offset to t265 pose, d/ns: fix up some minor things, load realsense offset from json file
2021-01-12 15:28:18 -06:00
Moses Turner
fc47d0baad
d/ns: fix polynomial distortion math again, document nonsensical parts of polynomial math, update config files
2021-01-12 15:28:18 -06:00
Moses Turner
684daa3293
d/ns: possibly fix mesh calculation
...
also fix flipped tracking tracking
2021-01-12 13:01:37 -06:00
Moses Turner
365692e9ca
d/ns: Hopefully make v2 driver read ipd from baseline in v2 config files
2021-01-12 13:01:37 -06:00
Moses Turner
735d9654ec
d/ns: apply right eye fov correctly
2021-01-12 13:01:37 -06:00
Christoph Haag
637b5658da
d/survive: Predict poses for requested time
2021-01-11 23:50:01 +00:00
Jakob Bornecrantz
fdd87a0239
d/rs: Save a lot more data from the latest pose
2021-01-11 23:50:01 +00:00
Christoph Haag
679a1233ee
d/ht: Set up tracking origin with no offset
2021-01-06 13:29:36 +00:00
Christoph Haag
d85224e7c3
d/ht: Don't create hand tracking driver without successful init
...
Fixes a crash when no calibrated camera is found.
2021-01-06 13:29:36 +00:00
Christoph Haag
6d7dff360c
d/psmv: Scale rumble value on zcm1
...
The motor on my psmv controller does not rumble at amplitudes < 0.25.
2021-01-06 13:23:28 +00:00
Jae Lee
a71de192e0
illixr: Add initial integration.
2020-12-29 23:44:57 +00:00
Lubosz Sarnecki
853458ed37
xrt: Port commented printfs to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
0302a47e6f
d/realsense: Port to static u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
8ce0f73585
d/vive/conteroller: Porting to static u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
0708863e55
d/ohmd: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
e0b2c4ad2e
d/ohmd: Make env variables consistent with driver name.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
2dbb6a6bb8
d/daydream: Port to u_logging.
...
Port static printfs to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
1ba7d803a0
d/hydra: Port to u_logging.
...
Port printfs to static u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
00b2778504
d/arduino: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
6a2221115d
d/ns: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
a9703f6b39
d/survive: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
2be5e32b67
d/v4l2: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
e6b2c1f2c7
d/vf: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
1f85d1c2ba
d/hdk: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
b1c700a500
d/survive: Ignore -Wignored-qualifiers in survive header.
2020-12-28 13:04:11 +00:00
Christoph Haag
d5183336b3
d/ohmd: Add display left rotation for Oculus Rift DK2
2020-12-23 11:51:51 +01:00
Lubosz Sarnecki
d55c2b016a
d/vf: Use static logging if no object is provided.
...
Found by clang11 warning.
2020-12-16 15:10:10 +01:00
Lubosz Sarnecki
c03decd4d9
d/ht: Remove unused variable. Fixes warning on gcc 10.
2020-12-16 15:02:46 +01:00
Christoph Haag
49202eda87
d/psvr: Make get_tracked_pose thread safe
2020-12-14 02:00:09 +01:00
Christoph Haag
f0d21c1dcc
d/vf: Add video file playback driver
2020-12-07 12:30:26 +00:00
Christoph Haag
e480352cee
t/hand: Add hand tracking module
2020-12-07 12:30:26 +00:00
Christoph Haag
717d3a27ef
d/ht: Add hand tracking driver code skeleton
2020-12-07 12:30:26 +00:00
Christoph Haag
f7a8e8810b
xrt: Split hand tracking input name into left/right
...
oxr_hand_tracker now stores which xdev and input name it tracks.
2020-12-07 11:43:51 +00:00
Lubosz Sarnecki
cf2fe0e2c3
d/android: Use XRT_DEVICE_GENERIC_HMD device name.
2020-12-01 18:05:32 +01:00
Lubosz Sarnecki
d493044e55
d/android: Use display metrics instead of hardcoded Pixel 3 values.
2020-12-01 17:36:15 +01:00
Christoph Haag
3168eb750d
d/remote: Only define __USE_MISC if not defined
2020-11-30 15:38:06 +00:00