summaryrefslogtreecommitdiffstats
path: root/share/man
diff options
context:
space:
mode:
authordufault <dufault@FreeBSD.org>1995-04-28 00:51:40 +0000
committerdufault <dufault@FreeBSD.org>1995-04-28 00:51:40 +0000
commit6702bdcc1ba2ea51bb08f3c1785a6f5da76b017d (patch)
treeb04da640a66a433a452ccf805eb30581306a748f /share/man
parenta7372e7b99b33efab9bd9df0d18d63bdb4f486a5 (diff)
downloadFreeBSD-src-6702bdcc1ba2ea51bb08f3c1785a6f5da76b017d.zip
FreeBSD-src-6702bdcc1ba2ea51bb08f3c1785a6f5da76b017d.tar.gz
Add National Instruments "LabPC" driver
Diffstat (limited to 'share/man')
-rw-r--r--share/man/man4/man4.i386/labpc.4151
1 files changed, 151 insertions, 0 deletions
diff --git a/share/man/man4/man4.i386/labpc.4 b/share/man/man4/man4.i386/labpc.4
new file mode 100644
index 0000000..42e3eff
--- /dev/null
+++ b/share/man/man4/man4.i386/labpc.4
@@ -0,0 +1,151 @@
+.\"
+.\" Copyright (c) 1995 HD Associates, Inc.
+.\" 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.
+.\" 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. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Christopher G. Demetriou.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\" derived from this software withough 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.
+.\"
+.\"
+.rm ES
+.rm EE
+.de ES
+.Pp
+.nf
+.in +0.5i
+..
+.de EE
+.in -0.5i
+.fi
+..
+.Dd April 26, 1995
+.Dt LABPC 4 i386
+.Os FreeBSD
+.Sh NAME
+.Nm labpc
+.Nd
+National Instruments LABPC and LABPC+ driver
+.Sh SYNOPSIS
+.Cd "device labpc0 at isa? port 260 tty irq 5 vector labpcintr
+.Sh DESCRIPTION
+This supports the National Instruments LABPC and LABPC+ \fILow-Cost
+Multifunction I/O Board\fP.
+.sp
+This board provides 8 12 bit A-D input channels, 2 12 bit D-A output
+channels, and 3 8 bit digital I/O ports. It also supports setting
+up the National Instruments SCXI bus off the digital I/O ports,
+although that software is currently present in an external program
+and not as part of the driver.
+.Pp
+The selection of the input or output device, mode, and channel is
+through the minor number:
+.ES
+The 8 bit minor number format is UUSIDCCC, with
+ UU: Board unit.
+ S: SCAN bit for scan enable.
+ I: INTERVAL for interval support
+ D: 1: Digital I/O, 0: Analog I/O
+CCC: The channel selector:
+ ANALOG:
+ input: channel must be 0 to 7 for AD0 ... AD7
+ output: channel must be 0 to 2
+ 0: D-A 0
+ 1: D-A 1
+ 2: Alternate channel 0 then 1
+
+ DIGITAL:
+ input: Channel must be 0 to 2.
+ output: Channel must be 0 to 2.
+.EE
+.Pp
+The /dev/MAKEDEV script will make the basic analog and digital
+devices if you do "sh MAKEDEV labpcaio" and "sh MAKEDEV labpcdio",
+however, it won't make device entries for INTERVAL and SCAN devices.
+SCAN devices automatically scan over all channels from the channel
+number down to 0 (for example, a SCAN for /dev/ad7 will read channels
+AD7 ... AD0) while the INTERVAL device will wait for an external
+signal and then read all the channels from the selected channel
+number down to 0 as fast as it can. This is done by the hardware
+and not the driver (other than turning it on); See the \fILabPC+
+User's Manual\fP and the source code if this doesn't make sense to
+you.
+.Pp
+The driver supports several Analog I/O ioctl calls. These are defined
+in sys/aio.h and are intended to be compatable with other AIO board
+device drivers.
+.Pp
+AD_MICRO_PERIOD_SET takes a pointer to a long argument specifying
+the number of microseconds between samples.
+.Pp
+AD_MICRO_PERIOD_GET takes a pointer to a long argument and returns
+the current number of microseconds between samples.
+.Pp
+AD_NGAINS_GET takes a pointer to an integer and returns the number
+of different gain settings the board supports. This is 8 for the
+LabPC board.
+.Pp
+AD_NCHANS_GET takes a pointer to an integer and returns the number
+of channels the board supports. This is 8 for the LabPC board.
+.Pp
+AD_SUPPORTED_GAINS returns an array of NGAINS (the number obtained
+by AD_NGAINS_GET) doubles. These are the gains the board supports.
+.Pp
+AD_GAINS_SET takes an array of NCHANS (the number obtained by
+AD_NCHANS_GET) integers and sets the board gains. These are indices
+into the supported gain array, with one gain for each channel.
+.Pp
+AD_GAINS_GET takes an array of NCHANS (returned by AD_NCHANS_GET)
+integers and returns the cuurrent board gains.
+.Sh SEE ALSO
+.Xr aio 1
+.Sh BUGS
+In general, only those capabilities that I needed are present. In
+particular the following notable restrictions are present.
+.sp
+The analog input is only supported in a clocked conversion mode.
+.Pp
+You can only set the sample clock down to 15 Hz. Anything slower
+needs a modification to the driver to support TCINTEN in order to
+chain together the counters to get a lower clock rate.
+.Pp
+There is no support for clocked D-A output.
+.Pp
+The 8255 providing the digital I/O ports is supported only in mode
+0 (three 8 bit ports).
+.Pp
+There is support for the SCXI bus off the LABPC board. It is not
+in the driver but is a separate user process that accesses the
+digital I/O devices. Ask dufault@hda.com for it.
+.Pp
+MAKEDEV only makes the "basic" devices. You must make the INTERVAL
+or SCAN devices by hand.
+.Pp
+The INTERVAL device sets the clock rate as high as possible so that
+it samples all the channels as quickly as it can after the external
+signal. This is a silly restriction; it should simply use the
+clock setting.
+.Sh CAVEATS
+National Instrument's (like most other laboratory grade board
+vendors) definition of Low-Cost differs dramatically from many on
+the net.
OpenPOWER on IntegriCloud