RE: [PATCH v2 07/10] iio: core: Introduce IIO_CHAN_INFO_FILTER_OUTLIERS_THRESH and _PERIOD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Jonathan Cameron [mailto:jic23@xxxxxxxxxx]
> Sent: 26 January, 2015 21:02
> To: Baluta, Daniel
> Cc: Tirdea, Irina; linux-iio@xxxxxxxxxxxxxxx; Linux Kernel Mailing List; Dogaru, Vlad; Hartmut Knaack; Lars-Peter Clausen; Peter
> Meerwald
> Subject: Re: [PATCH v2 07/10] iio: core: Introduce IIO_CHAN_INFO_FILTER_OUTLIERS_THRESH and _PERIOD
> 
> On 26/01/15 14:40, Daniel Baluta wrote:
> > On Mon, Jan 26, 2015 at 1:07 AM, Jonathan Cameron <jic23@xxxxxxxxxx> 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@xxxxxxxxx>
> >> 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!

I also agree with in_steps_debounce_count and in_steps_debounce_time, but I'll wait a couple of days before sending v3 maybe someone comes up with something better.
Thanks Daniel and Jonathan!

> >
> >>
> >>> ---
> >>>  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@xxxxxxxxxxxxxxx
> >>> +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@xxxxxxxxxxxxxxx
> >>> +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@xxxxxxxxxxxxxxx
> >> 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@xxxxxxxxxxxxxxx
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >

��.n��������+%������w��{.n�����{��(��)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux