LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Daniel Baluta <daniel.baluta@intel.com>
Cc: Irina Tirdea <irina.tirdea@intel.com>,
	"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Vlad Dogaru <vlad.dogaru@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: Mon, 26 Jan 2015 19:01:42 +0000	[thread overview]
Message-ID: <54C68F16.9050407@kernel.org> (raw)
In-Reply-To: <CAEnQRZBYU+JBUjTHh0pXnyUfBxkWV0hzTj6DBHucQkJKet970A@mail.gmail.com>

On 26/01/15 14:40, Daniel Baluta wrote:
> On Mon, Jan 26, 2015 at 1:07 AM, Jonathan Cameron <jic23@kernel.org> wrote:
>> 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!
> 
> What about:
> 
> in_steps_debounce_count instead of in_steps_filter_outlier_thresh
> and
> in_steps_debounce_delay instead of in_steps_filter_outlier_period.
> 
> Also in_steps_debounce_time could work for in_steps_filter_outlier_period.
Hmm. Slight preference for debounce_time. 

I can't come up with a better option, but we'd best see if anyone else has
a better idea for a day or two!
> 
>>
>>> ---
>>>  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 {
>>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


  reply	other threads:[~2015-01-26 19:01 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
2015-01-26 14:40     ` Daniel Baluta
2015-01-26 19:01       ` Jonathan Cameron [this message]
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=54C68F16.9050407@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).