Commit graph

137 commits

Author SHA1 Message Date
Tobias Frisch 75cab73f70 d/na: Add driver for the Nreal Air glasses 2023-09-07 14:07:10 +00:00
Alex Badics 83976d7d2c d/rokid: add Rokid Air and Max driver 2023-08-16 15:40:09 +02:00
BabbleBones c139925e83 d/steamvr_lh: Add Valve Knuckles support and emulated hands
Co-Authored-By: Gabriele Musco <gabmus@disroot.org>
2023-08-16 13:04:23 +01:00
Shawn Wallace 4a9f92e151 d/steamvr_lh: Add SteamVR Lighthouse driver wrapper
Implement support for SteamVR's Lighthouse driver (on Linux).
Only tested/works with the OG Vive and Vive wands, but adding new
device support should be simple.
2023-06-14 15:43:00 +01:00
Jan Schmidt 89407f8de8 d/wmr: Infrastructure for tunnelled controller connections
Add a connection object for controllers that are tunnnelled
through the HMD, and calls to allow send/receive of packets
as needed.
2023-06-08 16:12:18 +00:00
Jakob Bornecrantz 8a002db4f4 d/rift_s: Make sure to depend on sinks 2023-06-02 16:41:37 +00:00
samuel degrande 1ad168cfc5 cmake: Fix build failure on msys2/mingw64
This is due to the use of `${SDL2_LIBRARIES}` over `SDL2::SDL2`.

On some 'old' OSes such as Ubuntu 20.04, the SDL2 CMake config does
not set an SDL2:SDL2 target but rather defines SDL2_LIBRARIES and
SDL2_INCLUDE_DIRS variables.

This patch creates an SDL2::SDL2 target, if not already set, based on
those 2 variables.
2023-05-15 16:41:34 +00:00
Jan Schmidt ea53d274a5 d/wmr: Split out OG WMR controller handling
Move the original WMR controller specific handling
into a subclass of wmr_controller_base, and add
a stub placeholder for HP Reverb G2 controllers
2023-05-01 16:32:33 +01:00
Jan Schmidt d326ff9890 d/wmr: Split the connection from controller
Factor out the bluetooth connection behaviour from
the WMR controller, so the connection can be
provided from the headset as well.
2023-05-01 16:32:33 +01:00
Jakob Bornecrantz 3000028512 d/pssense: Link with aux_util
Fixes build with tracing, and should be linked since utilities are used.
2023-03-22 15:07:04 +00:00
Jarett Millard b975545764 d/pssense: Add PlayStation Sense controller driver
The driver probes the Sense controller devices and interprets the button presses from HID packets
2023-03-20 23:20:34 -04:00
Jakob Bornecrantz d1b7e3e557 d/simulated: Add controllers
Supports simulating Simple, WinMR and ML2 controllers
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz 9bd63cb37d d/dai: It's using aux_util so depend on it 2023-01-27 20:17:27 +00:00
Moses Turner 1bba34e944 xrt: Remove old_rgb hand tracking 2023-01-27 12:37:33 -06:00
Moses Turner 8c0735feec d/rift_s: Link to hand tracking driver if necessary 2022-12-04 18:05:02 +00:00
Jakob Bornecrantz 5142fa7e88 d/psmv: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 637c49c1ea a/os: Refactor out BLE functions into own library 2022-10-27 17:19:57 +00:00
Jakob Bornecrantz 8ca60f4304 a/util: Split out sink functions into own library 2022-10-27 17:19:57 +00:00
Jan Schmidt 32cc6e05da d/rift_s: Move builder to targets/common
Move the builder into the common area.
2022-09-26 00:32:28 +10:00
Jan Schmidt 495eecb65f d/rift_s: Add 6DOF SLAM tracking and hand tracking
Find and capture input from cameras, and split according to
frame type. Send long exposure tracking frames through
the AEG module, and SLAM and hand tracking trackers.

Add controller emulated hand devices.

The native "fisheye62" camera distortion model is
dynamically converted to OpenCV Kannala-Brandt
parameters using a TinyCeres solver.
2022-09-26 00:32:28 +10:00
Jan Schmidt 9fbe81e494 d/rift_s: Port OpenHMD Oculus Rift S driver
Port across the Oculus Rift S driver from OpenHMD as a native
Monado driver.

This is mostly the same as the OpenHMD 3DOF driver, with
slightly better HMD distortion correction, various small
fixes, some capsense touch detection support.

