Jakob Bornecrantz
078ac7c59e
st/oxr: Slightly better error message
2019-10-19 22:18:29 +01:00
Jakob Bornecrantz
e56271d968
st/oxr: Add super hacky debug gui
2019-10-15 20:54:57 +01:00
Jakob Bornecrantz
5f1078675d
st/gui: Do not call prober select in debug scene
2019-10-15 20:54:52 +01:00
Jakob Borncrantz
7239282aab
st/prober: Add tracking factory variable tracking
2019-10-15 21:05:37 +02:00
Jakob Borncrantz
d245fc33c9
d/ohmd: Add variable tracking
2019-10-15 21:00:12 +02:00
Jakob Borncrantz
0bc91ab1cd
cmake: Make sure to link to pthreads
2019-10-15 21:00:12 +02:00
Ryan Pavlik
f4f07da0c2
t/file: Comment matrix sizes since entirely generic matrix types used.
2019-10-15 20:50:32 +02:00
Ryan Pavlik
bc081bee80
t/psmv: cleanup/comments
2019-10-15 20:50:32 +02:00
Jakob Bornecrantz
f8ee9281f8
t/calibration: Move more data storage to C portion
2019-10-13 10:48:07 +01:00
Jakob Bornecrantz
43c366ad41
t/file: Save more calibration data
2019-10-12 22:07:49 +01:00
Jakob Bornecrantz
9ec1205f37
t/api: Add comments and put all files in tracking group
2019-10-12 12:24:19 +01:00
Jakob Bornecrantz
a435817a6f
t/file: Add comments and restyle (NFC)
2019-10-12 12:23:42 +01:00
Lubosz Sarnecki
783a36fbcc
st/prober: Add libusb error strings and can open function.
...
The prober will now output libusb errors as string. This patch also adds
a `can_open` function to the prober, that opens and closes device with
libusb to ensure devices can be opened.
This makes it possible to ensure early that permissions on the device
are correct.
2019-10-11 15:56:30 +01: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
Jakob Bornecrantz
a0a4fa3399
st/oxr: Fixes for ball on stick bindings
2019-10-11 15:40:39 +01:00
Drew DeVault
bca5899fcc
meson: fix build with 0.52+
2019-10-10 23:21:27 +00:00
Drew DeVault
202d1d72aa
openxr/meson.build: remove install: true
...
This removes the meson feature warnings.
2019-10-10 22:58:10 +00:00
Drew DeVault
7f16e7230f
oxr_verify.cpp: rewrite in C
2019-10-10 22:54:19 +00:00
Drew DeVault
d7debdb724
oxr_logger.cpp: rewrite in C
2019-10-10 22:54:19 +00:00
Drew DeVault
6c275f0aae
oxr_event.cpp: rewrite in C
2019-10-10 22:54:19 +00:00
Drew DeVault
904d58d365
oxr: track list of sessions; poll sessions
2019-10-10 22:51:21 +00:00
Drew DeVault
a736812f63
oxr: mostly implement XR_SESSION_LOSS_PENDING
...
This is missing support for xrPollEvents, which needs to be handled
separately as it's not properly rigged up throughout Monado yet.
2019-10-10 22:51:21 +00:00
Jakob Bornecrantz
bffe802449
t/psmv: Adjust room position in prober instead
2019-10-10 23:47:51 +01:00
Ryan Pavlik
3630dae537
t/psmv: FindLowestScore template param renames
...
Less terse
2019-10-10 21:48:09 +00:00
Ryan Pavlik
430e27d084
t/psmv: Use new imu fusion in psmv positional tracking.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
18f9760986
tracking: Add t_imu: simple IMU fusion for absolute orientation
2019-10-10 21:48:09 +00:00
Ryan Pavlik
b00f5315c2
t/psmv: Initial Kalman filter.
...
Rotation a little out of control right now because still using bad fusion.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
85b6c7222d
tracking: Add t_fusion for Kalman filter added code.
2019-10-10 21:48:09 +00:00
Jakob Bornecrantz
315d3b65f1
comp: Do not destry VK_NULL_HANDLE buffers and memory
2019-10-10 22:11:09 +01:00
Jakob Bornecrantz
7680038f8b
t/gui: Request forward compatible OpenGL version and minimum 3.2
2019-10-10 16:06:57 +01:00
pblack
1dacea071d
d/psvr: Add hacked mesh distortion
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
e86628884b
comp: Add disabled shader debugging code
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
2db8138e8e
comp: Hack in a flip of the right eye
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
fafbe287e1
comp: Clamp UV textures to a black border
2019-10-10 13:28:01 +01:00
pblack
898c1b4a9f
comp: Add mesh distortion shader
2019-10-10 13:28:01 +01:00
pblack
b351e8cd75
aux/util: Don't overwrite distortion info
2019-10-10 01:52:45 +01:00
Jakob Bornecrantz
102e36efc9
st/gui: Don't include glad directly
2019-10-09 22:11:41 +01:00
Jakob Bornecrantz
1afc4df95c
st/gui: Refactor gui code into it's own state tracker
2019-10-09 21:53:21 +01:00
Jakob Bornecrantz
e327d56bf4
aux/ogl: Introduce a single small OpenGL library
2019-10-09 17:07:23 +01:00
Jakob Bornecrantz
420f25c7f7
t/gui: Refactor out SDL2 code
2019-10-09 16:32:58 +01:00
Jakob Bornecrantz
473047962f
d/psvr: Correct screen size
2019-10-08 11:19:14 +01:00
Jakob Bornecrantz
acd2c50470
aux/math: Rework offset transformation
...
This reverts commit 0d9aaae470
, and changes it.
2019-10-08 11:19:14 +01:00
Jakob Bornecrantz
0d9aaae470
aux/math: Correct(?) transform
2019-10-08 01:04:46 +00:00
Jakob Bornecrantz
68e7544f57
comp: Free window swapchain VkImageViews & VkSwapchainKHR
2019-10-08 00:04:25 +01:00
Jakob Bornecrantz
649bf88379
comp: Make sure to free VkImageViews on swapchains
2019-10-07 23:48:39 +01:00
Jakob Bornecrantz
0108207b3d
comp: Use VK_NULL_HANDLE
2019-10-07 23:27:09 +01:00
Jakob Bornecrantz
1d9009a461
comp: Set array_size
2019-10-07 23:26:43 +01:00
Benjamin Saunders
3d5872f346
comp: Fix missing usages on Vulkan client swapchains
2019-10-07 22:08:56 +01:00
Ryan Pavlik
23e7f99a71
t/psmv: More algorithm simplification/optimization
2019-10-07 12:39:56 +00:00
Ryan Pavlik
7e358ea721
t/psmv: Simplify final stage of tracking.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
d7d12a69f8
aux/tracking: Remove unused functions.
...
Use cv::norm instead.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
09f984258f
t/psmv: Improve finding the nearest blob.
...
No more need to construct a vector every time.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
5d9311bd30
d/psmv: Fix size of tracking ball.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
76aa839f5b
a/track: Simplify.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
37d4eae37a
a/track: Fix typo.
2019-10-07 12:39:56 +00:00
Jakob Bornecrantz
d8cd9ffcdd
st/prober: Better error printing
2019-10-04 10:32:02 +01:00
Jakob Bornecrantz
f2fcfd98e1
aux/os: Return 'errno' on device open failure
2019-10-04 10:32:02 +01:00
Lubosz Sarnecki
979536dd4b
xrt/comp/cmake: Enable build of Wayland backend.
...
Add pkgconfig based Wayland build including protocol generation.
2019-10-02 12:22:42 +02:00
Jakob Bornecrantz
51f3fac192
aux/tracking: Refactor calibration data handling
2019-09-29 15:43:54 +01:00
Jakob Bornecrantz
b37eb0f55b
xrt: Add xrt_size struct
2019-09-29 15:43:54 +01:00
Jakob Bornecrantz
cbee61a008
xrt: Don't derive pointer alignment
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
ec7e98538c
st/prober: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
76527b73f8
st/oxr: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
0987927343
aux/util: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
423da670fa
aux/tracking: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
b95e114160
aux/math: Code style, pointer star location
2019-09-29 11:45:23 +01: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
5cd4d272a2
comp: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
42f4784d14
xrt: Code style, pointer star location
2019-09-29 11:45:19 +01:00
Jakob Bornecrantz
70f632be10
aux/tracking: Refactor PS Move tracking code
2019-09-28 18:06:05 +01:00
pblack
5d616cd077
aux/tracking: Port PS Move tracker
2019-09-28 18:04:19 +01:00
Jakob Bornecrantz
3e27720083
t/gui: Better handling of sink interceptors
2019-09-28 18:02:41 +01:00
Jakob Bornecrantz
bc26f68c74
aux/calibration: Do fast pass for checkerboard detection and tidy file
2019-09-28 15:17:48 +01:00
Jakob Bornecrantz
b5eae545e7
aux/tracking: Fix build on new OpenCV versions
2019-09-28 02:55:37 +01:00
Jakob Bornecrantz
6dcf69df83
aux/tracking: Adjust checkerboard corners for subpixel accuracy
2019-09-28 02:47:42 +01:00
Jakob Bornecrantz
ee3f54adb6
aux/tracking: Add parameters to calibration
2019-09-27 20:49:31 +01:00
Jakob Bornecrantz
8d0aa220c1
aux/tracking: Tidy calibration
2019-09-27 20:49:31 +01:00
Jakob Bornecrantz
ea5203fbc0
aux/tracking: Fix position hack in PSVR
2019-09-27 20:28:04 +01:00
Jakob Bornecrantz
cc2f456663
aux/tracking: Fix warnings
2019-09-27 20:28:04 +01:00
Jakob Bornecrantz
216f7df355
d/ohmd: Less distorted view on external device
2019-09-27 20:28:04 +01:00
Jakob Bornecrantz
fcc316d6f1
st/prober: First ball is red
2019-09-27 20:28:04 +01:00
Jakob Bornecrantz
c295c8e6c9
xrt: Refactor meson and cmake (most) to fix cmake build
2019-09-27 12:19:48 +01:00
Jakob Bornecrantz
d848ea010f
xrt: s/XRT_BUILD_*/XRT_BUILD_DRIVER_*/g
2019-09-27 12:03:36 +01:00
Jakob Bornecrantz
765d263b96
d/psvr: Use os_nanosleep
2019-09-27 11:44:54 +01:00
Jakob Bornecrantz
b8205d77fe
meson: Add all tracking files
...
PSVR and PSMV trackers are independant from the drivers, so build them all always.
2019-09-26 22:34:14 +01:00
Jakob Bornecrantz
6081b147fc
cmake: Tidy auxiliary file
2019-09-26 22:34:14 +01:00
Jakob Bornecrantz
953ce6480d
st/prober: Gate tracking on OpenCV instead of PSMV and PSVR
2019-09-26 22:34:14 +01:00
Drew DeVault
b4f0c79abd
comp_compositor.c: prefer Wayland over XCB
2019-09-26 12:15:27 -04:00
Drew DeVault
9bcfa56f2f
compositor: overhaul Wayland backend
...
This simplifies the Wayland backend, fixes the build configuration for
it, ports it to xdg-shell stable, and reworks some false assumptions
from the original port.
2019-09-26 12:15:27 -04:00
Drew DeVault
064aef3526
build: port to meson
2019-09-26 15:05:22 +00:00
Drew DeVault
c6586cfd1e
comp_compositor: use nanosleep instead of usleep
...
Improves portability
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
pblack
3d7ec1546b
aux/tracking: Port calibration to new gui/node setup
2019-09-26 09:32:46 +01:00
Ryan Pavlik
24260bb042
st/oxr: Silence meaningless negotiate errors/warnings.
...
Loader just indiscriminately populates all function pointers.
2019-09-24 22:01:05 +00:00
Ryan Pavlik
bbd63ff071
st/oxr: Disable partial implementation of debug extension for now.
2019-09-24 14:16:31 -05:00
Ryan Pavlik
80b0c14590
st/oxr: Paths cannot end with a slash.
2019-09-24 10:20:16 -05:00
Ryan Pavlik
b7aebc2146
st/oxr: Implement oxr_xrStructureTypeToString
2019-09-24 10:20:16 -05:00
Ryan Pavlik
192a219d1c
st/oxr: Implement oxr_xrResultToString
2019-09-24 10:20:16 -05:00
Jakob Bornecrantz
a211b392df
st/prober: Set origin for PSVR tracker as well
...
Spotted by Pete Black.
2019-09-24 01:14:48 +01:00
Jakob Bornecrantz
b1febd8971
t/gui: Add a calibration scene
2019-09-23 11:46:06 +01:00
Jakob Bornecrantz
4a0a95dab8
aux/tracking: Fix calibration code to work with new frame semantics
2019-09-23 11:43:23 +01:00
Jakob Bornecrantz
79eba848ae
st/prober: Add hardcoded tracking system integration for PSMV and PSVR
2019-09-22 12:00:48 +01:00
Jakob Bornecrantz
871b06cd72
aux/tracking: Add stub PSVR tracker
2019-09-22 11:50:34 +01:00
Jakob Bornecrantz
37590e7525
aux/tracking: Add stub PSMV tracker
2019-09-21 19:12:12 +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
b50415a367
t/gui: Add main menu and pure debug scene
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
65eeb19939
targets: Link with tracking if built
2019-09-21 18:21:05 +01:00
Jakob Bornecrantz
ba12a0aa0e
aux/tracking: Track hsv filter sinks
2019-09-21 18:21:05 +01:00
Jakob Bornecrantz
ef3074afa7
aux/util: Add sink as tracker variable
2019-09-21 18:21:05 +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
Ryan Pavlik
f123c41146
t/gui: Support quat values
2019-09-20 10:07:50 +01:00
Ryan Pavlik
65cc62daf9
aux/util: Add quat support to variable tracker
2019-09-20 10:07:48 +01:00
Ryan Pavlik
f10eaafcdb
t/gui: Align floats by always outputting the + or -
2019-09-20 10:07:46 +01:00
Lubosz Sarnecki
910f16fd30
targets/cli: Fix build with OpenHMD disabled.
...
Without this patch the build is failing due to linker errors
when BUILD_WITH_OPENHMD is set to false.
2019-09-20 10:15:17 +02:00
Lubosz Sarnecki
9dec3dda81
drv_psvr: Fix prototype warnings in clang.
2019-09-20 10:14:49 +02:00
Jakob Bornecrantz
51dafe7b05
xrt: Add usb_dev_class to xrt_prober_device
2019-09-18 13:03:01 +01:00
Jakob Bornecrantz
ad373c55b7
os: Include xrt_config.h in os_threading.h
2019-09-17 11:42:28 +01: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
1bcf537785
aux/math: Add standard gravity value
2019-09-16 16:36:47 +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
Jakob Bornecrantz
548f4edee3
d/psmv: Don't use the copy sample on ZCM2
2019-09-15 23:22:25 +01:00
Jakob Bornecrantz
9d1353c626
t/gui: Connect it all together
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
a507aee906
t/gui: Add two scenes
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
74bdb0cb38
t/gui: Add imgui code
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
71b3de9c46
t/gui: Add scene manager
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
c474112782
t/gui: Add OpenGL sink code
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
968952aa9e
t/gui: Add st/prober code
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
44d58037b7
t/gui: Add SDL2 based GUI target
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
a673f9b7fc
st/oxr: Add Monado ball on a stick controller
2019-09-15 15:44:39 +01:00
Jakob Bornecrantz
79ad85e9b7
st/oxr: Add interaction profile code
...
Not a complete implementation but gets us far enough to
respect the bindings that a application gives us.
2019-09-15 15:44:39 +01:00
Jakob Bornecrantz
2337299279
st/oxr: Make sure action keys don't start at zero
2019-09-15 15:44:39 +01:00
Jakob Bornecrantz
2db3df9027
st/oxr: Add oxr_sink_logger, the slog-inator!
2019-09-15 15:44:39 +01:00
Jakob Bornecrantz
81213f119c
os: Tidy threading
2019-09-15 15:43:57 +01:00
Jakob Bornecrantz
ee5fe9a4e5
d/psmv: Even more tidy
2019-09-15 15:43:57 +01:00
Jakob Bornecrantz
0641342b7d
d/psmv: Tidy driver
2019-09-15 15:29:47 +01:00
Jakob Bornecrantz
3d744c5959
d/psmv: Add support for ZCM2
2019-09-15 15:29:45 +01:00
Jakob Bornecrantz
e98fb81c56
d/psmv: Make calibration values slight more readable
2019-09-15 15:29:43 +01:00
Jakob Bornecrantz
7dcfe5ca50
d/psmv: Flip axis once more
2019-09-15 15:29:41 +01:00
Jakob Bornecrantz
932b8dfd70
d/psmv: Refactor calibration and make room for ZCM2
2019-09-15 12:28:53 +01:00
Jakob Bornecrantz
b5c7f080de
d/psmv: Use new thread helper to create a pulling thread
2019-09-13 22:17:34 +01:00
Jakob Bornecrantz
0d09d225dd
os: Add wrappers for threading primitives
2019-09-13 22:11:02 +01:00