Commit graph

71 commits

Author SHA1 Message Date
Ryan Pavlik 6706180cd8 drivers: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 3e6ec47296 monado: Apply clang-tidy fixes to most of the codebase.
All at least visually inspected, some revised from the auto-fixit
2022-04-13 09:34:54 -05:00
Antonio Ospite 6ca4522de0 d/ns: really silence -Wunused-result warning
A previous change didn't really ignore the return value of fread() and
a warning was still emitted:

-----------------------------------------------------------------------
[103/1571] Building C object src/xrt/drivers/CMakeFiles/drv_ns.dir/north_star/ns_hmd.c.o
../src/xrt/drivers/north_star/ns_hmd.c: In function ‘ns_config_load’:
../src/xrt/drivers/north_star/ns_hmd.c:512:8: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  512 |  (void)fread(json, 1, file_size, config_file);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------

Check the return value of fread to fix the warning for good, and declare
the return value of ftell as long as stated in the man page.
2022-03-14 14:06:02 +00:00
Jakob Bornecrantz e1b0f55a87 d/ns: Always check to close file on error path 2022-03-09 22:34:37 +00:00
Antonio Ospite a4167ee500 d/ns: silence -Wunused-result warning, close config_file in error paths
On some systems fread() is declared with  attribute warn_unused_result
and this results in a build warning:

-----------------------------------------------------------------------
Building C object src/xrt/drivers/CMakeFiles/drv_ns.dir/north_star/ns_hmd.c.o
.../src/xrt/drivers/north_star/ns_hmd.c: In function ‘ns_config_load’:
.../src/xrt/drivers/north_star/ns_hmd.c:512:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  512 |  fread(json, 1, file_size, config_file);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------

Explicitly ignore the return value of that fread() to silence the
warning.

And while at it also close config_file in some error paths between
fopen() and fclose() which where leaking the file pointer when jumping
to the parse_error label.
2022-03-09 16:10:43 +01:00
Christoph Haag 996a5d3e9a xrt: Move fov from xrt_view to xrt_hmd_parts::distortion 2022-02-19 13:04:32 +00:00
Jakob Bornecrantz 9b656cde77 xrt: Remove xrt_device::get_view_pose
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:24 +00:00
Jakob Bornecrantz 0511b319ba drivers: Implement xrt_device::get_view_poses
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:08 +00:00
Jakob Bornecrantz 3f98ea5595 xrt: Tidy s/ll/log_level/g
Also make sure all variable logging uses the right type for logging variables.
2021-11-22 14:29:10 -06:00
Ryan Pavlik 33c0287f8b xrt: Rename all "num" parameters and fields to "count" (or "capacity" as appropriate)
This matches the OpenXR usage: the array is the plural of the element type,
and the count is the singular element type plus "count" (usually CountOutput
because of the two-call idiom)

Includes fixes to other code to match API changes.
2021-11-13 12:04:38 +00:00
Moses Turner 140a39f9c4 d/ns: move ns_hmd_create to ns_hmd.h 2021-10-01 13:54:19 -05:00
Christoph Haag 2b94b2b165 d/ns: Fix may be used uninitialized warnings 2021-07-15 01:10:40 +02:00
Jakob Bornecrantz 47470cc8e2 d/ns: Use fread when reading from config file 2021-06-21 12:29:31 -05:00
Moses Turner 3569e4f2ed d/ns: Fix 3D distortion FOV calc
co-authored-by: Nico Zobernig <nico.zobernig@gmail.com>
2021-06-21 12:29:31 -05:00
Moses Turner bcadbea3aa d/ns: Clean utility_northstar a bit 2021-06-21 12:29:31 -05:00
Moses Turner 7e385aa810 d/ns: Big refactor 2021-06-21 12:29:31 -05:00
Moses Turner f09e02c517 d/ns: fix resolution from 2880x1440 to 2880x1600 2021-04-28 18:07:07 -05:00
Jakob Bornecrantz 8277df418d xrt: Make eye_relation argument to xrt_device_get_view_pose const (NFC) 2021-04-27 01:44:13 +01:00
Ryan Pavlik 71fabf50c5 d/north_star: Port to using new zero/identity defines 2021-04-26 22:38:42 +00:00
Ryan Pavlik 2774b3375f d/north_star: Port to u_device_get_view_pose 2021-04-26 22:38:42 +00:00
Moses Turner 7cd2a33737 drivers: switch blend mode to array 2021-04-11 04:08:49 -05:00
Christoph Haag 12ad9a6766 d/ns: Remove tracker logic in favor of tracking overrides 2021-03-02 19:43:19 +01:00
Christoph Haag 6914bae78e d/ns: Add autoprober name 2021-03-02 17:50:19 +00:00
Mateo de Mayo 116d77f52e st/prober: Allow autoprobe function to create more than one device. 2021-02-28 15:27:52 +00:00
Christoph Haag c67a6ccd34 xrt: Add xrt_device::serial for uniquely identifying devices if possible
d: Make controller serials unique by appending number

