Re: [PATCH v3 1/3] iio: core: Introduce IIO_CHAN_INFO_DEBOUNCE_COUNT and _TIME

From: Jonathan Cameron
Date: Thu Jan 29 2015 - 13:39:39 EST


On 27/01/15 18:41, Irina Tirdea wrote:
> The pedometer needs to filter out false steps that might be generated by
> tapping the foot, sitting, etc. To do that it computes the number of
> steps that occur in a given time and decides the user is moving only
> if this value is over a threshold. E.g.: the user starts moving only
> if he takes 4 steps in 3 seconds. This filter is applied only when
> the user starts moving.
>
> A device that has such pedometer functionality is Freescale's MMA9553L:
> http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdf.
>
> To export this feature, this patch introduces IIO_CHAN_INFO_DEBOUNCE_COUNT
> and IIO_CHAN_INFO_DEBOUNCE_TIME. For the pedometer, in_steps_debounce_count
> will specify the number of steps that need to occur in
> in_steps_debounce_time seconds so that the pedometer decides the user is
> moving.
>
> Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx>
Applied to the togreg branch of iio.git - initially pushed out as testing.

Thanks,

Jonathan
> ---
> Documentation/ABI/testing/sysfs-bus-iio | 15 +++++++++++++++
> drivers/iio/industrialio-core.c | 2 ++
> include/linux/iio/iio.h | 2 ++
> 3 files changed, 19 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio
> index c03a140..b4ea9c5 100644
> --- a/Documentation/ABI/testing/sysfs-bus-iio
> +++ b/Documentation/ABI/testing/sysfs-bus-iio
> @@ -1193,3 +1193,18 @@ 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.
> +
> +What: /sys/.../iio:deviceX/in_steps_debounce_count
> +KernelVersion: 3.20
> +Contact: linux-iio@xxxxxxxxxxxxxxx
> +Description:
> + Specifies the number of steps that must occur within
> + in_steps_filter_debounce_time for the pedometer to decide the
> + consumer is making steps.
> +
> +What: /sys/.../iio:deviceX/in_steps_debounce_time
> +KernelVersion: 3.20
> +Contact: linux-iio@xxxxxxxxxxxxxxx
> +Description:
> + Specifies number of seconds in which we compute the steps
> + that occur in order to decide if the consumer is making steps.
> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> index 4ee6fdf..aaba9d3 100644
> --- a/drivers/iio/industrialio-core.c
> +++ b/drivers/iio/industrialio-core.c
> @@ -126,6 +126,8 @@ static const char * const iio_chan_info_postfix[] = {
> [IIO_CHAN_INFO_ENABLE] = "en",
> [IIO_CHAN_INFO_CALIBHEIGHT] = "calibheight",
> [IIO_CHAN_INFO_CALIBWEIGHT] = "calibweight",
> + [IIO_CHAN_INFO_DEBOUNCE_COUNT] = "debounce_count",
> + [IIO_CHAN_INFO_DEBOUNCE_TIME] = "debounce_time",
> };
>
> /**
> diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
> index 51f1643..80d8550 100644
> --- a/include/linux/iio/iio.h
> +++ b/include/linux/iio/iio.h
> @@ -41,6 +41,8 @@ enum iio_chan_info_enum {
> IIO_CHAN_INFO_ENABLE,
> IIO_CHAN_INFO_CALIBHEIGHT,
> IIO_CHAN_INFO_CALIBWEIGHT,
> + IIO_CHAN_INFO_DEBOUNCE_COUNT,
> + IIO_CHAN_INFO_DEBOUNCE_TIME,
> };
>
> enum iio_shared_by {
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/