public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Eric Piel <eric.piel@tremplin-utc.net>
To: Jonathan Cameron <Jonathan.Cameron@gmail.com>
Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br>,
	LKML <linux-kernel@vger.kernel.org>,
	spi-devel-general@lists.sourceforge.net,
	LM Sensors <lm-sensors@lm-sensors.org>,
	Jean Delvare <khali@linux-fr.org>, Dmitry Torokhov <dtor@mail.ru>,
	"Hans J. Koch" <hjk@linutronix.de>,
	David Brownell <david-b@pacbell.net>,
	mgross@linux.intel.com, Ben Nizette <bn@niasdigital.com>,
	Anton Vorontsov <avorontsov@ru.mvista.com>
Subject: Re: [Patch 0/4] IndustrialIO subsystem (ADCs, accelerometers etc)
Date: Thu, 24 Jul 2008 11:44:36 +0200	[thread overview]
Message-ID: <48884F04.4070403@tremplin-utc.net> (raw)
In-Reply-To: <20080723174801.GC11009@khazad-dum.debian.net>

Henrique de Moraes Holschuh schreef:
> On Wed, 23 Jul 2008, Jonathan Cameron wrote:
>> The subsystem is now in a functional state with a small set of drivers:
>>
>> Max1363 (supports numerous Maxim i2c ADC's) (tested with max1363 and max1238 chips)
>>    - Uses a periodic timer to provide ring buffer mode.
>>    - All reads form these devices are scan modes so direct single element access
>>      is not provided.
>>    - Monitor mode on max1363 is not yet supported (need to do a bit debugging of
>>      the board I have so as to be able to test this).
>>
>> ST LIS3L02DQ - SPI accelerometer.
>>    - Uses a datardy interrupt to driver a software ring buffer.
>>    - Most functionality of this device is supported.
>>
>> VTI SCA3000 (tested with an e05)
>>    - Hardware ring buffer.
> 
> I'd like to see something done to have the common parts of interfaces of the
> same class (e.g. accelerometers) be standard.  Like hwmon does with
> temp#_input, etc.
> 
> Otherwise you made it easier to write drivers, but did nothing to help
> userspace to USE the drivers :-)
Hi,
I completely agree with Henrique. There already exist 3 accelerometer 
drivers in the kernel (and I'm writing a fourth on). What we are 
desperately in need of is a _user_ interface. So that a generic program 
can pop up and say "Oh, there is an accelerometer on this computer, I'll 
use it to detect free falls."

IMHO, I think the ADC should have a much more specific and specialised 
(user and kernel) API corresponding to the accelerometers. Granted, you 
probably had in mind only the accelerometers for industrial usage, but 
it would be much better if the current accelerometer drivers had a 
reason to be ported to this new subsystem.

In particular, what I think would be worthy would be:
* Up to 3 pre-defined axes (X, Y, Z) - that's provided by your current 
version of industrialio
* If the accelerometer is soldered on the computer, define once for all 
to which _physical_ movement corresponds which axis (eg: a laptop on its 
normal position going up has axis Z increasing).
* Free fall event. Either it's hardware detected, or the accelerometer 
infrastructure will detect it in software.
* For each axis, what is the maximum and minimum bound and the unit - 
Probably worthy for the whole ADC infrastructure
* Joystick emulation (calibrated so that when the computer is not 
moving, all the values are at 0). All the current drivers have it.

That's it for my wish-list for accelerometers :-)


Also, a couple of specific comments on the patches:
* At a quick glance, it seems the VTI SCA3000 driver sends events at 50% 
and 75% ring full, while the ST LIS3L02DQ driver sends events at 50% and 
100%. Why this difference?
* The accelerometer infrastructure has axis offset and axis gain 
attributes. However, it seems really specific to the ST accelerometer 
(and still, I doubt it's useful for most users as those values are 
factory-set to good values). Shouldn't they be moved to the ST LIS3L02DQ 
driver instead of being part of the accelerometer infrastructure?
* It would be also very good to provide a small userspace program 
showing how to read an industrialio device (à la evtest).

See you,
Eric




  reply	other threads:[~2008-07-24  9:45 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-23 17:00 [Patch 0/4] IndustrialIO subsystem (ADCs, accelerometers etc) Jonathan Cameron
2008-07-23 17:08 ` [Patch 1/4] Industrialio Core Jonathan Cameron
2008-07-23 18:31   ` Anton Vorontsov
2008-07-24 10:12     ` [spi-devel-general] " Jonathan Cameron
2008-07-23 19:42   ` Ben Dooks
2008-07-24 10:33     ` Jonathan Cameron
2008-07-24  9:01   ` Eric Piel
2008-07-24 11:56     ` [spi-devel-general] " Jonathan Cameron
2008-07-23 17:11 ` [Patch 2/4] Max1363 (and similar) ADCs Jonathan Cameron
2008-07-23 17:14 ` [Patch 3/4] ST LIS3L02DQ accelerometer Jonathan Cameron
2008-07-23 17:07   ` Alan Cox
2008-07-23 17:44     ` Jonathan Cameron
2008-07-23 17:17 ` [Patch 4/4] VTI SCA3000 Series accelerometer driver Jonathan Cameron
2008-07-23 17:48 ` [Patch 0/4] IndustrialIO subsystem (ADCs, accelerometers etc) Henrique de Moraes Holschuh
2008-07-24  9:44   ` Eric Piel [this message]
2008-07-24 10:08     ` Ben Dooks
2008-07-24 12:20       ` [spi-devel-general] " Jonathan Cameron
2008-07-24 12:13     ` Jonathan Cameron
2008-07-24 12:37       ` Eric Piel
2008-07-24 12:45         ` Jonathan Cameron
2008-07-24 13:26           ` Dmitry Torokhov
2008-07-24 13:39             ` Jonathan Cameron
2008-07-23 18:36 ` David Brownell
2008-07-23 19:19 ` [spi-devel-general] " Ben Dooks
2008-07-24  7:41   ` Hans J. Koch
2008-07-24  9:19     ` Alan Cox
2008-07-24 12:28       ` Jonathan Cameron
2008-07-24 10:01     ` Ben Dooks
2008-07-24 15:38       ` Hans J. Koch
2008-07-24 16:11         ` Jonathan Cameron
2008-07-24 12:32   ` Jonathan Cameron
2008-07-23 19:33 ` Ben Dooks
2008-07-24 17:57 ` [Patch 5/4] IndustrialIO subsystem very early cut of documentation + userspace demo Jonathan Cameron
2008-07-24 22:25 ` [Patch 0/4] IndustrialIO subsystem (ADCs, accelerometers etc) Jan Engelhardt
2008-07-25 11:12   ` Jonathan Cameron
2008-07-25 11:28     ` Anton Vorontsov

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=48884F04.4070403@tremplin-utc.net \
    --to=eric.piel@tremplin-utc.net \
    --cc=Jonathan.Cameron@gmail.com \
    --cc=avorontsov@ru.mvista.com \
    --cc=bn@niasdigital.com \
    --cc=david-b@pacbell.net \
    --cc=dtor@mail.ru \
    --cc=hjk@linutronix.de \
    --cc=hmh@hmh.eng.br \
    --cc=khali@linux-fr.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm-sensors@lm-sensors.org \
    --cc=mgross@linux.intel.com \
    --cc=spi-devel-general@lists.sourceforge.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