On Thu, Jul 24, 2008 at 11:44:36AM +0200, Eric Piel wrote:
> 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.

I think if we're trying to make something that will cover a number
of device classes, we need to be more like HID and have a system
that reports and possibly records the following:

1) What data is possible to be returned from each event, with the
   units, magnitude and any scale applied by the device sending.

2) Each event should be able to report a number of items, so that
   if the sensor reports X/Y/Z in one go, there is just a single
   event containing those values.

3) A well defined set of information that can be read (like #1)
   that can provide details of the device and how it relates to
   the environment it is in.

-- 
Ben ([EMAIL PROTECTED], http://www.fluff.org/)

  'a smiley only costs 4 bytes'

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to