Commit graph

4315 commits

Author SHA1 Message Date
Jarvis Huang 5063e76d16 ipc: Update active client id while activate session changed 2022-08-11 11:57:07 +08:00
Jan Schmidt f8a486884b u/u_json: Implement u_json_get_int_array() 2022-08-10 18:30:08 +01:00
Jan Schmidt ce13de9484 aux/math: Add math_matrix_3x3_from_quat()
Add a function to get a 3x3 rotation matrix
from a quaternion.
2022-08-10 18:30:08 +01:00
Moses Turner e5466553a2 d/euroc: Allow zero timestamps
Negative timestamps are still not allowed, but artificially generated datasets might start at exactly zero
2022-08-10 15:09:53 +00:00
Jakob Bornecrantz d6df203d03 d/opengloves: Fix warning (NFC) 2022-08-10 16:03:33 +01:00
Mateo de Mayo dabf592d59 t/euroc: Add lock for IMU recording queue 2022-08-10 14:28:59 +00:00
Jakob Bornecrantz 39f80f2ef5 d/vive: Remove unsued variable 2022-08-10 14:18:45 +00:00
Jakob Bornecrantz 54b43f1f31 t/common: Fix warnings in lighthouse builder 2022-08-10 14:18:45 +00:00
Jakob Bornecrantz 45e268dd16 st/oxr: Don't use mysterious time variable for error printing 2022-08-10 14:18:45 +00:00
Jakob Bornecrantz 42f5cf4c9d d/opengloves: Use correct argument when casting 2022-08-10 14:18:45 +00:00
Aidan Thornton 3485babd71 comp: rotate the compute compositor's distortion texture
Some devices like Android smartphones have displays which are
rotated, meaning the compositor needs to rotate its output.

Add support for this to the compute compositor by rotating the
contents of the textures it uses for distortion lookups. This
requires postponing the calculation of that texture and adding
code to recreate it if the rotation changes (which is allowed,
but unlikely to happen in practice.)
2022-08-10 12:39:44 +00:00
Aidan Thornton 4840def448 a/math: add math_matrix_2x2_transform_vec2 2022-08-10 12:39:44 +00:00
Jan Schmidt 96fb9ce34a wmr: Clean up camera debug last.
Make sure to stop the USB thread before destroying the debug sink
as cancelling the transfers is not sufficient to guarantee
there will be no final callback (or one in progress)
2022-08-08 17:31:53 +00:00
Ryan Pavlik 11525976fa c/client: Fix doc warning 2022-08-08 16:44:24 +00:00
Ryan Pavlik 831c2aefaf a/math: Fix doc warning 2022-08-08 16:44:24 +00:00
Ryan Pavlik e6da9b8090 a/d3d: Fix doc warning 2022-08-08 16:44:24 +00:00
Ryan Pavlik 094498dbf3 a/vk: Fix up and factor out external image support check 2022-08-08 16:44:24 +00:00
bjorn 987bc48edc Fix XrNegotiateRuntimeRequest::structVersion check; 2022-08-08 16:21:40 +00:00
Christoph Haag c24e482e5e st/oxr: Make OpenXR timestamps relative to service startup
This solves a problem where OpenXR timestamps could become invalid
(negative) in certain circumstances:

The timestamps that the OpenXR state tracker returned were offset such
that they appeared to start at OpenXR application startup time.

However monado-service is a long running service using system timestamps.
Because of this, if monado-service started work using a system timestamp
acquired before an OpenXR application started, then this system timestamp
could not be converted into an OpenXR without becoming invalid.

With this change, the OpenXR timestamps for OpenXR applications are offset
such that they appear to start at monado-service startup time instead.