For drivers that do not (yet) know a persistent unique id per device.
2021-02-12 00:38:51 +01:00
Christoph Haag ea6d6bfb3f d/rs: Use XRT_INPUT_GENERIC_TRACKER_POSE instead of XRT_INPUT_GENERIC_HEAD_POSE 2021-02-12 00:37:43 +01:00
Christoph Haag 232b8a7a49 d/ns: Fix informational message about example configs
v1 and v2 example configs are now in an exampleconfigs subdir.
2021-01-28 03:41:33 +01:00
Christoph Haag be3c7dc480 d/ns: Pretty print json example config with jq 2021-01-28 03:36:18 +01:00
Jakob Bornecrantz 360dbb63a7 d/ns: Work-around clang-format stuff 2021-01-15 16:38:54 +00:00
Jakob Bornecrantz 2b996f30c4 xrt: Reflow after column change 2021-01-15 13:50:32 +00:00
Moses Turner baf0e1acfb d/rs: apply offset to t265 pose, d/ns: fix up some minor things, load realsense offset from json file 2021-01-12 15:28:18 -06:00
Moses Turner fc47d0baad d/ns: fix polynomial distortion math again, document nonsensical parts of polynomial math, update config files 2021-01-12 15:28:18 -06:00
Moses Turner 684daa3293 d/ns: possibly fix mesh calculation
also fix flipped tracking tracking
2021-01-12 13:01:37 -06:00
Moses Turner 365692e9ca d/ns: Hopefully make v2 driver read ipd from baseline in v2 config files 2021-01-12 13:01:37 -06:00
Moses Turner 735d9654ec d/ns: apply right eye fov correctly 2021-01-12 13:01:37 -06:00
Lubosz Sarnecki 853458ed37 xrt: Port commented printfs to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 6a2221115d d/ns: Port to u_logging. 2020-12-28 13:04:11 +00:00
Ryan Pavlik 83b91ea4a9 d/ns: Some clang-tidy cleanups 2020-11-09 16:18:00 -06:00
Ryan Pavlik 4c0d71aa30 d/ns: const correctness cleanup for math. 2020-11-09 16:17:57 -06:00
Ryan Pavlik d4011ed78a d/ns: Fix memory leak in math 2020-11-09 16:06:14 -06:00
Christoph Haag 2a07c1034e d/ns: Don't create rs tracker twice on v1 2020-10-12 16:06:25 +02:00
Jakob Bornecrantz 9a675cc7f3 xrt: Rename xrt_uv_triplet 2020-09-30 15:35:57 +01:00
Christoph Haag fb71c71a8c xrt: Replace mesh generator with xdev->compute_distortion()
Each HMD driver now has to implement compute_distortion() which will be called
by the compositor implementation to generate a mesh (usually).

u_distortion_mesh contains implementations for the defaults (panotools, OpenHMD, vive).

Also adds compute_distortion function for Vive distortion

There are differences between OpenHMD and Panotools values, main differences for now:
* psvr has 5 pano coefficients, ohmd has 3
* psvr uses viewport size and lens center in pixels for distortion calculation, ohmd in meter
* psvr uses different distortion scaling than ohmd
2020-09-28 17:04:15 +01:00
Christoph Haag ee8fdb45fd d/ns: remove useless assignments 2020-09-22 02:19:13 +02:00
Ryan Pavlik a0c8839a71 xrt: Remove un-needed includes of unistd 2020-09-18 13:56:16 +01:00
Christoph Haag 17ff908041 d/ns: Set XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT 2020-09-14 16:57:10 +02:00
Jakob Bornecrantz 8e24dda794 xrt: Remove out_timestamp argument to xrt_device::get_tracked_pose 2020-09-07 23:37:09 +01:00
Moses Turner 0ff1865c2e d/ns: Add version 2 config support 2020-09-07 11:35:24 +01:00
Christoph Haag cd05c86c59 d/ns,rs: Add external slam tracking type 2020-08-19 14:46:55 +02:00
Christoph Haag 518728156b d/northstar: Set positional tracking bit true when built with RS support 2020-08-17 11:51:38 +00:00