LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Irina Tirdea <irina.tirdea@intel.com>, linux-iio@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Vlad Dogaru <vlad.dogaru@intel.com>,
	Daniel Baluta <daniel.baluta@intel.com>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald <pmeerw@pmeerw.net>
Subject: Re: [PATCH v2 07/10] iio: core: Introduce IIO_CHAN_INFO_FILTER_OUTLIERS_THRESH and _PERIOD
Date: Sun, 25 Jan 2015 23:07:42 +0000	[thread overview]
Message-ID: <54C5773E.2030508@kernel.org> (raw)
In-Reply-To: <1421003416-27557-8-git-send-email-irina.tirdea@intel.com>

On 11/01/15 19:10, 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_FILTER_OUTLIERS_THRESH and IIO_CHAN_INFO_FILTER_OUTLIERS_PERIOD.
> For the pedometer, in_steps_filter_outlier_thresh will specify the number of
> steps that need to occur in in_steps_filter_outlier_period seconds so that
> the pedometer decides the user is moving.
> 
> Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
I wonder if the naming here is infact too generic.  They aren't what
people would normally think of as outliers.  That would be removing
missidentified steps mid way through grabbing data (to my mind).

These are almost a 'debounce' of the transition from stationary to
walking... Maybe there is another better term.  All suggestions welcome!

> ---
>  Documentation/ABI/testing/sysfs-bus-iio | 21 +++++++++++++++++++++
>  drivers/iio/industrialio-core.c         |  2 ++
>  include/linux/iio/iio.h                 |  2 ++
>  3 files changed, 25 insertions(+)
> 
> diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio
> index c03a140..e009f49 100644
> --- a/Documentation/ABI/testing/sysfs-bus-iio
> +++ b/Documentation/ABI/testing/sysfs-bus-iio
> @@ -1193,3 +1193,24 @@ 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_filter_outliers_period
> +KernelVersion:	3.20
> +Contact:	linux-iio@vger.kernel.org
> +Description:
> +		Specifies the number of seconds in which we compute the
> +		values so we can decide if they are outlier values and
> +		need to be filter out. These computed values are then
> +		compared with in_steps_filter_outliers_thresh. E.g. for steps:
> +		specifies number of seconds in which we compute the steps
> +		that occur in order to decide if the consumer is making steps.
> +
> +What:		/sys/.../iio:deviceX/in_steps_filter_outliers_thresh
> +KernelVersion:	3.20
> +Contact:	linux-iio@vger.kernel.org
> +Description:
> +		Specifies a threshold for filtering outlier values: if value
> +		measured in in_steps_filter_outliers_period seconds is below
> +		threshold, we filter it out. E.g. for steps: specifies number
> +		of steps that must occur within in_steps_filter_outliers_period
> +		for the pedometer to decide the consumer is making steps.
> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> index 4ee6fdf..81678b3 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_FILTER_OUTLIERS_THRESH] = "filter_outliers_thresh",
> +	[IIO_CHAN_INFO_FILTER_OUTLIERS_PERIOD] = "filter_outliers_period",
>  };
>  
>  /**
> diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
> index 752a929..b6b12ac 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_FILTER_OUTLIERS_THRESH,
> +	IIO_CHAN_INFO_FILTER_OUTLIERS_PERIOD,
>  };
>  
>  enum iio_shared_by {
> 


  reply	other threads:[~2015-01-25 23:07 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-11 19:10 [PATCH v2 00/10] Add MMA9553 driver & PM support for MMA9551 Irina Tirdea
2015-01-11 19:10 ` [PATCH v2 01/10] iio: core: Introduce ENERGY channel type Irina Tirdea
2015-01-25 22:58   ` Jonathan Cameron
2015-03-29  0:14   ` Hartmut Knaack
2015-03-30 11:18     ` Tirdea, Irina
2015-01-11 19:10 ` [PATCH v2 02/10] iio: core: Introduce DISTANCE " Irina Tirdea
2015-01-25 22:59   ` Jonathan Cameron
2015-01-11 19:10 ` [PATCH v2 03/10] iio: core: Introduce IIO_VELOCITY and IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z Irina Tirdea
2015-01-25 23:00   ` Jonathan Cameron
2015-01-11 19:10 ` [PATCH v2 04/10] iio: core: Introduce IO_CHAN_INFO_CALIBWEIGHT Irina Tirdea
2015-01-25 23:01   ` Jonathan Cameron
2015-01-11 19:10 ` [PATCH v2 05/10] iio: core: Introduce CHANGE event type Irina Tirdea
2015-01-25 23:03   ` Jonathan Cameron
2015-01-11 19:10 ` [PATCH v2 06/10] iio: core: Remove IIO_EV_TYPE_INSTANCE Irina Tirdea
2015-01-26 19:04   ` Jonathan Cameron
2015-01-11 19:10 ` [PATCH v2 07/10] iio: core: Introduce IIO_CHAN_INFO_FILTER_OUTLIERS_THRESH and _PERIOD Irina Tirdea
2015-01-25 23:07   ` Jonathan Cameron [this message]
2015-01-26 14:40     ` Daniel Baluta
2015-01-26 19:01       ` Jonathan Cameron
2015-01-27 16:20         ` Tirdea, Irina
2015-01-11 19:10 ` [PATCH v2 08/10] iio: accel: mma9551: Add runtime pm support Irina Tirdea
2015-01-26 19:08   ` Jonathan Cameron
2015-01-27 17:18     ` Tirdea, Irina
2015-01-11 19:10 ` [PATCH v2 09/10] iio: accel: mma9551: split driver to expose mma955x api Irina Tirdea
2015-01-26 19:25   ` Jonathan Cameron
2015-01-11 19:10 ` [PATCH v2 10/10] iio: add driver for Freescale MMA9553 Irina Tirdea
2015-01-26 20:44   ` Jonathan Cameron
2015-01-27 17:09     ` Tirdea, Irina
2015-01-27 17:31       ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54C5773E.2030508@kernel.org \
    --to=jic23@kernel.org \
    --cc=daniel.baluta@intel.com \
    --cc=irina.tirdea@intel.com \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    --cc=vlad.dogaru@intel.com \
    --subject='Re: [PATCH v2 07/10] iio: core: Introduce IIO_CHAN_INFO_FILTER_OUTLIERS_THRESH and _PERIOD' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).