diff options
author | dufault <dufault@FreeBSD.org> | 1995-04-28 00:51:40 +0000 |
---|---|---|
committer | dufault <dufault@FreeBSD.org> | 1995-04-28 00:51:40 +0000 |
commit | 6702bdcc1ba2ea51bb08f3c1785a6f5da76b017d (patch) | |
tree | b04da640a66a433a452ccf805eb30581306a748f /share/man | |
parent | a7372e7b99b33efab9bd9df0d18d63bdb4f486a5 (diff) | |
download | FreeBSD-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.4 | 151 |
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. |