As a side effect, all OpenXR applications connected to the same
monado-service instance will receive timestamps from the same domain.
2022-08-08 15:52:18 +00:00
Charlton Rodda 996aefe596 Improve validation in xrLocateViews 2022-08-04 19:21:39 +01:00
danwillm c4a290aa97 xrt/util: Fix typo with number of joints per finger 2022-08-01 17:33:40 +00:00
danwillm 76f96686d1 xrt/drivers: Convert hand tracking drivers to use hand simulation
Co-authored-by: Moses Turner <moses@collabora.com>
2022-08-01 17:33:40 +00:00
danwillm 1dee288459 aux/util: Share joint width hand tracking function 2022-08-01 17:33:40 +00:00
danwillm 9e7f814328 aux/util: Remove old hand tracking code 2022-08-01 17:33:40 +00:00
danwillm 9dc8632b0f aux/util: Add u_hand_simulation
Co-authored-by: Moses Turner <moses@collabora.com>
2022-08-01 17:33:40 +00:00
Supreeeme 501d2c4fd5 Fix crash when no hand tracking or controllers 2022-07-31 17:09:19 -04:00
danwillm 72ff5cab80 st/steamvr_drv: add skeletal input from openxr hand tracking
Co-authored-by: Moses Turner <moses@collabora.com>
2022-07-28 12:19:20 +01:00
danwillm 9c9f4bb5c5 st/steamvr_drv: comment out "action binding reloaded" log message 2022-07-28 12:19:20 +01:00
danwillm 75995fede0 external, st/steamvr_drv: update OpenVR to 1.16.8 2022-07-28 12:19:20 +01:00
Christoph Haag ee450e6f29 comp/main: Fix chosen vk display mode debug print 2022-07-27 15:04:31 +02:00
Moses Turner 2868348e8c t/common: Make controllers work again with the Lighthouse builder
!1418 briefly broke controller setup.
2022-07-27 10:49:29 +00:00
Moses Turner 0c4b45c6c2 a/util: Add DEBUG_GET_ONCE_TRISTATE_OPTION 2022-07-27 10:49:29 +00:00
Moses Turner c0eed827c5 xrt: Remove t_hand_tracking_output_space
LEFT_CAMERA is the only one that remained useful
2022-07-27 10:49:29 +00:00
Moses Turner a5c0f0b426 h/mercury: Fix debug log 2022-07-27 10:49:29 +00:00
Jakob Bornecrantz 65d88f00aa t/common: Fix warning 2022-07-26 18:15:04 +00:00
Jakob Bornecrantz 19302a5d21 c/util: Fix warning 2022-07-26 18:15:04 +00:00
Jakob Bornecrantz 086a702b79 c/main: Fix warning 2022-07-26 18:15:04 +00:00
Jakob Bornecrantz 86ae6a5bb1 d/wmr: Fix warning 2022-07-26 18:15:04 +00:00
Ryan Pavlik 3fb162ea3a c/client: Turn off depth formats for D3D11, they are breaking Vulkan right now 2022-07-26 14:45:29 +00:00
Ryan Pavlik 980ad86008 a/vk: Get and show some external buffer data on startup, too. 2022-07-26 14:45:29 +00:00
Ryan Pavlik 490559ee6c st/oxr: Wire in D3D12 support 2022-07-26 14:45:29 +00:00
Ryan Pavlik a4d2740b4b c/client: D3D12 client compositor 2022-07-26 14:45:29 +00:00
Ryan Pavlik a9facfe671 c/client: Extract some utilities usable by D3D11 and 12 2022-07-26 14:45:29 +00:00
Ryan Pavlik 576b158a83 a/d3d: Add some d3d12 features 2022-07-26 14:45:29 +00:00
Ryan Pavlik f718ff151f st/oxr: Add d3d12 support to the extension support header. 2022-07-26 14:45:29 +00:00
Ryan Pavlik 5c24b8e637 xrt: Define D3D12 interface 2022-07-26 14:45:29 +00:00
Ryan Pavlik 189be3300c st/oxr: Add helper to verify compatible usage flags. 2022-07-26 14:45:29 +00:00
Ryan Pavlik ee26b5f575 a/d3d: Split out some d3d11 stuff from generic 2022-07-26 14:45:29 +00:00
Ryan Pavlik 79f86ff0e3 c/client: Fix swapchain leak in D3D11. 2022-07-26 14:45:29 +00:00
Ryan Pavlik 842c160c49 a/util: Guard against bad defs of "max" 2022-07-26 14:45:29 +00:00
Ryan Pavlik 8f55f87f3d build: Let compositor util consumers get to the includes. 2022-07-26 14:45:29 +00:00
Ryan Pavlik a8bb821cf5 ipc: Fix typo 2022-07-26 14:45:29 +00:00
Ryan Pavlik 46ad907dac ipc: Replace size_t usages.
Not safe to use any type whose size differs between 32 and 64 bit builds.
2022-07-26 14:45:29 +00:00
Ryan Pavlik 413c8230ff a/d3d: Clean up formats 2022-07-26 14:45:29 +00:00
danwillm 53bbe0a293 t/common: add opengloves fixer-upper to lighthouse builder 2022-07-25 23:57:45 +01:00
danwillm fd61dd08b2 drivers: add all of opengloves driver 2022-07-25 23:57:45 +01:00
danwillm 0943ce10be a/util, xrt: u_hand_tracking interface change 2022-07-25 23:57:45 +01:00
Mateo de Mayo 36ca9260cf d/vive: Update tracking status to fix segfault
Co-authored-by: Moses Turner <moses@collabora.com>
2022-07-25 19:08:46 +00:00
Mateo de Mayo 6e16959098 d/vive: Add vive_source to convert v4l2 timestamps into monotonic clock
Use a sink in the middle of the stream to correct for v4l2 timestamps with
hardware timestamps to monotonic clock.

