mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 18:21:24 +02:00
iio: ABI: Add quaternion axis modifier
This modifier applies to the IIO_ROT channel type, and indicates a data
representation that specifies the {x, y, z} components of the normalized
quaternion vector.
Signed-off-by: Francesco Lavra <flavra@baylibre.com>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
b29f00ef08
commit
dd59392a3e
|
|
@ -1755,6 +1755,21 @@ Description:
|
|||
measurement from channel Y. Units after application of scale and
|
||||
offset are milliamps.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_rot_quaternionaxis_raw
|
||||
KernelVersion: 7.1
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Raw value of {x, y, z} components of the quaternion vector. These
|
||||
components represent the axis about which a rotation occurs, and are
|
||||
subject to the following constraints:
|
||||
|
||||
- the quaternion vector is normalized, i.e. w^2 + x^2 + y^2 + z^2 = 1
|
||||
- the rotation angle is within the [-pi, pi] range, i.e. the w
|
||||
component (which represents the amount of rotation) is non-negative
|
||||
|
||||
These constraints allow the w value to be calculated from the other
|
||||
components: w = sqrt(1 - (x^2 + y^2 + z^2)).
|
||||
|
||||
What: /sys/.../iio:deviceX/in_energy_en
|
||||
What: /sys/.../iio:deviceX/in_distance_en
|
||||
What: /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_en
|
||||
|
|
|
|||
|
|
@ -157,6 +157,7 @@ static const char * const iio_modifier_names[] = {
|
|||
[IIO_MOD_ACTIVE] = "active",
|
||||
[IIO_MOD_REACTIVE] = "reactive",
|
||||
[IIO_MOD_APPARENT] = "apparent",
|
||||
[IIO_MOD_QUATERNION_AXIS] = "quaternionaxis",
|
||||
};
|
||||
|
||||
/* relies on pairs of these shared then separate */
|
||||
|
|
|
|||
|
|
@ -113,6 +113,7 @@ enum iio_modifier {
|
|||
IIO_MOD_ACTIVE,
|
||||
IIO_MOD_REACTIVE,
|
||||
IIO_MOD_APPARENT,
|
||||
IIO_MOD_QUATERNION_AXIS,
|
||||
};
|
||||
|
||||
enum iio_event_type {
|
||||
|
|
|
|||
|
|
@ -145,6 +145,7 @@ static const char * const iio_modifier_names[] = {
|
|||
[IIO_MOD_ACTIVE] = "active",
|
||||
[IIO_MOD_REACTIVE] = "reactive",
|
||||
[IIO_MOD_APPARENT] = "apparent",
|
||||
[IIO_MOD_QUATERNION_AXIS] = "quaternionaxis",
|
||||
};
|
||||
|
||||
static bool event_is_known(struct iio_event_data *event)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user