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
Jakob Bornecrantz
c2560ae6d2
xrt: Switch to new quirking sink
...
This is done in one commit as split out they would leave the code
in a fairly broken state.
2020-01-17 14:31:50 +00:00
Jakob Bornecrantz
4024bd454a
xrt: Expose the name of the frameserver source
2020-01-17 14:31:45 +00:00
Samantha Bowen
14bfd17f39
d/ohmd: Add position tracking.
2020-01-15 21:07:05 +00:00
Ryan Pavlik
130a649f92
build: Move checking of sufficient enabled drivers to the drivers dir
2020-01-14 11:51:12 -06:00
Ryan Pavlik
d03db42075
d/hdk: Does not require hidapi
2020-01-14 11:51:12 -06:00
Jakob Bornecrantz
382813edd6
d/vive: Dump JSON config on debug instead of spew
2020-01-14 15:59:41 +00:00
Jakob Bornecrantz
8ded6bac8b
d/vive: Extract lighthouse data
2020-01-14 15:59:41 +00:00
Jakob Bornecrantz
3f9d94cb8a
d/psmv: Mark ball pose as active depending on tracking
2020-01-13 21:59:37 +00:00
Ryan Pavlik
ae466ce70e
d/vive: Fix typos.
2020-01-09 16:32:18 -06:00
Jakob Bornecrantz
b816afce63
d/vive: Extract Index canting parameter from the config
2020-01-09 15:22:14 +00:00
Ryan Pavlik
290bd7937b
d/vive: Port to cJSON.
...
Replacing nxjson because of license issues: upstream of nxjson is LGPL3.
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
d6ca37bc70
d/vive: Set last acc and gyro values
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
8306e00bd1
d/vive: Apply all axis flip after scale and bias
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
995ecfaac2
d/vive: Tidy IMU code
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
4895ab704c
d/vive: Tidy and refactor config parsing
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
ba104f59f3
d/vive: Tidy motherboard thread
2019-12-22 14:08:14 +00:00
Jakob Bornecrantz
85197f1584
d/vive: Tidy sensors thread
2019-12-22 14:08:14 +00:00
Jakob Bornecrantz
784b53ded2
d/vive: Spew instead of debug vive_device_update_inputs
2019-12-22 13:35:37 +00:00
Ryan Pavlik
c92590930d
d/vive: clang-tidy
2019-12-07 18:25:37 +00:00
Ryan Pavlik
5772f86292
d/psvr: clang-tidy
2019-12-07 18:25:36 +00:00
Ryan Pavlik
a36d351a18
d/psmv: clang-tidy
2019-12-07 18:25:36 +00:00
Ryan Pavlik
c9f1b2be4b
d/vive: Port realloc to helper macro
2019-12-07 18:24:56 +00:00
Ryan Pavlik
2d86dfd560
d/v4l2: Type safety fixes and realloc porting
2019-12-07 18:24:56 +00:00
Ryan Pavlik
e11eb0203f
d/vive: Initializer order fix
2019-12-07 18:24:56 +00:00
Ryan Pavlik
282f38ca62
d/vive: Type safety fix
2019-12-07 18:24:52 +00:00
Ryan Pavlik
be8530db74
d/psvr: Type correctness fixes
2019-12-07 18:21:28 +00:00
Ryan Pavlik
a7a7545d0d
d/psmv: Casting/type safety fixes
2019-12-07 18:21:22 +00:00
Ryan Pavlik
86db0622f9
d/vive: Split nxjson sources from vive sources
2019-12-07 18:21:17 +00:00
Ryan Pavlik
7ca4fb34d5
d/v4l2: typo fix
2019-12-03 09:39:06 -06:00
Jakob Bornecrantz
ee3d9d08f6
u/time: Send in a pointer to pointer to the timekeeping destroy function
2019-11-15 20:30:01 +00:00
Jakob Bornecrantz
76445c8fe9
d/psvr: Fix use after free of timekeeping
2019-11-15 15:23:25 +00:00
Jakob Bornecrantz
b33811930b
d/psvr: Get data info packet 0x82
2019-11-15 14:55:18 +00:00
Ryan Pavlik
21352ca338
t_imu: Add param for accelerometer output
2019-11-14 12:14:58 +00:00
Ryan Pavlik
29c630cec8
d/psvr: Port PSVR to use timestamps
2019-11-14 12:14:58 +00:00
Ryan Pavlik
194938c405
d/psmv: Port positional tracking to use t_imu_fusion with timestamps
2019-11-14 12:14:58 +00:00
Ryan Pavlik
aaf08a2abd
d/psmv: Porting to changed API that uses timestamps instead of dt
2019-11-14 12:14:58 +00:00
Ryan Pavlik
ca7397be45
d/psmv: Initial port to imu fusion for orientation-only
2019-11-14 12:14:58 +00:00
Ryan Pavlik
e44dd1a755
d/vive: Use define for standard gravity
2019-11-11 17:57:40 -06:00
Drew DeVault
4c7f830ea5
d/vive: reset orientation on headset button
2019-11-07 09:39:33 -05:00
Jakob Bornecrantz
1f02c54858
d/vive: Fix copy typo
2019-11-07 13:45:56 +00:00
Lubosz Sarnecki
2ffa77d923
d/vive: Handle error when config could not be read.
2019-11-07 14:16:09 +01:00
Lubosz Sarnecki
db1e5b9f16
d/vive: Initialize useful defaults.
...
This initializes default values in the display, distortion and IMU
properties so the runtime is happy in case the JSON config could not be
read.
This patch also moves default value initialization for the Index
into one place with the others, for cases we do not have the data.
2019-11-07 14:16:09 +01:00
Jakob Bornecrantz
e7e550fa8d
d/psmv: Fix build
2019-11-06 19:51:24 +00:00
Jakob Bornecrantz
a54cdb2632
d/psvr: Can we get some info out of the calibration data
2019-11-06 19:50:07 +00:00
Jakob Bornecrantz
845af78c20
d/psvr: Only flip Z-axis after calibration is applied
2019-11-06 19:50:07 +00:00
Jakob Bornecrantz
c60b9881e2
d/psmv: More verbose error handling
2019-11-06 19:48:01 +00:00
Jakob Bornecrantz
93218fa9e4
d/psvr: Tweak panotools values
2019-11-05 12:31:42 +00:00
Ryan Pavlik
059234bbfc
d/vive: Cleanup scopes, types, leak in vive_sensors_read_config
2019-11-01 22:41:22 +00:00
Ryan Pavlik
e8660a18bd
build: Use CMAKE_POSITION_INDEPENDENT_CODE instead of target props.
...
Reduces repetitive code.
2019-11-01 16:51:54 -05:00
Drew DeVault
6bce0838e0
d/vive: Fix minor typo in vive driver
2019-11-01 14:35:41 +00:00
Christoph Haag
746cccca36
meson: HDK driver does not depend on hidapi
2019-10-31 02:26:19 +01:00
Christoph Haag
680b8971b3
d/hdk: Remove unused hidapi include
2019-10-31 01:50:30 +01:00
Jakob Bornecrantz
477e740568
d/psmv: Fix flipped bit for cross and square
2019-10-29 20:08:49 +00:00
Ryan Pavlik
56f61412f5
d/psmv: Fix possible alignment issues and endianness comments
2019-10-25 18:08:20 +01:00
Jakob Bornecrantz
06ffb8da8f
d/psvr: Remove none used inbuilt mesh
2019-10-25 13:05:54 +00:00
pblack
73420739d9
d/psvr: Adjust values and remove comments
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
c5e1511271
d/psvr: Use new mesh distortion generator functions
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
be712c7049
d/ohmd: Use mesh shader for none distortion
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
c906caabf4
d/psvr: Disable mesh distortion
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
babd3af4ae
d/psvr: Add link to documention
2019-10-25 12:32:40 +01:00
Jakob Bornecrantz
b9e1ca6e55
d/psvr: Document calibration data getting process better
2019-10-25 12:27:54 +01:00
Jakob Bornecrantz
fda43c5a19
d/psvr: Add code to get device name and calibration data
2019-10-25 11:11:45 +01:00
Jakob Bornecrantz
6580e3ee3f
d/psmv: Use U_ZERO
2019-10-24 22:45:07 +01:00
Jakob Bornecrantz
6bfb1d9110
d/psmv: Fix buttons parsing
2019-10-24 22:16:40 +01:00
Jakob Bornecrantz
aa52da072f
xrt: Remove relation input type
2019-10-24 21:51:07 +01:00
Jakob Bornecrantz
8f6da565e2
d/v4l2: Align up the buffer size
2019-10-24 16:43:45 +01:00
Jakob Bornecrantz
6b99e2fbdc
d/psvr: Add new imu code, but it's stubbed out... Unless?
2019-10-22 19:51:24 +01:00
Jakob Bornecrantz
35ae8f31ce
d/vive: Add some variable tracking
2019-10-22 18:52:52 +01:00
Lubosz Sarnecki
5becb60714
d/vive: Use different device string for each variant.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
02dc839ca8
d/vive: Add initial support for the Valve Index.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
2ed3109c95
d/vive: Add initial support for Vive Pro.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
e063e8245e
d/vive: Add native driver for the Vive.
...
This adds a driver for the Vive family of devices based on Philipp
Zabel's ouvrt.
The driver currently only handles the IMU and main board report streams,
but is able to acquire the JSON configuration and utilize it for IMU
calibration as well as distortion configuration.
2019-10-22 19:18:47 +02:00
pblack
e32902843c
comp: Add chromatic aberration correction to mesh
2019-10-22 14:44:26 +01:00
Jakob Bornecrantz
0b16e1e94d
d/v4l2: Set the timestamp
2019-10-22 09:44:39 +01:00
Jakob Bornecrantz
4d0b2f0b81
d/v4l2: Better control quirking tools
2019-10-21 17:21:28 +01:00
Jakob Borncrantz
d245fc33c9
d/ohmd: Add variable tracking
2019-10-15 21:00:12 +02:00
Lubosz Sarnecki
6ec8721899
xrt: Add num_devices to prober found interface.
...
In order to access multiple devices the prober found interface needs to
pass the length of the device list. This patch updates the found
interface in all drivers.
2019-10-11 15:56:20 +01:00
Lubosz Sarnecki
3e8bd73e34
d/hdk: Use float to avoid implicit cast.
2019-10-11 15:55:18 +01:00
Jakob Bornecrantz
fece0458b6
t/psmv: Make it possible to get the tracked ball pose
2019-10-11 15:40:42 +01:00
pblack
1dacea071d
d/psvr: Add hacked mesh distortion
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
473047962f
d/psvr: Correct screen size
2019-10-08 11:19:14 +01:00
Ryan Pavlik
5d9311bd30
d/psmv: Fix size of tracking ball.
2019-10-07 12:39:56 +00:00
Jakob Bornecrantz
3bee6e3a8b
d/ohmd: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
30de1d0928
d/psvr: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
216f7df355
d/ohmd: Less distorted view on external device
2019-09-27 20:28:04 +01:00
Jakob Bornecrantz
765d263b96
d/psvr: Use os_nanosleep
2019-09-27 11:44:54 +01:00
Drew DeVault
064aef3526
build: port to meson
2019-09-26 15:05:22 +00:00
Jakob Bornecrantz
9c7c818637
d/v4l2: Use more portable sysconf(_SC_PAGESIZE)
2019-09-26 16:03:48 +01:00
Jakob Bornecrantz
871b06cd72
aux/tracking: Add stub PSVR tracker
2019-09-22 11:50:34 +01:00
Jakob Bornecrantz
a4ee0dd838
d/psvr: Use tracking interface
2019-09-21 19:02:13 +01:00
Jakob Bornecrantz
b47efb1520
d/psmv: Use tracking interface
2019-09-21 18:33:45 +01:00
Jakob Bornecrantz
387bc123f8
xrt: Expand tracking interface
2019-09-21 18:22:06 +01:00
Jakob Bornecrantz
046c9e18b9
d/psmv: Fix timestamp parsing (ZCM2)
2019-09-20 12:06:58 +01:00
Ryan Pavlik
63d62cf4fe
d/psmv: Fix timestamp parsing (ZCM1)
2019-09-20 12:06:48 +01:00
Lubosz Sarnecki
9dec3dda81
drv_psvr: Fix prototype warnings in clang.
2019-09-20 10:14:49 +02:00
Jakob Bornecrantz
ff341e43f0
d/psvr: Use standard gravity value
2019-09-16 16:36:54 +01:00
Jakob Bornecrantz
d3eb48ada4
d/psmv: Normalize acceleration to gravity
2019-09-16 16:36:48 +01:00
Jakob Bornecrantz
46389cd6ae
xrt: Send in real prober to auto probers
2019-09-15 23:24:58 +01:00
Jakob Bornecrantz
59a2b87c43
d/psmv: Tidy code and add some comments
2019-09-15 23:22:25 +01:00
Jakob Bornecrantz
d4e139f09e
d/psmv: Use gyro_bias from calibration data on ZCM2
2019-09-15 23:22:25 +01:00