This sink, together with other utilities related to data streaming, lives in a
new vive_source entity, with similar functionality to wmr_source or rs_source.

The vive_source lifetime is managed by the builder xfctx, which prevents
deallocation dependencies between vive_device and the v4l2_fs to cause segfaults.
2022-07-25 19:08:46 +00:00
Mateo de Mayo 13d90bff77 d/vive: Implement 3DoF/SLAM switching button and pose offset 2022-07-25 19:08:46 +00:00
Mateo de Mayo f0ceb40f6a d/vive: Prepare data streaming and SLAM tracker 2022-07-25 19:08:46 +00:00
Mateo de Mayo 3cbb7f6b9f d/vive: Pass status of visual tracking into the driver 2022-07-25 19:08:46 +00:00
Mateo de Mayo 4f81967e8a t/common: Refactor lighthouse builder to prepare for more visual trackers
The idea here is to follow a similar approach to how we are doing it in the
WMR driver with the setup_visual_trackers() function.
2022-07-25 19:08:46 +00:00
Mateo de Mayo 8d929fe2fa d/v4l2: Split some definitions into a new header 2022-07-25 19:08:46 +00:00
Mateo de Mayo ae8305f324 u/deque: Add generic wrapper for std::deque 2022-07-25 19:08:46 +00:00
danwillm 6d6ddc0b12 inc/xrt: add XRT_HAVE_BLUETOOTH 2022-07-25 16:20:07 +01:00
danwillm de53e431ed d/multi: fix untested codepath 2022-07-25 15:23:49 +01:00
Nova 0954bd0dd8 d/wmr: Clean up check_and_get_interface in wmr_prober.c 2022-07-25 12:19:48 +01:00
Nova e141aa2d55 d/wmr: Add initial support for original Odyssey HMD 2022-07-25 12:19:48 +01:00
Christoph Haag ffb0346ba4 d/survive: Fix compilation on clang
Fixes error

/home/haagch-collabora/monado/src/xrt/drivers/survive/survive_driver.c:384:53: error: passing 'const union xrt_output_value *' to parameter of type 'union xrt_output_value *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
        int ret = survive_controller_haptic_pulse(survive, value);
                                                           ^~~~~
/home/haagch-collabora/monado/src/xrt/drivers/survive/survive_driver.c:340:89: note: passing argument to parameter 'value' here
survive_controller_haptic_pulse(struct survive_device *survive, union xrt_output_value *value)
2022-07-24 23:48:57 +02:00
Mateo de Mayo 997f4451b8 st/gui: Make debug frame sinks a bit more compact 2022-07-22 16:19:49 +00:00
Mateo de Mayo aaf5fe1b7b d/vive: Improve ticks-to-nanoseconds conversion 2022-07-22 16:19:49 +00:00
Mateo de Mayo aa617a9d8b d/vive: Group 3dof IMU fusion fields and add a mutex 2022-07-22 16:19:49 +00:00
Mateo de Mayo c181909b0d t/slam: Add debug sinks 2022-07-22 16:19:49 +00:00
Moses Turner f6ef1d8f28 d/dai: Add code to control IR floodlight and exposure behind ifdef 2022-07-21 00:23:32 +01:00
Moses Turner 4d0e46a5ac d/dai: Remove depthai::opencv dependency 2022-07-21 00:23:32 +01:00
bjorn 6275c4de10 c/main: comp_renderer uses queue from vk bundle;
The vk bundle currently creates a single queue, calls vkGetDeviceQueue,
and stores it in the bundle.  There's only ever 1 queue from 1 queue
family right now, even when using the compute compositor.

