Commit graph

473 commits

Author SHA1 Message Date
Jakob Bornecrantz 96552a6caa t/common: Fix leak of calibration data in RGB-Tracker builder 2022-11-25 16:44:24 +00:00
Jakob Bornecrantz 6fc6968387 t/service: Try to raise priority and privilege on Windows 2022-11-25 16:04:20 +00:00
Jakob Bornecrantz ad045fd271 t/sdl: Increase FPS 2022-11-24 12:03:53 +00:00
Jakob Bornecrantz f0cbb8a7aa t/service: Add metrics support 2022-11-24 00:34:50 +00:00
Jakob Bornecrantz 60099fdd71 t/common: Do more tracing during init and fini 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 98b7f7d1c6 xrt: Remove xrt_gfx_native 2022-11-15 23:24:20 +00:00
Jakob Bornecrantz 8d6b794878 c/main: Add own interface for creating the main compositor 2022-11-15 23:24:20 +00:00
Moses Turner 00bf669e61 t/common: Disable SLAM by default for Valve Index 2022-11-08 12:32:23 -06:00
Mateo de Mayo c3757792d7 d/vive: Generate SLAM calibration automatically from factory data
Use factory data for SLAM calibration. Sensor rotations are off in most calib
files we saw (or at least we can't figure something better) so this won't work
very well. It's still necessary to properly calibrate the headset for good
results but at least now something works without that step.
2022-11-08 17:41:43 +00:00
Jakob Bornecrantz 1253d58717 t/sdl: Use VK_KHR_global_priority if available 2022-11-04 10:46:42 +00:00
Mateo de Mayo 9d6c29397f misc: Fix multiple compile warnings in gcc and clang 2022-11-03 20:08:52 +00:00
Gustavo Alvarez 21788f8650 t/cli: Link with aux_os_ble
Fixes build on certain configurations.
2022-11-03 10:03:25 +00:00
Jakob Bornecrantz 8ca60f4304 a/util: Split out sink functions into own library 2022-10-27 17:19:57 +00:00
Jakob Bornecrantz c9ef44dd28 t/common: Remove stale comment 2022-10-27 17:19:57 +00:00
Julian Petrov d0f713c4c4 ipc: Add Windows support 2022-10-13 17:07:27 +00:00
Julian Petrov 7669d2c545 t/ctl: Don't build on Windows 2022-10-13 17:07:27 +00:00
Jakob Bornecrantz 52d225ae3b t/north_star: Fix build when we have depthai but no hand-tracking 2022-10-10 22:39:38 +00:00
Robbie Bridgewater cc2e7b6da3 ipc: Allow IPC path to be set dynamically
Uses cache for XRT_IPC_MSG_SOCK_FILE
2022-10-09 15:21:11 +01: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 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 5c18f83e8d d/ulv2: Convert Ultraleap driver create function to helper 2022-09-21 01:54:40 +01:00
Moses Turner 714925e1b8 t/common: Use cJSON_Delete instead of cJSON_Free in SimulaVR 2022-09-21 01:52:15 +01:00
Moses Turner e1fbb5b619 cmake: Improve seperation between categories (NFC) 2022-09-21 01:52:15 +01:00
Jakob Bornecrantz e06608533f c/multi: Pass in option to do warm start-ups 2022-09-19 22:31:35 +00:00
Moses Turner d2e2c3a988 cmake: Run cmake-format.sh 2022-09-19 21:57:37 +01:00
Mateo de Mayo 3d366b9243 gui: Fix layout file not being created for the first time on Windows
By ensuring imgui.ini exists.
Also enabled u_config_json_open_or_create_file for Windows as this OS has an
implementation of u_file_get_path_in_config_dir available now.
2022-09-19 17:19:12 +00:00
Moses Turner 1836182e24 t/common: Remove superfluous PID/VIDs from SimulaVR builder
And remove outdated comments
2022-09-19 11:17:34 -05:00
Moses Turner e8225b273c t/common: Switch SimulaVR builder to u_file_read_content_from_path 2022-09-19 11:17:34 -05:00
Moses Turner 0ddf3e0e19 t/c/builder_lighthouse: Set camera orientation correctly 2022-09-16 23:41:18 +01:00
Moses Turner b735d99569 t/c/builder_lighthouse: Move state out of static storage
Also reword/rework some stuff to make it more obvious
which parts are specific for Valve Index cameras
2022-09-16 23:41:09 +01:00
Jakob Bornecrantz 0fedf6fe7d sdl_test: Add SDL test framework 2022-09-15 14:06:20 +01:00
Moses Turner 0f40a4be8f t/c/builder_lighthouse: Fail more clearly when cameras aren't available 2022-09-13 22:10:58 +00:00
Jakob Bornecrantz b95481ebaa t/ctl: Ensure connection is initialized properly 2022-09-13 14:31:24 +00:00
Moses Turner e8054cd682 t/common: Use correct condition for building SimulaVR builder 2022-09-13 02:45:19 -05:00
Moses Turner 9d6ca80af3 xrt: Add SimulaVR driver 2022-09-12 12:20:51 +00:00
Jan Schmidt 1811951dd6 t/ht: Add support for camera orientation
Add a way to pass in extra information about camera views, this new
struct is merged with the old image boundary information struct.

Co-authored-by: Moses Turner <moses@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-09-06 18:36:53 +01:00
Jarvis Huang 52c790d1a9 t/android: Store jvm/context in service-lib 2022-09-02 16:25:12 +00:00
Jakob Bornecrantz 54b43f1f31 t/common: Fix warnings in lighthouse builder 2022-08-10 14:18:45 +00:00
Christoph Haag c24e482e5e st/oxr: Make OpenXR timestamps relative to service startup
This solves a problem where OpenXR timestamps could become invalid
(negative) in certain circumstances:

The timestamps that the OpenXR state tracker returned were offset such
that they appeared to start at OpenXR application startup time.

However monado-service is a long running service using system timestamps.
Because of this, if monado-service started work using a system timestamp
acquired before an OpenXR application started, then this system timestamp
could not be converted into an OpenXR without becoming invalid.

With this change, the OpenXR timestamps for OpenXR applications are offset
such that they appear to start at monado-service startup time instead.

As a side effect, all OpenXR applications connected to the same
monado-service instance will receive timestamps from the same domain.
2022-08-08 15:52:18 +00:00
Supreeeme 501d2c4fd5 Fix crash when no hand tracking or controllers 2022-07-31 17:09:19 -04:00
Moses Turner 2868348e8c t/common: Make controllers work again with the Lighthouse builder
!1418 briefly broke controller setup.
2022-07-27 10:49:29 +00:00
Moses Turner c0eed827c5 xrt: Remove t_hand_tracking_output_space
LEFT_CAMERA is the only one that remained useful
2022-07-27 10:49:29 +00:00
Jakob Bornecrantz 65d88f00aa t/common: Fix warning 2022-07-26 18:15:04 +00:00
danwillm 53bbe0a293 t/common: add opengloves fixer-upper to lighthouse builder 2022-07-25 23:57:45 +01:00
Mateo de Mayo 36ca9260cf d/vive: Update tracking status to fix segfault
Co-authored-by: Moses Turner <moses@collabora.com>
2022-07-25 19:08:46 +00: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 f0ceb40f6a d/vive: Prepare data streaming and SLAM tracker 2022-07-25 19:08:46 +00:00
Mateo de Mayo 3cbb7f6b9f d/vive: Pass status of visual tracking into the driver 2022-07-25 19:08:46 +00:00
Mateo de Mayo 4f81967e8a t/common: Refactor lighthouse builder to prepare for more visual trackers
The idea here is to follow a similar approach to how we are doing it in the
WMR driver with the setup_visual_trackers() function.
2022-07-25 19:08:46 +00:00
Moses Turner fa2554f289 st/oxr: Don't use the debug gui by default in out-of-process 2022-07-12 16:18:17 +00:00
Ryan Pavlik f4cc2f3bf4 cmake: Fix some details of Clang on Windows. 2022-07-05 11:17:53 -05:00
Moses Turner e552ef6bf3 t/common: Better error-checking in lighthouse builder 2022-06-30 15:20:46 +01:00
Jakob Bornecrantz 202f37be63 t/common: Include config build for null compositor 2022-06-27 18:35:40 +01:00
utzcoz 34c97c48ef ipc,t/oxr_android: Add FLAG_IMMUTABLE for PendingIntent from S+
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-06-27 09:59:27 -05:00
Ryan Pavlik 62c87d27d6 android: Request new android.permission.HIGH_SAMPLING_RATE_SENSORS 2022-06-25 09:59:37 +08:00
Ryan Pavlik cec89ae751 targets: Update manifests for Android 12 2022-06-25 09:59:37 +08:00
Ryan Pavlik e1a0486f30 gradle: Update some deps slightly to cope with gradle 7 2022-06-25 09:59:37 +08:00
Ryan Pavlik 98f430f6f7 gradle: More dependency updates. 2022-06-25 09:59:37 +08:00
Moses Turner 4aaa61350b t/common: Add lighthouse builder 2022-06-24 01:58:51 +01:00
Moses Turner adadf6a2c2 t/common: Remove (sur)vive from legacy builder 2022-06-24 01:54:45 +01:00
Moses Turner 6b63d473c6 t/common: Switch target_builder_legacy to u_system_devices_get_ht_device 2022-06-24 01:54:45 +01:00
zhibinw d17f232940 ipc/android: Extend timeout duration 2022-06-08 12:52:55 +00:00
Jakob Bornecrantz d0cc7e4082 d/remote: Use xrt_system_devices directly in the driver
And also make shutdown properly work.
2022-06-01 16:50:19 +01:00
Jakob Bornecrantz 3c1576fc44 st/gui: Make it possible to pass in remote address from the command line 2022-06-01 16:50:19 +01:00
Alex 642b36c5ad depthai : added missing target 2022-05-30 18:21:14 -07:00
Jakob Bornecrantz 7e45fc7dd9 t/common: Integrate null compositor 2022-05-28 17:30:19 +00:00
Jakob Bornecrantz 8effde1d61 t/service: Do not depend directly on comp_main
Because target_instance does so already.
2022-05-28 17:30:19 +00:00
Mateo de Mayo 9281cb1d16 misc: Silence unused warnings on release builds 2022-05-26 18:35:39 +00:00
Ryan Pavlik e5f6045b57 gradle: Be able to fetch Eigen if it's not found on the system. 2022-05-26 11:43:11 -05:00
Moses Turner 5652ddd718 a/util: Fix function signature for u_builder_find_prober_device
Was this ever working?
2022-05-25 20:53:46 +00:00
Mateo de Mayo 7a0a142dba misc: Fix some uninitialized mutexes 2022-05-21 23:31:18 -03:00
Ryan Pavlik ea4c14c3aa a/os: Rename os_thread_helper_stop to os_thread_helper_stop_and_wait 2022-05-20 18:46:37 +01:00
Christoph Haag aac68971c4 cmake: Fix service build with -DXRT_BUILD_DRIVER_QWERTY=OFF 2022-05-19 23:52:14 +00:00
Jakob Bornecrantz 03a6f079e0 t/common: Do not compile for builders when no driver is enabled 2022-05-19 15:51:06 +00:00
Ryan Pavlik e5b0840de3 t/common: Fix missing ifdef guard in target builder remote. 2022-05-18 10:37:04 -05:00
Jakob Bornecrantz 4c6b3b4609 t/common: Fix instance get_prober function 2022-05-18 15:39:17 +01:00
Jakob Bornecrantz b180605ebe t/common: List the simulated device 2022-05-18 11:02:12 +01:00
Ryan Pavlik 54be3b958b targets: Word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 825ec9f549 t/oxr: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 56a1c25378 d/simulated: Rename the simulated device driver. 2022-05-17 17:39:52 -05:00
Jakob Bornecrantz 61323c32d2 xrt: Use error messages in various instance and prober functions 2022-05-17 20:10:40 +01:00
Jakob Bornecrantz 3357cd4400 t/common: Add a few builders 2022-05-17 11:20:40 +01:00
Jakob Bornecrantz 850527adc5 xrt: Add system builders and update xrt_prober interface
Aka setter uppers.
2022-05-17 11:20:40 +01:00
Mateo de Mayo 4e20384f11 gui: Make imgui.ini file live in config directory 2022-05-14 16:46:20 -03:00
Jakob Bornecrantz 116d1a9bf8 xrt: Typedefs have a _t suffix 2022-05-12 11:59:12 +00:00
Jakob Bornecrantz aafbaecbc9 xrt: Remove old unused instance functions 2022-05-11 10:49:15 +01:00
Moses Turner d6f62633e9 st/gui: Use xrt_system_devices struct and xrt_instance_create_system call
Includes fixes from Christoph Haag:

```
st/gui: Fix segfault when starting monado-gui without arguments
```

```
st/gui: Run gui_prober_select only in the modules that need a prober

This also speeds up starting up the monado-gui main menu.
```

Co-authored-by: Moses Turner <moses@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-05-11 10:49:15 +01:00
Jakob Bornecrantz d642848bb1 t/cli: Use xrt_instance_create_system call 2022-05-11 10:16:08 +01:00
Jakob Bornecrantz 1b8cbfd226 t/common: Implement xrt_instance_create_system call 2022-05-11 10:15:18 +01:00
Moses Turner ec191bd9de targets: Add DepthAI head tracker 2022-05-10 23:47:30 +01:00
Ryan Pavlik bcdc2416a7 cmake: Adjust deps of XRT_INSTALL_*_SYSTEMD_*
Value may be ignored in this repo without the service target,
but it's harmless to have it on, and more flexible to build on.
2022-05-06 14:30:49 -05:00
Ryan Pavlik 3287c984aa cmake: Reorganize options, renaming some.
Rename XRT_HAVE_SLAM to XRT_FEATURE_SLAM,
moving it from xrt_config_have.h to xrt_config_build.h
accordingly.
2022-05-04 11:24:02 -05:00
Ryan Pavlik fedb4fd413 t/steamvr_drv: Adjust ifdef 2022-05-03 22:44:46 +01:00
Jakob Bornecrantz 175ff58f10 build: Remove meson files 2022-04-28 21:36:25 +00:00
Ryan Pavlik 2f78acd108 cmake: Copy some deps over when installing on Windows. 2022-04-21 17:17:16 -05:00
Ryan Pavlik 0926ce1dab cmake: Clean up how we install the runtime 2022-04-21 17:17:16 -05:00