gold: Fix hardcoded library search path
[dragonfly.git] / share / man / man4 / man4.i386 / labpc.4
CommitLineData
984263bc
MD
1.\"
2.\" Copyright (c) 1995 HD Associates, Inc.
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\" notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\" notice, this list of conditions and the following disclaimer in the
12.\" documentation and/or other materials provided with the distribution.
13.\" 3. All advertising materials mentioning features or use of this software
14.\" must display the following acknowledgement:
15.\" This product includes software developed by Christopher G. Demetriou.
16.\" 3. The name of the author may not be used to endorse or promote products
4d9022e3 17.\" derived from this software without specific prior written permission
984263bc
MD
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29.\"
30.\" $FreeBSD: src/share/man/man4/man4.i386/labpc.4,v 1.8.2.2 2001/08/17 13:08:45 ru Exp $
7f1c9e3e 31.\" $DragonFly: src/share/man/man4/man4.i386/labpc.4,v 1.4 2007/03/22 23:02:31 swildner Exp $
984263bc
MD
32.\"
33.Dd April 26, 1995
34.Dt LABPC 4 i386
35.Os
36.Sh NAME
37.Nm labpc
38.Nd National Instruments LABPC and LABPC+ driver
39.Sh SYNOPSIS
40.Cd "device labpc0 at isa? port 260 irq 5"
41.Sh DESCRIPTION
42This supports the National Instruments LABPC and LABPC+ \fILow-Cost
43Multifunction I/O Board\fP.
44.Pp
45This board provides 8 12 bit A-D input channels, 2 12 bit D-A output
46channels, and 3 8 bit digital I/O ports. It also supports setting
47up the National Instruments SCXI bus off the digital I/O ports,
48although that software is currently present in an external program
49and not as part of the driver.
50.Pp
51The selection of the input or output device, mode, and channel is
52through the minor number:
53.Bd -literal -offset indent
54The 8 bit minor number format is UUSIDCCC, with
55 UU: Board unit.
56 S: SCAN bit for scan enable.
57 I: INTERVAL for interval support
58 D: 1: Digital I/O, 0: Analog I/O
59CCC: The channel selector:
60 ANALOG:
61 input: channel must be 0 to 7 for AD0 ... AD7
62 output: channel must be 0 to 2
63 0: D-A 0
64 1: D-A 1
65 2: Alternate channel 0 then 1
66
67 DIGITAL:
68 input: Channel must be 0 to 2.
69 output: Channel must be 0 to 2.
70.Ed
71.Pp
72The /dev/MAKEDEV script will make the basic analog and digital
73devices if you do "sh MAKEDEV labpcaio" and "sh MAKEDEV labpcdio",
74however, it won't make device entries for INTERVAL and SCAN devices.
75SCAN devices automatically scan over all channels from the channel
76number down to 0 (for example, a SCAN for /dev/ad7 will read channels
77AD7 ... AD0) while the INTERVAL device will wait for an external
78signal and then read all the channels from the selected channel
79number down to 0 as fast as it can. This is done by the hardware
80and not the driver (other than turning it on); See the \fILabPC+
81User's Manual\fP and the source code if this doesn't make sense to
82you.
83.Pp
84The driver supports several general analog I/O ioctl calls. These
44cb301e
SW
85are defined in
86.In sys/dataacq.h
87and are intended to be implemented in
984263bc
MD
88other data acquisition board device drivers.
89.Pp
7f1c9e3e
SW
90.Dv AD_MICRO_PERIOD_SET
91takes a pointer to a long argument specifying
984263bc
MD
92the number of microseconds between samples.
93.Pp
7f1c9e3e
SW
94.Dv AD_MICRO_PERIOD_GET
95takes a pointer to a long argument and returns
984263bc
MD
96the current number of microseconds between samples.
97.Pp
7f1c9e3e
SW
98.Dv AD_NGAINS_GET
99takes a pointer to an integer and returns the number
984263bc
MD
100of different gain settings the board supports. This is 8 for the
101LabPC board.
102.Pp
7f1c9e3e
SW
103.Dv AD_NCHANS_GET
104takes a pointer to an integer and returns the number
984263bc
MD
105of channels the board supports. This is 8 for the LabPC board.
106.Pp
7f1c9e3e
SW
107.Dv AD_SUPPORTED_GAINS
108returns an array of NGAINS (the number obtained
109by
110.Dv AD_NGAINS_GET )
111doubles. These are the gains the board supports.
984263bc 112.Pp
7f1c9e3e
SW
113.Dv AD_GAINS_SET
114takes an array of NCHANS (the number obtained by
115.Dv AD_NCHANS_GET )
116integers and sets the board gains. These are indices
984263bc
MD
117into the supported gain array, with one gain for each channel.
118.Pp
7f1c9e3e
SW
119.Dv AD_GAINS_GET
120takes an array of NCHANS (returned by
121.Dv AD_NCHANS_GET )
984263bc
MD
122integers and returns the current board gains.
123.Sh BUGS
124In general, only those capabilities that I needed are present. In
125particular the following notable restrictions are present.
126.Pp
127The analog input is only supported in a clocked conversion mode.
128.Pp
129You can only set the sample clock down to 15 Hz. Anything slower
130needs a modification to the driver to support TCINTEN in order to
131chain together the counters to get a lower clock rate.
132.Pp
133There is no support for clocked D-A output.
134.Pp
135The 8255 providing the digital I/O ports is supported only in mode
1360 (three 8 bit ports).
137.Pp
138There is support for the SCXI bus off the LABPC board. It is not
139in the driver but is a separate user process that accesses the
140digital I/O devices. Ask dufault@hda.com for it.
141.Pp
142MAKEDEV only makes the "basic" devices. You must make the INTERVAL
143or SCAN devices by hand.
144.Pp
145The INTERVAL device sets the clock rate as high as possible so that
146it samples all the channels as quickly as it can after the external
147signal. This is a silly restriction; it should simply use the
148clock setting.
149.Sh CAVEATS
150National Instrument's (like most other laboratory grade board
151vendors) definition of Low-Cost differs dramatically from many on
152the net.