Jakob Bornecrantz
20501b8e58
d/psmv: Use new log level var tracker
2020-07-03 19:01:55 +01:00
Jakob Bornecrantz
c4741cc49f
d/psmv: Use new logging level helper
2020-07-03 19:01:55 +01:00
Jakob Bornecrantz
ffcc06e099
d/psmv: Use new logging functions
2020-07-03 14:55:44 +01:00
Lubosz Sarnecki
fdffbfc68a
d/vive/controller: Print spew when receiving lighthouse data.
2020-07-02 19:29:14 +02:00
Lubosz Sarnecki
1071d7a50b
d/vive/controller: Uncomment and improve spew prints.
2020-07-02 19:29:14 +02:00
Lubosz Sarnecki
d047ce8af4
d/vive/controller: Add Vive tracker gen 2 support.
2020-07-02 19:29:14 +02:00
Lubosz Sarnecki
6662e0caef
d/vive/controller: Add Vive tracker gen 1 support.
2020-07-02 19:29:14 +02:00
Lubosz Sarnecki
2fd6fe2f16
d/vive/prober: Print error before device init.
2020-07-02 19:29:14 +02:00
Lubosz Sarnecki
260cfd8d26
d/vive/controller: Use u_json and move config to vive_config.
...
To be consistent with the headset implementation, move all config
related code to vive_config and use u_json consistently with static
string sizes.
2020-07-02 18:42:42 +02:00
Lubosz Sarnecki
53619fa64e
d/vive/controller: Move prober interface to vive_prober.
...
Create propper initializer for the controller and move the proper
interface to vive_prober to be more consistent with the device. This
will also allow to share more code like the config parsing in a later
patch.
2020-07-02 18:42:42 +02:00
Lubosz Sarnecki
f33c6356d7
d/vive: Rename vive_controller files.
...
To be more consistent with the rest of the driver, rename the controller
files to match the others style.
2020-07-02 18:42:42 +02:00
Lubosz Sarnecki
eb51b89e9c
d/vive_config: Move config and json related code to vive_config.
...
Isolate JSON config related code in vive_config.
2020-07-02 18:42:42 +02:00
Lubosz Sarnecki
2580958e2c
d/vive: Use functions from u_json.
...
Uses the old and newly moved u_json functions.
Creates defines to keep short syntax.
Strings are now stored with static sizes in favor of being allocated
dynamically and not freed.
2020-07-02 18:42:42 +02:00
Lubosz Sarnecki
bb52a673eb
d/vive/controller: Parse vec3 correctly as arrays.
...
The u_json_get_vec3 function only works for json vec3 objects with x, y,
z members. The function unnoticedly returned false before.
2020-07-02 18:42:42 +02:00
Lubosz Sarnecki
efd351f5c1
d/vive/controller: Initialize debug and spew before it's used.
2020-07-02 18:36:21 +02:00
Lubosz Sarnecki
f9d92890ce
d/vive: Fix crash on Vive Pro as it's missing a json key.
...
The key "lens_separation" is not available in my Vive Pro config.
2020-07-02 18:35:18 +02:00
Christoph Haag
08c6fe9744
d/vive_controller: Fix imu timestamp calculation
...
Philipp Zabel looked into it and it turns out the timestamp from the
imu sample should be the third byte, not the fourth.
2020-07-02 11:33:58 +02:00
Christoph Haag
acdda780b6
d/vive_controller: implement remaining "gen2" input events
...
v2: document and clarify imu sample timestamp
2020-07-01 18:36:41 +02:00
Christoph Haag
d8de19d4ae
d/vive_controller: Add and set Index "Gen2" input names
2020-07-01 18:36:41 +02:00
Jakob Bornecrantz
addeea2acf
d/psmv: When in 3dof mode return angular and linear velocities
2020-06-26 10:41:13 +01:00
Christoph Haag
2a9a14c605
d/survive: Report linear and angular velocities from survive
2020-06-26 01:41:08 +02:00
Jakob Bornecrantz
017e6738e0
d/psmv: Slightly improved locking and printing
2020-06-23 12:39:57 +01:00
Ryan Pavlik
bc6cc85e7d
xrt: Improve doxygen documentation.
2020-06-03 16:28:18 -05:00
Jakob Bornecrantz
371622c199
d/psvr: Normalize rotation
2020-06-02 13:02:04 +01:00
Christoph Haag
384114b821
d/survive: Don't invert valid position condition
2020-05-29 00:35:58 +02:00
Christoph Haag
7b2c54c223
d/survive: don't report invalid poses as valid
2020-05-28 17:37:09 +02:00
Christoph Haag
25bafd71c8
d/survive: Remove useless loop
...
We already have a SurviveSimpleObject, no need to look for it through iteration
2020-05-28 17:20:46 +02:00
Ryan Pavlik
e565ab6d0f
d/psvr: Fix warnings
2020-05-26 11:25:03 -05:00
Jakob Bornecrantz
f9e933af39
d/psmv: Transform the ball tip pose so it can be used for pointing
2020-05-25 19:50:31 +00:00
Ryan Pavlik
75d05c49de
build: Fix missed rename of config
2020-05-19 16:15:00 -05:00
Christoph Haag
854272a7d0
d/vive_controller: Don't infinitely loop in device update
...
This prevented the update thread from being joined and the driver from being destroyed.
2020-05-14 00:25:34 +02:00
Ryan Pavlik
4638b0af7b
build: Switch all CMake options to XRT_... to match what's used in source.
...
Also revise other small related parts of the build to make them more clear and consistent.
2020-05-12 11:52:51 -05:00
Christoph Haag
653ca1d39d
d/vive: Declare struct forward declaration as extern
...
Fixes build with gcc on arch.
2020-05-12 15:38:04 +02:00
Christoph Haag
5908c33439
d/survive: Add survive driver
2020-05-09 13:12:06 +00:00
Christoph Haag
aaa2f0a0bd
d/vive_controller: read from usb with timeout
...
This aligns with the vive HMD driver and fixes high CPU usage.
2020-05-07 21:24:43 +02:00
Christoph Haag
dc4dcf15a9
d/vive_controller: Fix left index controller imu
...
The IMU in the left index controller has a different orientation
than the right one.
2020-05-05 19:50:20 +00:00
Christoph Haag
f8b2e179cb
d/vive_controller: index controller trackpad: send 0,0 position after release
2020-05-05 14:19:37 +00:00
Christoph Haag
a1b6efd16b
d/vive_controller: Report zero values for trigger and trackpad
...
Turns out we actually want to know when theose transition into/over zero.
2020-05-04 21:25:03 +02:00
Jakob Bornecrantz
c582bde17a
d/dd: Make touchpad a single input
2020-05-03 22:58:47 +00:00
Christoph Haag
d62c2d2011
st/oxr: properly enable binding to /x and /y
...
Store Thumbstick, Trackpad etc. data internally in a vec2f.
The knowledge that a binding path ../x and ../y refers to the x and y components of this vec2f
is stored as an INPUT_REDIRECT_VEC2_X_TO_VEC1 or INPUT_REDIRECT_VEC2_Y_TO_VEC enum.
Actions now also store the index of the binding paths it matched to,
e.g. when an action binds ../trackpad/y to an input that provides bindings [../trackpad, ../trackpad/x, ../trackpad/y],
the index 2 is stored.
v2: Clarify preferred binding path index variable
2020-05-03 22:58:47 +00:00
Ryan Pavlik
ee90eb1d7e
d/vive: Fix typos
2020-04-28 16:49:13 -05:00
Ryan Pavlik
cb3096128a
d/vive: Fix build on Android NDK by switching byte order utilities.
2020-04-28 21:40:57 +00:00
Ryan Pavlik
974c68dead
xrt: Re-arrange build to avoid unnecessary includes.
...
Avoid unintentionally including cJSON from the source tree when using system,
etc. This adds granularity to the usage of "external" sources.
2020-04-28 21:36:46 +00:00
Jakob Bornecrantz
cb90837d97
d/v4l2: Add support for XRT_FORMAT_UYVY422
2020-04-28 11:46:31 +00:00
Jakob Bornecrantz
59b7794172
xrt: Rename XRT_FORMAT_YUV422 to XRT_FORMAT_YUYV422
2020-04-28 11:46:31 +00:00
Jakob Bornecrantz
a8941859d7
d/v4l2: A bit more extra error printing
2020-04-28 11:46:31 +00:00
Christoph Haag
d4e4a690db
d/vive_controller: Add basic 3dof vive_controller_driver
...
v2: Add basic 3DOF Index Controller support
Only the "gen1" watchman usb protocol is supported (almost same as vive wand).
Note: Lighthouse v2 data is not properly ignored, the IMU data is only parsed correctly
when controller is not hit by lighthouse lasers.
Supported:
* trigger value
* trigger button
* trackpad x, y
* trackpad touch
* thumbstick x, y
* thumbstick click
* system click
* a click,
* b click
Not supported:
* trigger touch
* touchpad force
* thumbstick touch
* system touch
* a touch
* b touch
* grip squeeze
* finger tracking
2020-04-28 10:22:42 +00:00
Christoph Haag
e3b74c2e70
d/vive: Fix _json_get_string
2020-04-28 10:22:42 +00:00
Christoph Haag
04ebc42666
d/vive: Make common functions available through vive_protocol.h
...
Move common code to vive_protocol.c
2020-04-28 10:22:41 +00:00
Jakob Bornecrantz
a10e7fe968
d/psmv: Move led and rumble update to thread
2020-04-25 16:24:28 +01:00
Ryan Pavlik
fc686f27dd
d/psmv: Codespell fix
2020-04-24 15:31:51 -05:00
Ryan Pavlik
b7e28b0eb8
d/psmv: Codespell fix
2020-04-24 15:30:46 -05:00
Jakob Bornecrantz
01c479468c
d/psvr: Use the simple 3dof imu filter
2020-04-22 22:00:13 +01:00
Jakob Bornecrantz
e37d8f4cf5
xrt: Remove timestate from xrt_device interface
2020-04-16 17:29:34 +01:00
Christoph Haag
99af2b76d3
d/hdk: Remove unused, accidentally left in code
2020-04-16 14:44:54 +02:00
Christoph Haag
511dd78376
d/hdk: Poll imu in thread & drain queue on every poll
...
Fix #67
2020-04-16 00:24:59 +02:00
Jakob Bornecrantz
452c1c0ba3
d/v4l2: Tweaks for the ELP stereo camera
2020-04-10 12:29:21 +00:00
Jakob Bornecrantz
de20d87f87
xrt: Make it possible for the prober to pass in JSON data to the drivers
2020-04-10 12:29:21 +00:00
Lubosz Sarnecki
65d6ade6f3
d/ns: Remove redundant semicolons.
...
As found by C++ pedantic warnings.
2020-03-31 18:26:56 +02:00
Jakob Bornecrantz
a8a4d8c3dd
d/arduino: Add new flexible arduino based input device
2020-03-27 10:22:19 +00:00
Ryan Pavlik
4c54ccd0fb
d/psmv: Switch to using pre-filter
2020-03-26 12:00:26 +00:00
Ryan Pavlik
98ad405d59
d/psmv: Use all 6 calibration measurements to compute accel bias.
2020-03-26 12:00:26 +00:00
Jakob Bornecrantz
dd5246ceaf
d/dd: Use new pre-filter and 3DOF fusion, also tidy driver.
2020-03-25 13:58:51 +00:00
Jakob Bornecrantz
2a68f3c9d3
d/dd: Give correct delta into math_quat_integrate_velocity
2020-03-25 13:58:51 +00:00
Jakob Bornecrantz
99eda56d39
d/vive: Use new 3DOF fusion
2020-03-25 13:58:51 +00:00
Pete Black
b6613db5d4
d/dd: Add Daydream driver
2020-03-11 21:36:49 +00:00
Jakob Bornecrantz
a03d1fbf97
d/rs: Use realsense2::realsense2 in cmake
...
Not sure if this is the correct thing todo as the librealsense example
doesn't use the realsense2::realsense2 form.
https://github.com/IntelRealSense/librealsense/blob/master/examples/cmake/CMakeLists.txt
2020-03-05 17:27:08 +00:00
Ryan Pavlik
92205ab5be
build: Refactor CMake build to use static libraries instead of object bundles.
...
This allows transitive dependencies to work easier and improves compatibility.
It takes a little bit more storage at build time, and possibly a little extra time.
2020-03-04 11:15:35 +00:00
Ryan Pavlik
f3eac87504
xrt: Correct usage of XRT_MAYBE_UNUSED on functions.
...
It shouldn't be used on a function marked "static inline" - that's
sufficient to avoid the warning. So, it should almost never be in
a header.
2020-03-04 11:15:35 +00:00
Jakob Bornecrantz
d2126882f6
d/rs: Add missing include
2020-03-04 11:15:35 +00:00
Ryan Pavlik
443528030d
d/psmv: Add missing include
2020-03-04 11:15:35 +00:00
Ryan Pavlik
601a079387
d/hydra: Add missing include
2020-03-04 11:15:35 +00:00
Ryan Pavlik
0cb53a8c53
d/vive: Add missing include
2020-03-04 11:15:35 +00:00
Ryan Pavlik
2c271048c0
d/dummy: Fix typo in comment
2020-03-04 11:15:35 +00:00
Jakob Bornecrantz
0619190d2b
build: Refactor how config defines are handled
...
With loads of changes from Ryan.
2020-03-03 10:33:14 +00:00
Ryan Pavlik
8f0082e810
drivers: Clean up documentation.
...
Making the Modules page in Doxygen more consistent.
2020-03-02 12:35:49 -06:00
Jakob Bornecrantz
b05cf3667a
d/v4l2: Use timeval conversion function
2020-02-27 13:55:58 +00:00
Christoph Haag
7403d45133
d/ohmd: Add quirk to rotate WVR2 display left
...
OpenHMD can't easily tell us the WVR SKU because it has to read it
from the config after opening the device, while the product string
is set at device list time.
As a workaround, recognize the WVR2 by its resolution.
2020-02-18 00:33:59 +01:00
Jakob Bornecrantz
a4ed39bf65
d/ohmd: Select correct pano_warp_scale
2020-02-15 16:03:13 +00:00
Jakob Bornecrantz
f974301877
d/rs: Process frame does not take ownership of the frame
2020-02-12 14:16:39 +00:00
Jakob Bornecrantz
42df1aab20
d/ns: Tidy code
2020-02-12 12:22:21 +00:00
Jakob Bornecrantz
eee034c18d
d/ns: Remove unused file
2020-02-12 12:22:08 +00:00
Jakob Bornecrantz
68422f6e3e
d/ns: Fix all warnings and tidy code
2020-02-12 12:22:08 +00:00
Nova
d4e034dd44
d/ns: Greatly extend the North Star driver
2020-02-12 12:22:07 +00:00
Jakob Bornecrantz
fd9cef6493
d/vive: Use proper external include in meson
2020-02-10 20:38:19 +00:00
Jakob Bornecrantz
937e6fafb7
d/ns: Use RealSense 6DOF for tracking if available
2020-02-10 20:07:31 +00:00
Jakob Bornecrantz
b75ac54fe6
d/ns: Only create a North Star hmd if config path is set
2020-02-10 20:07:31 +00:00
Jakob Bornecrantz
d6d934e35f
d/rs: Meson build
2020-02-10 20:07:31 +00:00
Jakob Bornecrantz
53201debdc
d/rs: Add a simple pure 6DOF device, for the T26[1|5] devices
2020-02-10 20:07:31 +00:00
Ryan Pavlik
84dfbf241f
d/vive: Fix typo.
2020-01-31 10:47:52 +01:00
Jakob Bornecrantz
fca0513b4e
d/v4l2: Print out the card name during debugging
2020-01-26 19:37:37 +00:00
Jakob Bornecrantz
e74fab4d14
d/ns: Correct directory in documentation
2020-01-26 17:04:34 +00:00
Jakob Bornecrantz
1bcf13ba7e
u/mesh: Refactor and document
2020-01-26 16:00:14 +00:00
Jakob Bornecrantz
62addc7a9f
d/ns: Add stub mesh generation code
2020-01-25 17:32:32 +00:00
Nova
981fe55a27
d/ns: Add North Star stub driver
2020-01-25 17:06:51 +00:00
Jakob Bornecrantz
260a0279aa
d/dummy: Track pose
2020-01-25 16:40:09 +00:00
Jakob Bornecrantz
d305f773ea
d/ohmd: Do not open External Device by default
2020-01-25 14:42:02 +00:00
Jakob Bornecrantz
356e4c18c1
d/dummy: Add dummy HMD driver
2020-01-25 14:42:02 +00:00
Jakob Bornecrantz
a48d5bb835
d/vive: Also rotate acceleration
2020-01-24 21:43:32 +00:00
Jakob Bornecrantz
b3e84f9041
xrt: Make sure that auto probers can add non-HMD devices after a HMD has been found
2020-01-23 15:51:36 +00:00