Linux IIO development
 help / color / mirror / Atom feed
From: David Lechner <david@lechnology.com>
To: Lars-Peter Clausen <lars@metafoo.de>, linux-iio@vger.kernel.org
Cc: Jonathan Cameron <jic23@kernel.org>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] iio: add channel type for frequency
Date: Sun, 1 Jul 2018 17:24:34 -0500	[thread overview]
Message-ID: <74c98fdc-b498-c593-e0b1-6aeb7057398a@lechnology.com> (raw)
In-Reply-To: <308015e8-d203-c4d1-ba80-3c2adf4b377a@metafoo.de>

On 07/01/2018 02:18 AM, Lars-Peter Clausen wrote:
> On 07/01/2018 04:59 AM, David Lechner wrote:
>> This adds a new type for frequency to the IIO channel type enumeration.
>>
>> Units are in Hz.
>>
> 
> Documentation?

I take it that you mean Documentation/ABI/testing/sysfs-bus-iio? Or
somewhere else too?

> 
> We already have the altvoltage channel type with the frequency attribute.
> Difficult to say if there are any overlaps without documentation on how this
> new attribute is supposed to be used.

I'm basically trying to implement a quadrature encoder in iio. I want to be
able to use it in-kernel to get a rotational speed value for a motor.

The motors (and encoder wheels) are hot-swapable, so we don't know how many
counts from the quadrature encoder equals one rotation because it depends on
which motor is being used. So using IIO_ANGL_VEL doesn't work for this case.

It seems to me that the proper generic unit for "speed" from the quadrature
encoder would be counts per second, hence the suggestion of a frequency unit.
I'm not sure if voltage frequency works here since a "count" on a quadrature
encoder is derived from two different voltage signals (and may vary depending
on how the encoder determines what one count it).

Also, unrelated to my quadrature encoder project, I was thinking that
frequency counters would use this unit as well (although the voltage alt
makes more sense for this case).

There are also sound sensors that measure frequency that could use this unit.

> 
>> Signed-off-by: David Lechner <david@lechnology.com>
>> ---
>>   drivers/iio/industrialio-core.c | 1 +
>>   include/uapi/linux/iio/types.h  | 1 +
>>   tools/iio/iio_event_monitor.c   | 1 +
>>   3 files changed, 3 insertions(+)
>>
>> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
>> index 19bdf3d2962a..f3c2c9e4b997 100644
>> --- a/drivers/iio/industrialio-core.c
>> +++ b/drivers/iio/industrialio-core.c
>> @@ -85,6 +85,7 @@ static const char * const iio_chan_type_name_spec[] = {
>>   	[IIO_COUNT] = "count",
>>   	[IIO_INDEX] = "index",
>>   	[IIO_GRAVITY]  = "gravity",
>> +	[IIO_FREQUENCY] = "frequency",
>>   };
>>   
>>   static const char * const iio_modifier_names[] = {
>> diff --git a/include/uapi/linux/iio/types.h b/include/uapi/linux/iio/types.h
>> index 4213cdf88e3c..9fee86e2046f 100644
>> --- a/include/uapi/linux/iio/types.h
>> +++ b/include/uapi/linux/iio/types.h
>> @@ -44,6 +44,7 @@ enum iio_chan_type {
>>   	IIO_COUNT,
>>   	IIO_INDEX,
>>   	IIO_GRAVITY,
>> +	IIO_FREQUENCY,
>>   };
>>   
>>   enum iio_modifier {
>> diff --git a/tools/iio/iio_event_monitor.c b/tools/iio/iio_event_monitor.c
>> index b61245e1181d..c3ef20057d52 100644
>> --- a/tools/iio/iio_event_monitor.c
>> +++ b/tools/iio/iio_event_monitor.c
>> @@ -58,6 +58,7 @@ static const char * const iio_chan_type_name_spec[] = {
>>   	[IIO_PH] = "ph",
>>   	[IIO_UVINDEX] = "uvindex",
>>   	[IIO_GRAVITY] = "gravity",
>> +	[IIO_FREQUENCY] = "frequency",
>>   };
>>   
>>   static const char * const iio_ev_type_text[] = {
>>
> 


  reply	other threads:[~2018-07-01 22:24 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-01  2:59 [PATCH] iio: add channel type for frequency David Lechner
2018-07-01  7:18 ` Lars-Peter Clausen
2018-07-01 22:24   ` David Lechner [this message]
2018-07-02 13:03     ` Jonathan Cameron
2018-07-02 15:33       ` David Lechner

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=74c98fdc-b498-c593-e0b1-6aeb7057398a@lechnology.com \
    --to=david@lechnology.com \
    --cc=jic23@kernel.org \
    --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 \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox