Commit graph

75 commits

Author SHA1 Message Date
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
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 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 945f2c82ed targets: Move xrt_instance implementation into targets 2020-04-11 12:31:58 +01:00
Jakob Bornecrantz 85bceaceca st/prober: Tidy CMakeLists.txt 2020-04-11 12:19:28 +01:00
Jakob Bornecrantz bbc07ed5f2 st/prober: Provide a default implementation of xrt_instance interface 2020-04-10 13:48:18 +01: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
Jakob Bornecrantz 4d7634845d st/prober: Print serial, product and manufacturer from udev 2020-04-03 14:10:07 +01:00
Jakob Bornecrantz 96edbd9249 st/prober: Print serial, product and manufacturer from libuvc 2020-04-03 14:09:56 +01:00
Jakob Bornecrantz 6ecc1e30f3 xrt: Make stereo_camera_calibration refcounted
This allows the data to be safely shared and passed around, even allowing us
to tag frames with the data and passed around that way instead.

Since it now can be passed around more safely make the prober call the save
function instead of the calibration code. This then forms a basis for further
work where we can hook this up into a more proper configuration file.
2020-03-11 22:00:54 +00:00
Ryan Pavlik 8548d3f7e6 build: Another missed linking fix. 2020-03-05 17:52:49 +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 91ba5d04bc st/prober: Fix some unused-thing warnings when building with fewer deps. 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
Ryan Pavlik b1b08a610c st/prober: Add missing includes 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
Jakob Bornecrantz 16eb05e089 u/sink: Make quirk sink creation parameters into a struct. 2020-01-26 19:37:37 +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
Ryan Pavlik 0df4dc2be1 st/prober: Fix typo 2020-01-16 22:37:29 +00:00
Ryan Pavlik fcdebc6e9d aux/tracking: Re-organize structs related to camera calibration.
Removes the "raw" data structures for camera calibration, not needed.
The only thing they contained beyond the revised regular structures
was derived data that the consumer might parameterize differently.

Renames t_settings_stereo to t_stereo_camera_calibration.
The calibration info is data (that could be stored on the device, etc),
not settings.
2020-01-16 09:07:52 -06: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 2b5fa2c57f st/p: Fix enum types in libusb usage 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 ad45aeb0a7 t/calib: Refactor loading a bit more 2019-11-17 22:09:01 +00:00
Jakob Bornecrantz 6d8abd87a8 t/calib: Tidy and rename calibration data to settings 2019-11-16 23:17:11 +00:00
Jakob Bornecrantz f364b7a45b t/calib: Make prober load calibration data instead of trackers 2019-11-16 12:17:07 +00:00
Ryan Pavlik 882388b320 st/prober: Fix typo 2019-11-11 17:57:40 -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
Ryan Pavlik e8660a18bd build: Use CMAKE_POSITION_INDEPENDENT_CODE instead of target props.
Reduces repetitive code.
2019-11-01 16:51:54 -05:00
Jakob Bornecrantz 186f3ff7e0 st/prober: Ignore I2C based hid devices 2019-10-25 18:39:34 +01:00
Ryan Pavlik d3d6f15107 st/prober: More data in the "failed to get interface number" messages. 2019-10-24 15:45:41 +01: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
Jakob Borncrantz 7239282aab st/prober: Add tracking factory variable tracking 2019-10-15 21:05:37 +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 bffe802449 t/psmv: Adjust room position in prober instead 2019-10-10 23:47:51 +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 fcc316d6f1 st/prober: First ball is red 2019-09-27 20:28:04 +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 064aef3526 build: port to meson 2019-09-26 15:05:22 +00: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 79eba848ae st/prober: Add hardcoded tracking system integration for PSMV and PSVR 2019-09-22 12:00:48 +01:00
Jakob Bornecrantz 51dafe7b05 xrt: Add usb_dev_class to xrt_prober_device 2019-09-18 13:03:01 +01:00