All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: "Tirdea, Irina" <irina.tirdea@intel.com>,
	"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Dogaru, Vlad" <vlad.dogaru@intel.com>,
	"Baluta, Daniel" <daniel.baluta@intel.com>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald <pmeerw@pmeerw.net>
Subject: Re: [PATCH 3/8] iio: core: Introduce SPEED channel type
Date: Thu, 01 Jan 2015 10:34:19 +0000	[thread overview]
Message-ID: <54A522AB.1020401@kernel.org> (raw)
In-Reply-To: <1F3AC3675D538145B1661F571FE1805F199F7B6F@irsmsx105.ger.corp.intel.com>

On 29/12/14 18:13, Tirdea, Irina wrote:
> 
> 
>> -----Original Message-----
>> From: Jonathan Cameron [mailto:jic23@kernel.org]
>> Sent: 26 December, 2014 15:28
>> To: Tirdea, Irina; linux-iio@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org; Dogaru, Vlad; Baluta, Daniel; Hartmut Knaack; Lars-Peter Clausen; Peter Meerwald
>> Subject: Re: [PATCH 3/8] iio: core: Introduce SPEED channel type
>>
>> On 19/12/14 22:57, Irina Tirdea wrote:
>>> Some devices export the current speed value of the user.
>>>
>>> One of this devices is Freescale's MMA9553L
>>> (http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdf)
>>> that computes the speed of the user based on the number of steps and
>>> stride length.
>>>
>>> Introduce a new channel type SPEED to export these values.
>>>
>> A fun question raised by this is whether we are going to end up with
>> both speed and velocity (depending on whether it is signed or not).
>> I suppose there isn't much to be done about that though and this looks fine
>> to me (as does the previous one).
> 
> We might be able to unify speed and velocity if we use modifiers.
> 
> I am not sure how a device would export velocity information, but I
> assume it would be similar to acceleration (since we are talking
> about a vector as well). In this case we would need one channel type
> IIO_VELOCITY with modifiers for the 3 axes (IIO_MOD_X, IIO_MOD_Y,
> IIO_MOD_Z). We can further compute speed as the magnitude or the norm
> of the velocity vector (root of the sum squared values for x, y, z),
> so we can export it as an additional modifier IIO_MOD_NORM.
Good, except for the last bit. We already have IIO_MOD_ROOT_SUM_SQUARED_X_Y so
should add IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z for 3D devices and use that.  A little
confusing perhaps for people just looking for a speed though.  Meh. Most
people will use this through a library anyway so that can wrap up the
measurement as speed if it wants to.
Note resulting attribute names will end up as the somewhat convoluted

in_velocity_sqrt(x^2+y^2+z^2)_* 

