Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a1a9329 authored by Irina Tirdea's avatar Irina Tirdea Committed by Jonathan Cameron
Browse files

iio: core: Introduce IIO_VELOCITY and IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z

Some devices export the current speed value of the user.

One of this devices is Freescale's MMA9553L
(http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdf

)
that computes the speed of the user based on the number of steps and
stride length.

Introduce a new channel type VELOCITY and a modifier for the magniture or
norm of the velocity vector, IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z.

Signed-off-by: default avatarIrina Tirdea <irina.tirdea@intel.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent cc3c9eec
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -295,6 +295,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_tilt_comp_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_pressureY_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_pressureY_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_pressure_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_pressure_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_scale
KernelVersion:	2.6.35
KernelVersion:	2.6.35
Contact:	linux-iio@vger.kernel.org
Contact:	linux-iio@vger.kernel.org
Description:
Description:
@@ -1164,3 +1165,12 @@ Contact: linux-iio@vger.kernel.org
Description:
Description:
		This attribute is used to read the number of steps taken by the user
		This attribute is used to read the number of steps taken by the user
		since the last reboot while activated.
		since the last reboot while activated.

What:		/sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_input
What:		/sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_raw
KernelVersion:	3.19
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute is used to read the current speed value of the
		user (which is the norm or magnitude of the velocity vector).
		Units after application of scale are m/s.
+2 −0
Original line number Original line Diff line number Diff line
@@ -74,6 +74,7 @@ static const char * const iio_chan_type_name_spec[] = {
	[IIO_STEPS] = "steps",
	[IIO_STEPS] = "steps",
	[IIO_ENERGY] = "energy",
	[IIO_ENERGY] = "energy",
	[IIO_DISTANCE] = "distance",
	[IIO_DISTANCE] = "distance",
	[IIO_VELOCITY] = "velocity",
};
};


static const char * const iio_modifier_names[] = {
static const char * const iio_modifier_names[] = {
@@ -99,6 +100,7 @@ static const char * const iio_modifier_names[] = {
	[IIO_MOD_JOGGING] = "jogging",
	[IIO_MOD_JOGGING] = "jogging",
	[IIO_MOD_WALKING] = "walking",
	[IIO_MOD_WALKING] = "walking",
	[IIO_MOD_STILL] = "still",
	[IIO_MOD_STILL] = "still",
	[IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z] = "sqrt(x^2+y^2+z^2)",
};
};


/* relies on pairs of these shared then separate */
/* relies on pairs of these shared then separate */
+2 −0
Original line number Original line Diff line number Diff line
@@ -34,6 +34,7 @@ enum iio_chan_type {
	IIO_STEPS,
	IIO_STEPS,
	IIO_ENERGY,
	IIO_ENERGY,
	IIO_DISTANCE,
	IIO_DISTANCE,
	IIO_VELOCITY,
};
};


enum iio_modifier {
enum iio_modifier {
@@ -68,6 +69,7 @@ enum iio_modifier {
	IIO_MOD_JOGGING,
	IIO_MOD_JOGGING,
	IIO_MOD_WALKING,
	IIO_MOD_WALKING,
	IIO_MOD_STILL,
	IIO_MOD_STILL,
	IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
};
};


enum iio_event_type {
enum iio_event_type {