Commit graph

42 commits

Author SHA1 Message Date
Jakob Bornecrantz c37dd46b0c st/prober: Rework HMD logic a bit and put HMD always in first position 2020-07-14 12:55:18 +01:00
Christoph Haag b073e3dfb9 xrt: Add support for assigned device roles
Abandons the assumption that in oxr_system.xdevs[], index 0 is HMD,
1 is left controller, 2 is right controller.

Now to represent the dynamically assigned roles, oxr_system.role contains
the index for a device in oxr_system.xdevs[] for head, left and right.

This role assignment happens on the client side and currently can not be updated
from the server side.

Also adds an enum that device drivers set indicating allowed assignments
(many controllers are physically designed to be held in a specific hand).

This also adds support for configurations with only a HMD and a right controller.
2020-07-13 18:03:01 +02:00
Ryan Pavlik 293ec1e6dd st/p: Use helper functions for xrt_device 2020-05-27 18:40:56 -05:00
Christoph Haag 5b2efcbb7a st/prober: Fix typo in error message 2020-05-09 13:12:06 +00:00
Jakob Bornecrantz e620fa9063 st/prober: Refactor JSON config loading so that we print less errors when we don't need the config 2020-05-07 22:25:44 +00:00
Jakob Bornecrantz b2c987945e st/prober: Use and expose usb serial and manufacturer 2020-04-28 18:51:07 +00:00
Jakob Bornecrantz 80dd892987 xrt: Add serial and manufacturer to xrt_prober video device probing interface 2020-04-28 18:51:07 +00:00
Jakob Bornecrantz 2063bc30b8 st/prober: Load tracking config from json and use new settings struct 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
Ryan Pavlik 91ba5d04bc st/prober: Fix some unused-thing warnings when building with fewer deps. 2020-03-04 11:15:35 +00:00
Ryan Pavlik b1b08a610c st/prober: Add missing includes 2020-03-04 11:15:35 +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
Ryan Pavlik 13c099f59e xrt: Fix for mismatched parameter names 2020-01-09 22:54:01 +00:00
Ryan Pavlik b47428b451 st/p: Convert to realloc macro 2019-12-07 18:24:56 +00:00
Ryan Pavlik 808892742b st/p: Fix allocation size error with realloc macro 2019-12-03 09:39:06 -06:00
Jakob Bornecrantz 76d6133142 cmake: Fix v4l2 flag not being set 2019-11-10 01:36:46 +00:00
Christoph Haag 3b87d518c4 build: Fix meson build without v4l2 2019-11-05 15:36:52 +01:00
Jakob Bornecrantz 9eedb05f1b st/prober: Do not autoprobe if we have a HMD 2019-11-05 12:15:56 +00:00
Lubosz Sarnecki 6eb1086578 st/prober: Add string functions.
Functions for printing and matching xrt_proper_string.
2019-10-22 19:18:47 +02: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
Jakob Bornecrantz d8cd9ffcdd st/prober: Better error printing 2019-10-04 10:32:02 +01:00
Jakob Bornecrantz ec7e98538c st/prober: Code style, pointer star location 2019-09-29 11:45: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 46389cd6ae xrt: Send in real prober to auto probers 2019-09-15 23:24:58 +01:00
Jakob Bornecrantz 798ef43342 st/prober: Make sure the usb-product is always filled out 2019-09-07 14:34:20 +01:00
Jakob Bornecrantz c021199b98 xrt: Add interface to prober to open video devices 2019-09-07 14:34:20 +01:00
Jakob Bornecrantz d8f8f670d3 st/prober: Add variable tracking 2019-09-06 14:37:45 +01:00
Jakob Bornecrantz 29b1713be9 xrt: Add enum xrt_device_name so that state trackers can reason about device 2019-09-04 12:47:18 +01:00
Ryan Pavlik dddb8069d0 st/prober: Minor clang-tidy fixes. 2019-08-16 17:25:29 -05:00
Ryan Pavlik 93976bb276 prober: Add ability to get string descriptors.
Right now we can only use libusb to get this info.
2019-08-15 12:36:01 +00:00
Jakob Bornecrantz 699bb8d5ad st/prober: Implement camera listing function 2019-06-28 14:03:50 +01:00
Jakob Bornecrantz 16f8b013ec st/prober: Save usb path and product name 2019-06-28 14:03:50 +01:00
Ryan Pavlik 1f84814721 st/prober: Allow "found" functions called by prober to make more than one device. 2019-06-22 11:34:51 +01:00
Jakob Bornecrantz a3ae5ae453 st/prober: Probe for V4L devices 2019-06-21 17:04:27 +01:00
Jakob Bornecrantz cb44c822d2 st/prober: Refactor hidraw enumeration code in udev file 2019-06-21 17:04:27 +01:00
Jakob Bornecrantz dfdc794272 st/prober: Refactor libuvc code to own file 2019-06-21 17:04:27 +01:00
Jakob Bornecrantz d9b820c834 st/prober: Refactor libusb code to own file 2019-06-21 17:04:25 +01:00
Jakob Bornecrantz 7f07cee387 st/prober: Guard libudev usage 2019-06-21 17:03:20 +01:00
Ryan Pavlik 661fa79057 st/prober: Use U_ZERO 2019-06-18 14:14:01 -05:00
Jakob Bornecrantz 8aec512de3 xrt: Update prober interface 2019-06-10 14:47:19 +01:00
Jakob Bornecrantz d97df04c11 xrt: Add new prober interface and code 2019-05-16 20:41:35 +01:00