It doesn't really make sense for the renderer to re-request this queue
instead of using the one in the bundle.  If we wanted to store a local
version to it, it should probably be assigned directly (i.e. r->queue =
vk->queue) to ensure that it's the same.  If we decide we want multiple
queues later, that would be a good time to add this sort of thing back.
2022-07-19 16:26:18 +00:00
Ryan Pavlik 12fab0653c xrt: Compositor doc improvement 2022-07-15 16:30:06 -05:00
Ryan Pavlik de4bf3be0a st/oxr: Doc improvment 2022-07-15 15:37:08 -05:00
Ryan Pavlik 4c5327fc65 xrt: Improve code docs 2022-07-15 12:50:04 -05:00
Ryan Pavlik 8f7eed3521 state_trackers: Remove obsolete documentation stub 2022-07-15 12:49:55 -05:00
bjorn 919936991c ipc: make all IPC input aggregates const; 2022-07-14 20:31:38 +00:00
Ryan Pavlik b08797a4a5 st/oxr: Fix missing return, resolve warnings 2022-07-14 14:17:35 +00:00
Ryan Pavlik 7e4c7d8407 c/client: Resolve warnings 2022-07-14 14:17:35 +00:00
Ryan Pavlik f69b6d6320 a/vk: Annotate some must-check-return functions 2022-07-14 14:17:35 +00:00
Ryan Pavlik b0405023b7 st/oxr: Resolve warning 2022-07-14 14:17:35 +00:00
Ryan Pavlik 593a277dd7 st/steamvr_drv: Resolve warnings 2022-07-14 14:17:35 +00:00
Ryan Pavlik 107f56b6d9 a/util: Resolve warnings 2022-07-14 14:17:35 +00:00
Ryan Pavlik 88389ae0ca a/math: Resolve warnings. 2022-07-14 14:17:35 +00:00
bjorn f703355761 c/main: rm unused wireframe setting; 2022-07-13 10:29:27 -07:00
Moses Turner fa2554f289 st/oxr: Don't use the debug gui by default in out-of-process 2022-07-12 16:18:17 +00:00
Mateo de Mayo f55ac05578 t/slam: Implement feature count metric UI and recording 2022-07-12 12:47:05 +00:00
Mateo de Mayo 789111daf8 u/var: Add u_var_curves 2022-07-12 12:47:05 +00:00
Mateo de Mayo 0324fbae6c u/var: Add u_var_curve
Let's you draw any arbitrary curve from a getter function.
2022-07-12 12:47:05 +00:00
Mateo de Mayo bf9e6fa370 u/var: Add u_var_ro_ftext 2022-07-12 12:47:05 +00:00
Mateo de Mayo db3fe110ba u/var: Auto width and match XYZ to RGB colors for ff_vec3 2022-07-12 12:47:05 +00:00
Mateo de Mayo c2009b6acc t/slam: Allow timing extension to be toggled on runtime 2022-07-12 12:47:05 +00:00
Mateo de Mayo 536001e2ad external/slam: Update header to 4.0.0
1. Add feature info pose extension
2. Make pose extensions toggleable on runtime
3. Add timestats helper for external system to keep track of info for pose extensions
2022-07-12 12:47:05 +00:00
Mateo de Mayo 49cd45b24e d/euroc: Fix typo 2022-07-12 12:47:05 +00:00
bjorn ce498e18ed a/vk: Relax compute-only queue family check;
This changes the search to prefer compute-only queues, but consider
compute-enabled queues as acceptable fallbacks.
2022-07-11 17:33:59 +00:00
Xaver Hugl 94407f6679 compositor/direct_wayland: don't warn about connector removals
The connector being withdrawn has no effect on active leases, printing a
warning is unnecessary.
2022-07-11 16:37:34 +02:00
Mateo de Mayo afa7f7ade9 u/vector: Add generic wrapper for std::vector 2022-07-07 15:35:04 +00:00
Ryan Pavlik f4cc2f3bf4 cmake: Fix some details of Clang on Windows. 2022-07-05 11:17:53 -05:00
bjorn 128ea42915 c/render: inline vk_command_buffer helper;
It's not really abstracting much anymore, and makes it more difficult to
see what's going on.
2022-07-01 22:01:32 +00:00
bjorn 4c09d20f80 c/render: render_resources has its own command pool;
Currently, there is a single command pool in the vk bundle, shared by
everyone.  Since command pools (and command buffers allocated from those
pools) can only be used on one thread at a time, this requires locking.
However, the main point of having these annoying command pool things in
the first place is that you can use one for each thread/lifetime/area in
the app and avoid the overhead of the locks (both computational and
cognitive).