I suppose that's clear enough...
> 
> The pedometer only gives speed information without keeping track of
> the direction, so in this case we will have one channel IIO_VELOCITY
> with one modifier IIO_MOD_NORM.
> 
> Would this be a better approach than just exporting IIO_SPEED?> 
Saves us some confusion later, so yes I prefer this.
> Thanks,
> Irina
> 
>>> Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
>>> ---
>>>  Documentation/ABI/testing/sysfs-bus-iio |    9 +++++++++
>>>  drivers/iio/industrialio-core.c         |    1 +
>>>  include/linux/iio/types.h               |    1 +
>>>  3 files changed, 11 insertions(+)
>>>
>>> diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio
>>> index a5c1dcc..07acef7 100644
>>> --- a/Documentation/ABI/testing/sysfs-bus-iio
>>> +++ b/Documentation/ABI/testing/sysfs-bus-iio
>>> @@ -295,6 +295,7 @@ What:		/sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_tilt_comp_scale
>>>  What:		/sys/bus/iio/devices/iio:deviceX/in_pressureY_scale
>>>  What:		/sys/bus/iio/devices/iio:deviceX/in_pressure_scale
>>>  What:		/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
>>> +What:		/sys/bus/iio/devices/iio:deviceX/in_speed_scale
>>>  KernelVersion:	2.6.35
>>>  Contact:	linux-iio@vger.kernel.org
>>>  Description:
>>> @@ -1146,6 +1147,14 @@ Description:
>>>  		present, output should be considered as processed with the
>>>  		unit in milliamps.
>>>
>>> +What:		/sys/.../iio:deviceX/in_speed_input
>>> +What:		/sys/.../iio:deviceX/in_speed_raw
>>> +KernelVersion:	3.19
>>> +Contact:	linux-iio@vger.kernel.org
>>> +Description:
>>> +		This attribute is used to read the current speed value of the user.
>>> +		Units after application of scale are m/s.
>>> +
>>>  What:		/sys/.../iio:deviceX/in_steps_en
>>>  KernelVersion:	3.19
>>>  Contact:	linux-iio@vger.kernel.org
>>> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
>>> index 4a10d31..5e50aca 100644
>>> --- a/drivers/iio/industrialio-core.c
>>> +++ b/drivers/iio/industrialio-core.c
>>> @@ -74,6 +74,7 @@ static const char * const iio_chan_type_name_spec[] = {
>>>  	[IIO_STEPS] = "steps",
>>>  	[IIO_CALORIES] = "calories",
>>>  	[IIO_DISTANCE] = "distance",
>>> +	[IIO_SPEED] = "speed",
>>>  };
>>>
>>>  static const char * const iio_modifier_names[] = {
>>> diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
>>> index b98f751..c848f45 100644
>>> --- a/include/linux/iio/types.h
>>> +++ b/include/linux/iio/types.h
>>> @@ -34,6 +34,7 @@ enum iio_chan_type {
>>>  	IIO_STEPS,
>>>  	IIO_CALORIES,
>>>  	IIO_DISTANCE,
>>> +	IIO_SPEED,
>>>  };
>>>
>>>  enum iio_modifier {
>>>
> 


  reply	other threads:[~2015-01-01 10:34 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-19 22:57 [PATCH 0/8] Add MMA9553 driver & PM support for MMA9551 Irina Tirdea
2014-12-19 22:57 ` [PATCH 1/8] iio: core: Introduce CALORIES channel type Irina Tirdea
2014-12-26 13:26   ` Jonathan Cameron
2014-12-29 14:42     ` Tirdea, Irina
2014-12-29 14:42       ` Tirdea, Irina
2015-01-01 10:29       ` Jonathan Cameron
2015-01-11 13:44         ` Tirdea, Irina
2015-01-11 13:44           ` Tirdea, Irina
2014-12-19 22:57 ` [PATCH 2/8] iio: core: Introduce DISTANCE " Irina Tirdea
2014-12-19 22:57 ` [PATCH 3/8] iio: core: Introduce SPEED " Irina Tirdea
2014-12-26 13:28   ` Jonathan Cameron
2014-12-29 18:13     ` Tirdea, Irina
2014-12-29 18:13       ` Tirdea, Irina
2015-01-01 10:34       ` Jonathan Cameron [this message]
2015-01-11 13:47         ` Tirdea, Irina
2015-01-11 13:47           ` Tirdea, Irina
2014-12-19 22:57 ` [PATCH 4/8] iio: core: Introduce IO_CHAN_INFO_CALIBWEIGHT Irina Tirdea
2014-12-26 13:31   ` Jonathan Cameron
2014-12-29 15:05     ` Tirdea, Irina
2014-12-29 15:05       ` Tirdea, Irina
2015-01-01 10:37       ` Jonathan Cameron
2014-12-19 22:57 ` [PATCH 5/8] iio: core: Introduce IIO_CHAN_INFO_CALIBGENDER Irina Tirdea
2014-12-26 13:29   ` Jonathan Cameron
2014-12-29 19:59     ` Tirdea, Irina
2014-12-19 22:57 ` [PATCH 6/8] iio: accel: mma9551: Add runtime pm support Irina Tirdea
2014-12-19 22:57 ` [PATCH 7/8] iio: accel: mma9551: split driver to expose mma955x api Irina Tirdea
2015-01-01 10:58   ` Jonathan Cameron
2015-01-11 13:52     ` Tirdea, Irina
2015-01-11 13:52       ` Tirdea, Irina
2014-12-19 22:57 ` [PATCH 8/8] iio: add driver for Freescale MMA9553 Irina Tirdea
2015-01-01 11:58   ` Jonathan Cameron
2015-01-11 15:10     ` Tirdea, Irina
2015-01-11 15:10       ` Tirdea, Irina
2015-01-11 17:51       ` 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=54A522AB.1020401@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 \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.