aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDavid Täht <d@teklibre.com>2009-01-20 09:33:23 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2009-04-03 17:53:32 -0400
commitb3bc12dac7e4045654ef4db49bef3e00e03e4452 (patch)
treedc8a0d4a3ace011f66885f175c3a4e52456557f8 /drivers
parent7f84642b2f6524929738a4c005002637ecd4b16d (diff)
Staging: frontier: Updated documentation
Signed-off-by: David Täht <d@teklibre.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/frontier/README53
1 files changed, 36 insertions, 17 deletions
diff --git a/drivers/staging/frontier/README b/drivers/staging/frontier/README
index 07c9ef9b8fc..cd07af22406 100644
--- a/drivers/staging/frontier/README
+++ b/drivers/staging/frontier/README
@@ -1,28 +1,47 @@
1This directory contains the USB Tranzport and Alphatrack Kernel drivers for Linux. 1This directory contains the Linux USB Tranzport and Alphatrack Kernel drivers.
2 2
3At present the tranzport does reads/writes of 8 byte cmds to /dev/tranzport0 to control 3See http://www.frontierdesign.com for details on these devices.
4the lights and screen and wheel
5 4
6At present the alphatrack accepts reads/writes of 12 byte cmds to /dev/tranzport0 to control 5Userspace test code is available from
7the lights and screen and fader.
8 6
9Both drivers also have some sysfs hooks that are non-functional at the moment. 7git://toutatis.isc.org/home/d/src/git/frontier.git
10 8
11The API is currently closely tied to the ardour revision and WILL change. 9At present the tranzport does reads/writes of 8 byte cmds to
10/dev/tranzport0 to control the lights, screen, and wheel.
12 11
13A sysfs interface is PERFECT for simple userspace apps to do fun things with the 12At present the alphatrack accepts reads/writes of 12 byte cmds to
14lights and screen. It's fairly lousy for handling input events and very lousy 13/dev/tranzport0 to control the lights, screen, fader and touchpad.
15for watching the state of the shuttle wheel.
16 14
17A linux input events interface is great for the input events and shuttle wheel. It's 15The tranzport driver provides a rudimentary sysfs interface for the status of
18theoretically OK on LEDs. A Fader can be mapped to an absolute mouse device. 16the device and a writable parameter for turning wheel compression on and off.
19But there is no LCD support at all.
20 17
21In the end this is going to be driven by a midi layer, which handles all those 18The API is nothing more than the USB commands issued to the device. Why?
22cases via a defined API, but - among other things - is slow, doesn't do 19
23flow control, and is a LOT of extra work. Frankly, I'd like to keep the 20The control wheel/fader can generate events far too quickly for
21a typical userspace application to keep up with them via libusb. Input
22needs to be 100% accurate and fast in order for the alphatrack or tranzport
23to be useful.
24
25UIO would be useful except that usb disconnect events need
26to be handled correctly.
27
28A sysfs interface is perfect for simple userspace apps to do fun things with
29the lights and screen. But it's fairly lousy for handling input events and
30very lousy for watching the state of the shuttle wheel.
31
32A linux input events interface is great for the input events and shuttle wheel.
33* It's theoretically OK on LEDs.
34* A fader can be mapped to an absolute mouse device.
35* But there is no LCD support at all, or fader feedback support in that API
36
37So, thus, these stubby drivers exist.
38
39In the end this could be driven by a midi layer, which handles all those
40cases via a well defined API, but - among other things - is slow, doesn't do
41flow control, and is a LOT of extra work, none of which is required at
42the kernel level (probably). Frankly, I'd like to keep the
24core driver simple because the only realtime work really required is 43core driver simple because the only realtime work really required is
25the bottom half interrupt handler and the output overlapping. 44the bottom half interrupt handler and the output overlapping.
26 45
27Exposing some sort of clean aio api to userspace would be perfect. What that 46Exposing some sort of clean api to userspace would be perfect. What that
28API looks like? Gah. beats me. 47API looks like? Gah. beats me.