Jakob Bornecrantz
5197b4a42f
d/vive: Add a slider to adjust all tracked pose timestamps
2023-04-26 22:17:36 +01:00
Jakob Bornecrantz
ce3c5d59fb
d/wmr: 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
Moshi Turner
53e738a093
d/dai: Add manual exposure controls
2023-04-12 12:11:06 +00:00
Moshi Turner
f2bea2c7c6
d/ns; a/util: Remove old name from Moshi's distortion correction method
...
I don't hate my old name that much, but this is my last chance to change it before there's some "moshi-style" North Stars floating around.
2023-04-11 23:45:23 -05:00
Christoph Haag
c248670f2f
d/survive: Add vive ipd range
2023-04-11 11:42:21 +00:00
Jakob Bornecrantz
bab4a126ae
xrt: Remove product_name from xrt_prober_device struct
...
And move it to an internal struct instead. Better to keep it internal to the
prober as it was only used for the bluetooth probing. And there was a function
that applications should use to get strings from xrt_prober_device.
2023-04-07 15:37:22 +01: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
Jakob Bornecrantz
e9c43a7ca6
d/wmr: Remove legacy found functions
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
2ddf868735
d/wmr: Do device creation via builder interface
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
05b83d5102
d/wmr: Move wmr_headset_type to wmr_common.h
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
3819a21e44
d/wmr: Tidy interface and common headers
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
6ee235ac3b
d/wmr: Tidy camera destroy function
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
1410afc330
d/wmr: Reject timestamps that are older then the last sample received
2023-04-05 16:53:24 +01:00
Mateo de Mayo
3a11afa846
d/wmr: Fix null dereference
2023-04-03 17:55:08 -03:00
Mateo de Mayo
3ecee6d0ca
d/wmr: Support head tracking with more than two cameras
2023-04-03 12:17:11 -03:00
Mateo de Mayo
24de185b6c
t/openvr: Add openvr tracker for recording lighthouse groundtruth
...
With the SLAM_OPENVR_GROUNDTRUTH_DEVICE we can select a device (HMD, right/left
controller, vive tracker) to use as the groundtruth provider for a SLAM tracker.
This is useful to record euroc datasets with lighthouse groundtruth.
2023-04-01 14:56:39 +00: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
531b10fa4c
xrt: Tidy various header includes
2023-03-16 14:19:38 +00:00
Jakob Bornecrantz
0c83cd350b
xrt: Do not include util headers in xrt headers
...
This lead to some files getting u_misc for free, and also
other things being pulled in when they shouldn't have been.
2023-03-16 14:19:38 +00:00
Jakob Bornecrantz
7ce5a729b1
d/survive: Add SURVIVE_TIMECODE_OFFSET_MS to set timecode offset at launch
2023-03-16 13:07:22 +00:00
Jakob Bornecrantz
ea7fbd4444
d/survive: Use u_var_draggable_f32 for timecode offset
2023-03-16 13:07:22 +00:00
Moshi Turner
749d034a14
d/vive, d/survive, aux/vive: Fix hand offsets
2023-03-15 23:57:27 +00:00
Moshi Turner
570a5513be
d/opengloves: Remove left-over code
2023-03-15 23:42:46 +00:00
Jakob Bornecrantz
6b45e22164
d/survive: Make it possible to add offset to timecode calculation
2023-03-13 23:55:00 +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
Christoph Haag
9dbfdf97ce
d/ohmd,svr: Fix build
...
fixes d601f893da
2023-03-13 01:32:34 +00:00
Jakob Bornecrantz
d601f893da
xrt: Tidy compute_distortion function
2023-03-09 15:51:12 +00:00
Christoph Haag
b0e164db19
d/survive: Fix warning
2023-03-08 22:12:18 +01:00
Christoph Haag
8cc5db3a6c
d/survive: Add some debug gui entries
2023-03-08 21:46:42 +01:00
Christoph Haag
24b53c0f1a
d/survive: Apply device IPD to view poses
2023-03-08 21:46:19 +01:00
Jakob Bornecrantz
05de788168
d/multi: Remove all uses of tracking_origin offsets
2023-03-03 21:38:54 +00:00
Moshi Turner
c750d714a9
d/ht_ctrl_emu: Fix pinch detection
2023-03-03 15:07:45 -06:00
Ryan Pavlik
f43ac4841b
d/wmr: Fix warnings/issues, mostly related to 32-bit builds
2023-03-03 01:05:14 +00:00
Ryan Pavlik
43ac5d44cf
d/euroc: Fix printf formatting on 32bit
2023-03-03 01:05:14 +00:00
Moshi Turner
e26a272c17
d/dai, st/gui, t/common: Make DepthAI frameserver work with multicam sinks
2023-03-01 14:37:26 -06:00
Mateo de Mayo
59c3c911e6
d/rift_s: Add initial multicamera support
...
Tested-by: Nova <technobaboo@gmail.com>
2023-03-01 19:47:10 +00:00
Mateo de Mayo
c39dc977c4
d/euroc: Support datasets with more than two cameras
2023-03-01 19:43:06 +00:00
Mateo de Mayo
186ca8258e
t/slam: Adapt camera calibration data for multiple cameras
2023-03-01 19:43:06 +00:00
Mateo de Mayo
d8e1b7d921
t/slam: Handle multiple camera sinks
2023-03-01 19:43:06 +00:00
Mateo de Mayo
52cac31d3a
xrt: Support more than two cameras in a SLAM sink
2023-03-01 19:43:06 +00:00
Jan Schmidt
699a92d9f8
rift_s: Ignore the first 100 samples for the clock
...
After turning on the display, the Rift S
sends a burst of stale data and it can lead to
wildly incorrect clock estimates that then
recover really slowly and cause SLAM tracking to
lag horribly.
Throw away the first 100 samples, which seems to be
enough (only the first 20 or so seem to be bad).
Also reduce the clock a2b cutoff frequency, for
faster adaptation to changes.
Tested-By: Nova <technobaboo@gmail.com>
2023-03-01 17:08:09 +00:00
Simon Zeni
fdec80cd99
d/survive: add hand tracking pose offsets to controller
2023-02-22 23:51:50 +00:00
Mateo de Mayo
5ba9efd522
t/euroc: Implement trajectory recording
2023-02-17 21:03:08 +00:00
Moses Turner
8621acd899
d/ht, h/mercury: Use u_file_get_hand_tracking_models_dir
...
Needed for Windows SteamVR driver
2023-02-16 17:03:17 -06:00
Ryan Pavlik
a51c2bcb1a
d/rift_s: Fix typo
2023-02-08 17:35:22 -06:00
Daniel Willmott
795de613c1
d/survive: Add aim pose offset to index controllers
2023-02-05 20:19:52 +00:00
Jakob Bornecrantz
0938a1a02b
xrt: Fix missing function declaration without a prototype warnings
...
Found by clang-15.
src/xrt/auxiliary/math/m_permutation.c:133:15: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
m_do_the_thing()
^
void
2023-02-02 13:03:08 +00:00
Moses Turner
86e31f54f3
xrt: Refactor t_camera_calibration to use a tagged union instead of a bare array
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-30 17:09:27 -06: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
c562930cdc
d/simulated: Export logging level
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
0494777d1a
d/simulated: Make hmd center be pose and make it possible to pass it in at start
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
121bcf028a
d/simulated: Make it possible to pass in movement mode
...
And a little bit of tidy.
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
2c73485ecd
d/ht: Tidy header
2023-01-26 19:10:57 -06:00
Mateo de Mayo
da50a2499f
d/wmr: Adjust exposure and gain individually for each camera
2023-01-26 18:07:10 +00:00
Mateo de Mayo
60b996239c
u/aeg: Add optional prefix for having multiple aeg UIs
2023-01-26 18:07:10 +00:00
Christoph Haag
e7fff3e435
d/hdk: handle 0 bytes read
2023-01-26 00:23:18 +01:00
Christoph Haag
bc1d355e26
d/hdk: Zero initialize buffer
2023-01-26 00:17:37 +01:00
Christoph Haag
4030b474ad
d/hdk: Use 100 ms hid read timeout
...
Avoids burning cpu cycles with busy looping
2023-01-26 00:17:37 +01:00
Moses Turner
4709ab85ca
d/wmr: Fix grammar
2023-01-23 14:24:28 -06:00
Christoph Haag
87680c69d4
d/ohmd: Get rid of enum alias
...
The last enum index was used to determine the size of the inputs array.
The "clever" solution of aliasing enum values saved a minor amount of space
when allocating the xrt_device, while still allowing to dynamically assign
any input profile.
It also has drawbacks of being confusing and making it impossible to
validate that inputs from the correct xrt_input_name is requested.
Therefore just get rid of it, the minor space savings is not worth it.
fixes 2be4cbf4c3
2023-01-23 17:46:33 +01:00
Mario Kleiner
50f7b5ba5f
d/ohmd: Fix input from controls_mapping[0].
...
Use INPUT_INDICES_LAST instead of 0 for checking if control_mapping[i]
is unassigned for index i, ie. for skipping input.
As 0 is a valid mapping assignment defined in "enum input_indices", this
lead to dead input for SIMPLE_SELECT_CLICK and OCULUS_TOUCH_X_CLICK, both
assigned to 0.
This commit makes the Oculus Rift CV-1 left touch controllers X-Button
work in Monado OpenXR native and SteamVR via. Monado driver plugin.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-01-23 16:30:27 +00:00
Christoph Haag
694baebd07
d/ohmd: Fix build
...
fixes 2be4cbf4c3
2023-01-22 22:04:47 +01:00
Christoph Haag
2be4cbf4c3
d/ohmd: Support generic trackers and clean up
2023-01-21 19:21:59 +00:00
Moses Turner
1ef49b92f2
d/dai: Control floodlight brightness with an env var
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-15 09:54:54 -05:00
Christoph Haag
01dd02dc83
d/hdk: initialized thread helper
...
Fixes assert in debug mode.
2023-01-08 23:42:31 +01:00
Mateo de Mayo
6bd921b390
d/wmr: Fix unused corrected IMU timestamp
2023-01-02 16:21:08 -03:00
Jakob Bornecrantz
b87239e7d8
d/wmr: Increase display init sleep and also add debug variable to control it
2022-12-14 12:20:10 +00:00
Jakob Bornecrantz
ebb7c3cac2
d/wmr: Tidy prober code
2022-12-05 15:21:20 +00:00
Moses Turner
8c0735feec
d/rift_s: Link to hand tracking driver if necessary
2022-12-04 18:05:02 +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
Moses Turner
f580271291
d/wmr: Guess camera orientation for Reverb G2 based on HT0 twist value
2022-11-23 13:02:35 -06:00
Jakob Bornecrantz
8efb55403c
d/psvr: Switch to reading sensors from its own thread
...
Tested-by: number-g <g@imagination.eu.org>
2022-11-22 17:58:07 +00:00
Jakob Bornecrantz
b1b63a9397
d/vive: Do more tracing during packet handling
2022-11-21 13:47:58 +00:00
Jakob Bornecrantz
c9bbeac70a
d/v4l2: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
36d1734377
d/vive: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
5142fa7e88
d/psmv: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
0691ed9b89
d/wmr: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
89aee1892b
d/remote: Update protocol to allow per view data
2022-11-14 16:07:15 +00:00
Ryan Pavlik
11bdba7e64
drivers: can not -> cannot
2022-11-09 14:52:03 -06: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
ede2292690
d/psvr: Paranoia
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz
200bbc9da0
d/psvr: Protect sensore reads with device_mutex
...
Fixes asserts by the fusion code where samples where pushed in the wrong
order to the fusion code.
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz
fdac0b5137
d/psvr: Make sure to init the device_mutex before teardown can be called
2022-11-02 17:55:58 +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
Christoph Haag
9054dc01ca
d/ht_ctrl_emu: Stub set_output
2022-10-24 17:20:59 +00:00
Jakob Bornecrantz
9077261ada
d/dai: Set fields after nullptr check
2022-10-10 22:39:38 +00:00
Jakob Bornecrantz
00c3cc4c2f
d/dai: With the latest depthai-core we can support color OV9782 sensors
2022-10-10 22:39:38 +00:00
Jakob Bornecrantz
4814f627c6
d/dai: Fix conversion warnings
2022-10-10 22:39:38 +00:00
Jakob Bornecrantz
504a2a288e
d/dai: Fix typo
2022-10-10 22:39:38 +00:00
Christoph Haag
74d82ff37f
d/ht_ctrl_emu: Set xdev serial
2022-10-03 19:23:24 +02:00