Controller poses are rotated 40° to match grip pose.
2022-09-25 02:17:44 +10:00
Moses Turner 45e52dee8f d/ns: Switch NS driver to builders 2022-09-21 07:57:03 -05:00
Moses Turner 6fdd790da0 d/dai: Update DepthAI driver
* Removed depthai_tracked_device - now you create a "SLAM" device, plug any frameserver into it and you're done
* Consolidated the grayscale frameservers into just one that gives you SLAM sinks
* Allows for different framerates and half-size for ov9282s
* Added debug frame sinks
* Added the ability to wait at startup for a number of frames for the streams to stabilize before submitting them to SLAM
2022-09-21 07:57:03 -05:00
Moses Turner 201708dee5 d/ht: Remove DepthAI hand tracking device
This was super crufty. Instead now you use a builder to create SLAM sinks with the DepthAI builder and plug them into a regular HT device
2022-09-21 07:57:03 -05:00
Moses Turner 074e18cac9 d/twrap: Add tracking wrapper driver 2022-09-21 07:57:03 -05:00
Moses Turner ef767af2ad cmake: Always build ht_ctrl_emu driver 2022-09-21 07:57:03 -05:00
Moses Turner 16dffc8d3b cmake: Link drv_ht and drv_cemu in t/common instead of vive/survive 2022-09-21 07:57:03 -05:00
Moses Turner d2e2c3a988 cmake: Run cmake-format.sh 2022-09-19 21:57:37 +01:00
Moses Turner 9d6ca80af3 xrt: Add SimulaVR driver 2022-09-12 12:20:51 +00:00
danwillm fd61dd08b2 drivers: add all of opengloves driver 2022-07-25 23:57:45 +01:00
Mateo de Mayo 6e16959098 d/vive: Add vive_source to convert v4l2 timestamps into monotonic clock
Use a sink in the middle of the stream to correct for v4l2 timestamps with
hardware timestamps to monotonic clock.

This sink, together with other utilities related to data streaming, lives in a
new vive_source entity, with similar functionality to wmr_source or rs_source.

The vive_source lifetime is managed by the builder xfctx, which prevents
deallocation dependencies between vive_device and the v4l2_fs to cause segfaults.
2022-07-25 19:08:46 +00:00
Mateo de Mayo 8d929fe2fa d/v4l2: Split some definitions into a new header 2022-07-25 19:08:46 +00:00
Moses Turner 4d0e46a5ac d/dai: Remove depthai::opencv dependency 2022-07-21 00:23:32 +01:00
Moses Turner 766f1b94e9 d/survive: Remove lots of cruft and prepare for Lighthouse builder 2022-06-24 01:54:45 +01:00
Moses Turner afec083047 d/ht: Don't depend directly on any external libraries; t/hand does that for us now 2022-06-16 15:51:55 +01:00
Jakob Bornecrantz 93d92ec6a7 d/remote: Use vive_bindings helper library 2022-06-01 16:50:19 +01:00
Jakob Bornecrantz 08d100d7b0 d/hydra: Depend on util 2022-05-23 09:12:54 -05:00
Ryan Pavlik 56a1c25378 d/simulated: Rename the simulated device driver. 2022-05-17 17:39:52 -05:00
Moses Turner e8776fd705 d/dai: Add little xrt_device implementation for head tracking 2022-05-10 23:47:30 +01:00
Mateo de Mayo 1a687cdee4 d/wmr: Add initial hand tracking for WMR devices
Co-authored-by: Moses Turner <moses@collabora.com>
2022-05-07 15:53:56 +00:00
Ryan Pavlik 0ae0316400 cmake: Format build files 2022-04-13 01:11:13 +01:00
Mateo de Mayo 310248546d d/euroc: Add euroc runner 2022-04-06 11:50:17 -03:00
Moses Turner 870a2ce704 d/ht: support DepthAI cameras and Mercury hand tracking 2022-03-23 18:30:02 -05:00
Moses Turner 30b779e515 t/hand: Add ht_sync 2022-03-08 20:44:25 +00:00
Mateo de Mayo 41f42e0b3a d/wmr: Add wmr_source with camera streams support 2021-12-13 10:41:55 +00:00
Jakob Bornecrantz 3e38ada9a5 build: s/rs/realsense/g 2021-12-07 11:26:20 +00:00
Moses Turner 8af3a47f5a cmake: make DepthAI driver link to aux_tracking 2021-12-03 19:22:57 +00:00
Simon Zeni ba7f9d9578 d/ht_cemu: enable build if XRT_BUILD_DRIVER_HANDTRACKING is enabled 2021-12-01 05:36:05 +00:00
Moses Turner f5bc81756e d/survive: use controller emulation for hand-tracking 2021-11-30 05:56:57 -06:00
Moses Turner 0214937aa0 d/vive: use controller emulation for hand-tracking 2021-11-30 05:56:57 -06:00