提交 5a1a9329 编写于 作者: I Irina Tirdea 提交者: Jonathan Cameron

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: NIrina Tirdea <irina.tirdea@intel.com>
Signed-off-by: NJonathan Cameron <jic23@kernel.org>
上级 cc3c9eec
...@@ -295,6 +295,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_tilt_comp_scale ...@@ -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 ...@@ -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.
...@@ -74,6 +74,7 @@ static const char * const iio_chan_type_name_spec[] = { ...@@ -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[] = { ...@@ -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 */
......
...@@ -34,6 +34,7 @@ enum iio_chan_type { ...@@ -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 { ...@@ -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 {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册