From f8fa9f2f3664c0fbbc9f430bda76f68074c6ecad Mon Sep 17 00:00:00 2001 From: jamil Date: Tue, 9 Dec 1997 11:38:02 +0000 Subject: excuse me, adding alog.4 man page now forgot to commit previously --- share/man/man4/man4.i386/alog.4 | 146 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 share/man/man4/man4.i386/alog.4 (limited to 'share/man/man4') diff --git a/share/man/man4/man4.i386/alog.4 b/share/man/man4/man4.i386/alog.4 new file mode 100644 index 0000000..875b9c4 --- /dev/null +++ b/share/man/man4/man4.i386/alog.4 @@ -0,0 +1,146 @@ +.\" +.\" Copyright (c) 1997 Jamil J. Weatherbee +.\" All rights reserved. +.\" +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer +.\" in this position and unchanged. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" Industrial Computer Source model AIO8-P +.\" 8 channel, moderate speed analog to digital converter board with +.\" 128 channel MUX capability via daisy-chained AT-16P units +.\" alog.c, character device driver, last revised December 9 1997 +.\" See http://www.indcompsrc.com/products/data/html/aio8g-p.html +.\" +.\" Written by: Jamil J. Weatherbee +.\" +.\" +.Dd December 9, 1997 +.Dt ALOG 4 i386 +.Os FreeBSD +.Sh NAME +.Nm alog +.Nd +Industrial Computer Source AIO8-P driver +.Sh SYNOPSIS +.Cd "device alog0 at isa? port 0x260 tty irq 5 vector alogintr" +.Sh DESCRIPTION +This driver supports the Industrial Computer Source \fIAIO8-P 8-Channel +12-Bit Analog Input board\fP. +.Pp +This board provides 8 12 bit, single-ended analog input ports. +The driver also directly provides support for up to 8 daisy chained +\fIAT16-P Programmable Analog Multiplexers with 16 Differential Inputs\fP. +This makes it possible to sample up to 128 differential channels with a single +interface board. +Use of at least one \fIAT16-P\fP is highly recommended as the \fIAIO8-P\fP +offers no signal conditioning options and only operates in a -5 to +5 Volt +input range. However, if you wish to use the \fIAIO8-P\fP standalone, +insert the following into your kernel +.Xr config 8 +file: +.Bd -literal -offset indent +options ALOG_CHANNELS=8 +.Ed +.Pp +Selection of the input port is through the minor number: +.Pp +.Bd -literal -offset indent +The 8 bit minor number format is UCCCCMMM, where + U: board unit (0-1) +CCCC: external multiplexer channel (0-15) (on AT-16P units) + MMM: internal multiplexer channel (0-7) (on AIO8-P card) +.Ed +.Pp +.Xr devfs 5 +device node names are of the form: alog[0-1][a-p][0-7] +.Pp +.Sh IOCTL +The following +.Xr ioctl 2 +calls apply to +.Nm +devices. Their declaration can be found in the header files +.Pa +and +.Pa +.Bl -tag -width AD_MICRO_PERIOD_SET +.It Dv AD_MICRO_PERIOD_SET +Takes a pointer to a long argument specifying the number of microseconds +between samples. Half of this is used as the external multiplexer +settling time and the other half as conversion time. +.It Dv AD_MICRO_PERIOD_GET +Takes a pointer to a long argument and returns the current number of +microseconds between samples. +.It Dv AD_NCHANS_GET +Takes a pointer to an integer and returns the number of channels the board +supports. This should be 8 for a standalone \fIAIO8-P\fP or 128 for any +other setup. +.It Dv AD_FIFOSIZE_GET +Takes a pointer to an integer and returns the size of the fifo in +entries. The compile time option ALOG_FIFOSIZE is by default set to 64. +.It Dv AD_FIFO_TRIGGER_GET +Takes a pointer to an integer and returns the minimum number of entries a +fifo must contain to cause +.Xr poll 2 +to return. This by default is set to 1. +.It Dv AD_FIFO_TRIGGER_SET +Takes a pointer to an integer specifying the minimum number of entries a +fifo must contain to cause +.Xr poll 2 +to return. +.It Dv AD_START +Starts the clocked accumulation of sample values into a channel's driver fifo. +When a channel is first opened its software fifo is initialized in the +stopped state. This is to prevent high sample clocks from overrunning the +fifos before the user is ready to read from the channel. The driver +automatically performs an AD_START when the user issues the first read, +except for channels opened with the O_NONBLOCK flag which must explicitly +have an AD_START issued. +.It Dv AD_STOP +Stops the clocked accumulation of sample values into a channel's driver fifo. +.Sh BUGS +On the \fIAIO8-P\fP, interrupt driven conversion (the only type +supported by the +.Nm +driver) is facilitated through 8253 timer #2. In order for interrrupts to +be generated you must connect line 6 to line 24 (counter 2 output to +interrupt input) and line 23 to line 29 (counter 2 gate to +5VDC). +The design of the \fIAIO8-P\fP precludes the use of programmable +gain control. +.Pp +Use the combination of non-blocking i/o, +.Xr poll 2 +and a custom fifo trigger +wherever possible, especially with large numbers of open channels. +Using this method, multichannel sample rates as high as 16,000 samples/sec +have been observed. +.Pp +Sample rates lower than 32 Hz are not supported. +.Sh SEE ALSO +.Bd -literal +http://www.indcompsrc.com/products/data/html/aio8g-p.html +http://www.indcompsrc.com/products/data/html/at16-p.html +.Ed +.Sh AUTHOR +Jamil J. Weatherbee . -- cgit v1.1