Commit graph

210 commits

Author SHA1 Message Date
Jakob Bornecrantz 87ec56ca17 d/vive: Use undef instead of comment for debug define [NFC] 2023-09-01 19:50:18 +01:00
Pedro Santos 2a3ac52eb8 d/vive: Add Vive Pro 2 support 2023-07-24 15:23:19 +01:00
Jakob Bornecrantz 96babf8fb6 d/vive: Set correct tracking origin type when we have slam 2023-07-01 15:54:51 +01:00
Jakob Bornecrantz 1b221c7666 d/vive: Try to set realtime priority on sensors thread 2023-06-27 18:52:58 +00:00
Jakob Bornecrantz 2c080454e2 d/vive: Use correct enum for Tundra tracker 2023-06-14 21:34:20 +01:00
Sarah dc5b398405 [a|d]/[sur]vive: Implement 3.0/Tundra tracker support
Co-authored-by: BabbleBones <BabbleBones@protonmail.com>
2023-06-14 01:02:07 +00:00
Jakob Bornecrantz 315861501c a/vive: Move VIDs and PIDs to helper library [NFC] 2023-06-14 00:23:26 +01:00
Jakob Bornecrantz 1f632bcfb9 d/vive: Improve and refactor IMU time calculation 2023-05-22 11:51:07 +01:00
Jakob Bornecrantz 70850472b2 d/vive: Drain all imu packets at startup 2023-05-22 11:44:33 +01:00
Jakob Bornecrantz 7f1c5e9bd5 d/vive: Tidy header includes 2023-05-22 11:44:33 +01:00
Jakob Bornecrantz b84d1dfa00 d/vive: Get FoV from config struct 2023-05-18 11:12:06 +01:00
Jakob Bornecrantz 7b691ccab7 a/vive: Generate FoV values in config 2023-05-16 23:34:33 +01:00
Jakob Bornecrantz 5197b4a42f d/vive: Add a slider to adjust all tracked pose timestamps 2023-04-26 22:17:36 +01:00
Jakob Bornecrantz 9d8668a0a6 cmake: Remove _SLAM suffixes on KIMERA and BASALT have defines 2023-04-26 21:39:16 +01:00
Mario Kleiner 9e647f9a46 d/vive: Parse/Recognize HTC Vive Pro Eye HMD headphone audio buttons.
Does not do anything yet within Monado, but documents how to parse
button state of left headphone volume up/down buttons and right
headphone microphone mute button.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-14 10:48:39 +00:00
Jakob Bornecrantz 8e087ac5ac d/vive: Use vive_poses helpers for offsets of poses 2023-04-07 13:37:05 +00:00
Jakob Bornecrantz ea97960b9e d/vive: Change how the pose GUI variable is updated 2023-04-07 13:37:05 +00:00
Mateo de Mayo c0f7a5ed01 d/vive: Improve handling of controller pose 2023-04-06 16:46:11 +00:00
Moshi Turner 749d034a14 d/vive, d/survive, aux/vive: Fix hand offsets 2023-03-15 23:57:27 +00:00
Mateo de Mayo 5503d75c43 d/vive: Fallback to v4l2 camera timestamps when lighthouse is on
The pulse 0xFD of the report 0x25 comes at 54hz and thus we are assuming its
timestamp are the camera frame timestamps. However, it seems that this report
stops coming when the lighthouses are enabled and instead we get a 0x28 report.
This commit silently handles the 0x28 instead of throwing errors and fallbacks
to using v4l2 timestamps instead of the previous timestamps from pulse 0xFD.
2023-03-13 17:58:24 +00:00
Jakob Bornecrantz d601f893da xrt: Tidy compute_distortion function 2023-03-09 15:51:12 +00:00
Mateo de Mayo 52cac31d3a xrt: Support more than two cameras in a SLAM sink 2023-03-01 19:43:06 +00:00
Mateo de Mayo dad7957fb2 a/math: Add clock_offset.h
For now it only has our simple exponential smoothing clock offset estimator.
But more advanced ones can go here too.
2022-12-02 16:10:09 +00:00
Jakob Bornecrantz b1b63a9397 d/vive: Do more tracing during packet handling 2022-11-21 13:47:58 +00:00
Jakob Bornecrantz 36d1734377 d/vive: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Mateo de Mayo 0ebc7e042f d/vive: Improve readability of precompute_sensor_transforms (NFC) 2022-11-08 17:41:43 +00:00
Mateo de Mayo 9d6c29397f misc: Fix multiple compile warnings in gcc and clang 2022-11-03 20:08:52 +00:00
Mateo de Mayo 8f14c572ee d/vive: Apply IMU pose correction for SLAM tracking
The offset between IMU and middle-of-eyes for the Index is quite noticeable and
tracking felt very off before this.
2022-11-03 13:08:02 +00:00
Jakob Bornecrantz 5c958d096d d/vive: Make sure to free the source 2022-09-22 00:41:10 +01:00
Moses Turner 4c55364d95 d/vive: Always give a vive config 2022-09-13 22:10:58 +00:00
Jakob Bornecrantz 936733d4b7 d/vive: Pass in identity pose to hand simulation 2022-08-14 16:16:27 +01:00
Jakob Bornecrantz d978a863c1 d/vive: Tidy 2022-08-14 16:16:27 +01:00
Jakob Bornecrantz 39f80f2ef5 d/vive: Remove unsued variable 2022-08-10 14:18:45 +00:00
danwillm 76f96686d1 xrt/drivers: Convert hand tracking drivers to use hand simulation
Co-authored-by: Moses Turner <moses@collabora.com>
2022-08-01 17:33:40 +00: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
danwillm 0943ce10be a/util, xrt: u_hand_tracking interface change 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 13d90bff77 d/vive: Implement 3DoF/SLAM switching button and pose offset 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 aaf5fe1b7b d/vive: Improve ticks-to-nanoseconds conversion 2022-07-22 16:19:49 +00:00
Mateo de Mayo aa617a9d8b d/vive: Group 3dof IMU fusion fields and add a mutex 2022-07-22 16:19:49 +00:00
bjorn 919936991c ipc: make all IPC input aggregates const; 2022-07-14 20:31:38 +00:00
Moses Turner bd421e683c d/vive: Handle not-found devices correctly 2022-06-24 01:58:51 +01:00
Moses Turner 29cd525a3b d/vive: Prepare for lighthouse builder 2022-06-24 01:54:45 +01:00
Moses Turner a853022a66 d/vive: Don't create the hand-tracker ourselves 2022-06-24 01:54:45 +01:00
Jakob Bornecrantz 38eac9dddc xrt: Do not depend on util 2022-05-23 09:12:54 -05:00
Jakob Bornecrantz 0d055bb740 d/vive: Fix threading primitive initialization 2022-05-23 13:54:42 +00:00
Ryan Pavlik 6706180cd8 drivers: Improve word choice/clarity 2022-05-17 17:40:58 -05:00