Subject: Re: A/Ds (device drivers)
To: Christian Kuhtz <ck@gnu.org>
From: Gregory McGarry <g.mcgarry@ieee.org>
List: port-i386
Date: 06/20/2001 08:35:10
Christian Kuhtz wrote:

> > How concerned are you about timeing?
> >
> > If you just want to read from an IO address every second or so and you don't
> > care about interrupts you can do this from userland - see i386_iopl(2) and
> > /usr/include/machine/pio.h for inb().
> 
> Sorry, I forgot to address that.
> 
> Ideally, I'd like to get each channel at a constant sub-second range, at least
> 10Hz, maybe up to 50Hz (but seems for what I want to do with it 10Hz is plenty
> in most cases; so, you may have a couple of high rate channels and a the rest
> is 10Hz or less).  Probably something along the lines of this board
> 
> http://www.diamondsystems.com/diamondmmat.htm
> 
> which offers 16ch @ 12-bit each, with a 512 sample fifo (which generates an
> interrupt at half full).

I've got some PCI and VME acquisition boards I'm currently looking
at supporting.  So I'm looking at doing a machine-independent interface.

I'm thinking of having three minor device numbers to access analogue I/O,
digital I/O and timers/counters.  All I/O should support DMA and
polled I/O.  Time-stamping of polled I/O would be good.  The counters and
timers could attach the watchdog framework and be useful for ntp.

I'd also like to attach audio(9) for an eight channel microphone array.

Lots of ideas and options.  The hard part is to develop the MI interface
which doesn't limit these ideas.  Other than that, it shouldn't take long
to implement.  Don't hold you breath though, I won't be starting this
for a while yet.

Any further ideas are welcome.  If you want to help design the API that
would be great.

	-- Gregory McGarry <g.mcgarry@ieee.org>