In this change I have given the rendering bits of the compositor its own
command pool.  Instead of allocating and freeing a command buffer every
frame, a single command buffer is allocated from the pool during
initialization, and the pool is reset at the beginning of each frame.
Normally, multiple pools would need to be used, but this is not
necessary in monado because frames are serialized. The `TRANSIENT` and
`ONE_TIME_SUBMIT` flags have been added, which can allow for some driver
optimizations.  The render code no longer takes out the command pool
mutex.  The shared command pool is still there for a few remaining
places where vulkan work needs to be done outside the compositor.

I used the command buffer vulkan helpers when possible, but I would
maybe propose the idea of removing them, since they aren't really
wrapping much at this point.  The `C` macro helps a lot and it's a bit
easier to see the Vulkan details in front of you instead of needing to
switch back and forth between the helper.

Later, I think it would be cool to apply and document some constraints
like "the queue is only accessed in functions XYZ, the render_resources
command pool must only be accessed in layer_commit from 1 thread" etc.
2022-07-01 22:01:32 +00:00
bjorn 24c9dabfbb aux/vk: Add vkResetCommandPool; 2022-07-01 22:01:32 +00:00
Ryan Pavlik 0496ba9c5c aux/vk: Add additional include dirs conditionally. 2022-07-01 21:57:07 +00:00
bjorn a4e5a2d027 Support cubemap swapchains; 2022-07-01 12:23:53 -07:00
Moses Turner e552ef6bf3 t/common: Better error-checking in lighthouse builder 2022-06-30 15:20:46 +01:00
Moses Turner 567304374d d/v4l2: Factor out format setup so we can catch errors in stream_start 2022-06-30 15:19:51 +01:00
Jakob Bornecrantz 2cbad30823 u/pacing: Introduce a app pacing factory 2022-06-27 19:09:46 +01:00
Jakob Bornecrantz 6e2644dea7 u/pacing: Tidy comments 2022-06-27 19:09:46 +01:00
Jakob Bornecrantz 0fb155b886 c/multi: Include interface header 2022-06-27 19:09:46 +01:00
Jakob Bornecrantz 23aca9c0b9 c/multi: Document multi_system_compositor 2022-06-27 18:35:40 +01:00
Jakob Bornecrantz 202f37be63 t/common: Include config build for null compositor 2022-06-27 18:35:40 +01:00
utzcoz 34c97c48ef ipc,t/oxr_android: Add FLAG_IMMUTABLE for PendingIntent from S+
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-06-27 09:59:27 -05:00
Ryan Pavlik 62c87d27d6 android: Request new android.permission.HIGH_SAMPLING_RATE_SENSORS 2022-06-25 09:59:37 +08:00
Ryan Pavlik cec89ae751 targets: Update manifests for Android 12 2022-06-25 09:59:37 +08:00
Ryan Pavlik e1a0486f30 gradle: Update some deps slightly to cope with gradle 7 2022-06-25 09:59:37 +08:00
Ryan Pavlik 98f430f6f7 gradle: More dependency updates. 2022-06-25 09:59:37 +08:00
Moses Turner 4aaa61350b t/common: Add lighthouse builder 2022-06-24 01:58:51 +01:00
Moses Turner bd421e683c d/vive: Handle not-found devices correctly 2022-06-24 01:58:51 +01:00
Moses Turner 29cd525a3b d/vive: Prepare for lighthouse builder 2022-06-24 01:54:45 +01:00
Moses Turner 766f1b94e9 d/survive: Remove lots of cruft and prepare for Lighthouse builder 2022-06-24 01:54:45 +01:00
Moses Turner adadf6a2c2 t/common: Remove (sur)vive from legacy builder 2022-06-24 01:54:45 +01:00
Moses Turner 19958b4d77 d/ht: Remove cruft for Index 2022-06-24 01:54:45 +01:00
Moses Turner 00b6dd35ec d/survive: Don't create hand-tracker ourselves 2022-06-24 01:54:45 +01:00
Moses Turner a853022a66 d/vive: Don't create the hand-tracker ourselves 2022-06-24 01:54:45 +01:00
Moses Turner 6b63d473c6 t/common: Switch target_builder_legacy to u_system_devices_get_ht_device 2022-06-24 01:54:45 +01:00
Moses Turner a67d2fc28b a/util: Add u_system_devices_get_ht_device 2022-06-24 01:54:45 +01:00
Moses Turner 307e3ca1dc h/old_rgb: Fix regressions 2022-06-24 01:54:45 +01:00
Moses Turner 0e50364be6 d/ht: Don't drop algorithm_choice on the floor 2022-06-24 01:54:45 +01:00
Jakob Bornecrantz 218fbeae4e a/vk: Free "unused" AHardwareBuffer
It was only used for getting the format, free it until the function can
be completely rewritten to use it instead.
2022-06-21 20:47:04 +00:00
Jakob Bornecrantz 2c688a2d08 a/vk: Tidy return variable name 2022-06-21 20:47:04 +00:00
Jakob Bornecrantz 13504a29af a/vk: Return an error if ahardwarebuffer_image_allocate fails 2022-06-21 20:47:04 +00:00
Moses Turner 6f21741c51 xrt: Fixup - rename *all* of the relevant hand-tracking structs 2022-06-21 21:18:41 +01:00
Moses Turner 1718d01fb1 xrt: Rename some hand-tracking structs and document them better 2022-06-21 20:37:08 +01:00
Moses Turner 73dbc712ab h/mercury: Add Levenberg-Marquardt optimizer, and lots of fixes!
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2022-06-20 16:33:48 +01:00
Moses Turner 8040224b39 xrt: add hand_tracking_image_boundary_info 2022-06-20 16:33:48 +01:00
Moses Turner db85ea2df5 external: Add tinyceres 2022-06-20 14:36:20 +01:00
Moses Turner 9651f66c4c a/util: Add clear() method to HistoryBuffer 2022-06-18 21:56:03 +01:00
Moses Turner 8729c0485e t/hand/async: Add simple pose-prediction 2022-06-18 21:51:09 +01:00
Moses Turner 543a436c99 m/relation_history: Add motion estimation 2022-06-18 21:50:14 +01:00
Mateo de Mayo 329b5c05bc d/wmr: Wait 3 seconds for Odyssey+ display 2022-06-18 14:19:01 -03:00
Mateo de Mayo ed7c148a00 d/wmr: Optionally average IMU samples for 3DoF tracker
Similar to how this was being done for SLAM.
It's significantly less jittery and still has a good response.
Smarter filters might benefit from raw measurements so the functionality can
be enabled again with a checkbox.
2022-06-18 14:19:01 -03:00
Mateo de Mayo 10e39d79b8 d/wmr: Use poses instead of isometries for T_imu_cam poses
Now that sensor poses are in WMR space, this is a bit tidier
than creating the 4x4 matrices.
2022-06-18 14:19:01 -03:00
Mateo de Mayo f98b71243c d/wmr: Correct hand tracking pose
Now the tracked hand appears roughly in the same spot as your real hand and
the tracking works a bit better.
2022-06-18 14:19:01 -03:00
Mateo de Mayo f390214f66 d/wmr: Correct SLAM-tracked IMU pose to middle of the eyes 2022-06-18 14:19:01 -03:00
Mateo de Mayo 008ba2433b d/wmr: Refactor how precomputed transforms work
Hopefully this is an improvement and not just a rewrite. Some ideas were:
1. Keep poses in WMR space as much as possible.
2. Add an explicit function that precomputes a handful of transforms that allow
   converting between WMR and OpenXR coordinates.
3. Make naming of variables in line with a relatively common T_A_B notation.
4. I wasn't able to figure out why `wmr_config_compute_pose` worked before,
   in any case, hopefully the new notation convention helps understanding
   why P_oxr_{acc,gyr} work.
2022-06-18 14:19:01 -03:00
Mateo de Mayo 326402da2a a/math: Use angle as magnitude of change in m_filter_euro_quat
Previously this was using math_quat_len which was always 1 for
these unit quaternions. This commit assumes math_quat_ln works properly which is
not exactly true at the moment and the returned angle will be twice as large.
2022-06-18 14:19:01 -03:00