lkml.org 
[lkml]   [2014]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [RFC PATCH 4/8] iio: core: Introduce pedometer STEP counter modifier
Date
> From: Jonathan Cameron [mailto:jic23@kernel.org]
> On 02/10/14 14:43, Daniel Baluta wrote:
> > From: Irina Tirdea <irina.tirdea@intel.com>
> >
> > One of the functionalities of a pedometer is a step counter.
> > The step counter needs to be enabled and then it will count the steps
> > in its hardware register. Whenever the applications need to check
> > the step count, they will read the step counter register.
> >
> > To support this functionality we need a steps attribute that
> > will export the number of steps.
> >
> I'm not keen on multiplexing different types of data onto a single activity type.
> Steps is well enough defined on it's own to have it's own channel type.
>
> in_steps_input would be fine by me. I suppose steps might mean something else
> though...
>

Hi Jonathan,

Thanks for the review.

Moving the pedometer part to a new type sounds good to me.
However, I would prefer to add a new type called pedometer and keep steps as a modifier, generating names like in_ped_steps_input for the attribute and in_ped_steps_instance_en for the event.
The reason for this is that for supporting Freescale's MMA9553L we will need additional attributes (distance, speed, calories, height, weight) that we can add as modifiers to this pedometer type. To keep things simple, I did not add these additional attributes to the RFC series, but I could do that if you think it would be useful. For this device, the motion events (walking, running, jogging, still) also depend on the height attribute being set, but we intend to deal with this dependency in the driver (using the pedometer's height attribute).

What do you think?

Thanks,
Irina


> > --- a/drivers/iio/industrialio-core.c
> > +++ b/drivers/iio/industrialio-core.c
> > @@ -96,6 +96,7 @@ static const char * const iio_modifier_names[] = {
> > [IIO_MOD_JOGGING] = "jogging",
> > [IIO_MOD_WALKING] = "walking",
> > [IIO_MOD_STILL] = "still",
> > + [IIO_MOD_PED_STEPS] = "steps",
> > };
> >
> > /* relies on pairs of these shared then separate */
> > diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
> > index 003638d..ae51780 100644
> > --- a/include/linux/iio/types.h
> > +++ b/include/linux/iio/types.h
> > @@ -65,6 +65,7 @@ enum iio_modifier {
> > IIO_MOD_JOGGING,
> > IIO_MOD_WALKING,
> > IIO_MOD_STILL,
> > + IIO_MOD_PED_STEPS,
> > };
> >
> > enum iio_event_type {
> >


\
 
 \ /
  Last update: 2014-10-06 16:21    [W:0.092 / U:0.504 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site