mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@suse.cz>
To: Henrique de Moraes Holschuh <hmh@debian.org>
Cc: lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org,
	hdaps-devel@lists.sourceforge.net,
	Stelian Pop <stelian@popies.net>,
	Michael Hanselmann <linux-kernel@hansmi.ch>,
	vojtech@suse.cz
Subject: Re: Generic interface for accelerometers (AMS, HDAPS, ...)
Date: Wed, 5 Jul 2006 01:57:17 +0200	[thread overview]
Message-ID: <20060704235717.GD11872@elf.ucw.cz> (raw)
In-Reply-To: <20060704162346.GE9447@khazad-dum.debian.net>

Hi!

> > Just use input infrastructure and be done with that? You can do
> > parking from userspace.
> 
> The command to execute the freeze (and for how long) can certaily come from
> userspace, and the logic behind that command can be an userspace
> high-priority task, yes (that's how it is done in HDAPS anyway).  However,
> to implement the disk head unload you need kernel code (you need to freeze
> the IO queues for a while too, not just unload the heads).

Okay, yes, this part is needed. It is useful for more than
accelerometers...


> Anyway, the input infrastructure is good to emulate a mouse/joystick, but we
> probably want to support the following generic data channels:
> 
> 1. Absolute acceleration output stream (either in hardware units, or
>    normalized to G or mG if at all possible) for X, Y, Z.  Does the input
>    infrastructure work well for reporting absolute numbers in a reasonably
>    constant rate?
>    
>    This is what HD head unload policy daemons want to know, and the stream
>    usually needs to offer datapoints somewhere between 20Hz and 100Hz
>    without excessive jitter to be useful for more advanced filtering (like
>    masking-off periodic movement such as the one caused by train tracks).
> 
> 2. As easy-to-use as possible joystick and mouse emulation (for toys and 
>    gaming), which probably means auto-calibrating ones when possible
>    and thus making them unsuitable channels for (1) above.

Well, I'd just provide 1. Providing 2 seems like task for some
userspace filtering library.

> 3. Control of accelerometer parameters:
>    3a. Report of accelerometer type (hdaps, ams, etc) and other metadata
>        (name, location, what it is measuring (system accel, hd-bay 
>        accel...))

Well, if your system is accelerating at different speed than hd-bay,
then your machine is either _way_ too big, or you are in bad trouble.

Ask Dmitry or vojtech, I believe input can provide such metadata. (I
left most of the quoted text so that vojtech can reply easily).

								Pavel

>    3b. Accelerometer polling frequency
>    3c. Enable/disable joystick and mouse emulation control
>    etc.
> 
> And, of course, userspace must be able to easily find the accelerometer
> outputs and diferentiate them from other joystick/mouse interfaces.  This is
> a task for udev, I suppose.
> 
> It is also very helpful to be able to know when something is using any of
> the accelerometer output channels, so as to shut it down (or stop talking to
> it) when it is uneeded.  I don't know about AMS, but talking to HDAPS when
> you don't need to does waste enough system resources and power to actually
> justify implementing this.
> 
> If we cannot detect automatically when userspace is paying attention to the
> accelerometer through the input layer, then that means we will need the
> enable/disable functionality already provided by the device model through
> sysfs.
> 
> > Only piece of puzzle missing is marking that input device as "this
> > accelerometer actually watches the whole device".
> 
> Well, it is very important to be able to easily find all data and channels
> pertaining for a given accelerometer, and the accelerometer metadata should
> indeed give userspace an idea of WHAT it is measuring the acceleration of
> :-)
> 

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

  reply	other threads:[~2006-07-04 23:57 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-03 12:48 Henrique de Moraes Holschuh
2006-07-04  7:59 ` Pavel Machek
2006-07-04 10:26   ` [Hdaps-devel] " Shem Multinymous
2006-07-04 10:57     ` Pavel Machek
2006-07-04 15:02     ` Thomas Tuttle
2006-07-05  3:13     ` Dmitry Torokhov
2006-07-04 16:23   ` Henrique de Moraes Holschuh
2006-07-04 23:57     ` Pavel Machek [this message]
2006-07-05  7:34       ` Vojtech Pavlik
2006-07-05 13:58         ` Henrique de Moraes Holschuh
2006-07-06  1:12           ` Pavel Machek
2006-07-05  7:59       ` [lm-sensors] " Jean Delvare
2006-07-05  8:00   ` [Hdaps-devel] " Johannes Berg
2006-07-05 14:06     ` Henrique de Moraes Holschuh
     [not found] <fa.GOQkHC8inXir2wbg4bZayOWXzAY@ifi.uio.no>
     [not found] ` <fa.qLWuLxQd7Mhcnixy/TLVs/nPwig@ifi.uio.no>
2006-07-05 23:59   ` Robert Hancock
2006-07-06  6:19     ` Vojtech Pavlik
2006-07-07  2:46       ` Henrique de Moraes Holschuh
2006-07-07  5:28         ` Robert Hancock
2006-07-07  9:31         ` Vojtech Pavlik
     [not found] <fa.+TBrYxvBPaXCptm9JXDjMT6wk58@ifi.uio.no>
     [not found] ` <fa.KtXXXVDoa0Coj62aBgf3NuqbZMo@ifi.uio.no>
2006-07-07  1:40   ` Robert Hancock

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=20060704235717.GD11872@elf.ucw.cz \
    --to=pavel@suse.cz \
    --cc=hdaps-devel@lists.sourceforge.net \
    --cc=hmh@debian.org \
    --cc=linux-kernel@hansmi.ch \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm-sensors@lm-sensors.org \
    --cc=stelian@popies.net \
    --cc=vojtech@suse.cz \
    /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

Powered by JetHome