From: Henrique de Moraes Holschuh <hmh@debian.org>
To: Pavel Machek <pavel@ucw.cz>
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>
Subject: Re: Generic interface for accelerometers (AMS, HDAPS, ...)
Date: Tue, 4 Jul 2006 13:23:46 -0300 [thread overview]
Message-ID: <20060704162346.GE9447@khazad-dum.debian.net> (raw)
In-Reply-To: <20060704075950.GA13073@elf.ucw.cz>
On Tue, 04 Jul 2006, Pavel Machek wrote:
> 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).
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.
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...))
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
:-)
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
next prev parent reply other threads:[~2006-07-04 16:23 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 [this message]
2006-07-04 23:57 ` Pavel Machek
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=20060704162346.GE9447@khazad-dum.debian.net \
--to=hmh@debian.org \
--cc=hdaps-devel@lists.sourceforge.net \
--cc=linux-kernel@hansmi.ch \
--cc=linux-kernel@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
--cc=pavel@ucw.cz \
--cc=stelian@popies.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
all inboxes | Powered by JetHome®