
This file contains information about specific drivers, their
features, and limitation.

Driver: 8255.o
Description: generic 8255 support
Author: ds
Status: only mode 0 supported

The classic in digital I/O.  Three channels of 8 bit digital I/O,
each channel is I/O configurable, channels 0 and 1 in 8 bit units,
channel 2 in 4 bit units.  The driver does not support modes 1 or 2
yet, since I don't really understand how they would potentially be used.
(Send me email if you want to use these modes.)  If and when
modes 1 and 2 are supported, there is a strong possibility that the
3rd channel will be split into two 4-bit channels.  (Refer to the
8255 spec for clues as to why.)

You should configure this driver if you plan to use a board that
has an 8255 chip.  For multifunction boards, the main driver will
configure the 8255 subdevice automatically.



Driver: adl_pci9118.o
Description: Adlink PCI-9118DG, PCI-9118HG, PCI-9118HR
Author: Michal Dobes <majkl@tesnet.cz>
Status works

This driver supports AI, AO, DI and DO subdevices.
AI subdevice support cmd, insn and mode0-4 interface,
other subdevices support insn and mode0 interface.
For AI:
- If cmd->scan_begin_src=TRIG_EXT (or trigger mode4) then trigger input 
  is TGIN (pin 46).
- If cmd->convert_src=TRIG_EXT (or trigger mode3) then trigger input 
  is EXTTRG (pin 44).



Driver: comedi_parport.o
Description: Standard PC parallel port
Author: ds
Status: works in immediate mode

A cheap and easy way to get a few more digital I/O lines.  Steal
additional parallel ports from old computers or your neighbors'
computers.


Parallel Output Port Lines:

pin	subdev	chan	aka
---	------	----	---
1	2	0	strobe
2	0	0	data 0
3	0	1	data 1
4	0	2	data 2
5	0	3	data 3
6	0	4	data 4
7	0	5	data 5
8	0	6	data 6
9	0	7	data 7
10	1	3	acknowledge
11	1	4	busy
12	1	2	output
13	1	1	printer selected
14	2	1	auto LF
15	1	0	error
16	2	2	init
17	2	3	select printer
18-25	ground


Notes:

Channel 0 and 2 are output, channel 1 is input.  I know that it
is possible to change this with ECP/EPP parallel ports, but this
driver is a cheap hack.

Pins 13 and 14 are inverted once by comedi and once by the
hardware, thus cancelling the effect.

Pin 1 is a strobe, thus acts like one.  There's no way in software
to change this, at least on a standard parallel port.

Please report any sucesses/failures.



Driver: das08-new.o
Description: DAS-08 compatible boards
Authors: Warren Jasper, ds
Status: in development

This is a rewrite of the das08 and das08jr drivers.


Driver: das08.o
Description: ComputerBoards, Keithley Metrabyte DAS-08
Authors: Warren Jasper, ds
Status: unknown



Driver: das08jr.o
Description: ComputerBoards DAS-08jr-AO
Authors: Jochen Kpper <jochen@pc1.uni-duesseldorf.de>, ds
Status: unknown



Driver: das16-new.o
Description: DAS16 compatible boards
Authors: Sam Moore, Warren Jasper, ds
Status: in development

A rewrite of the das16 and das1600 drivers.


Driver: das16.o
Description: CIO-DAS16 (& compatibles)
Authors: Sam Moore, Warren Jasper, ds
Status: unknown



Driver: das1600.o
Description: Keithley Metrabyte DAS1600 (& compatibles)
Author: Anders Blomdell <anders.blomdell@control.lth.se>

The driver recognizes the following board names:
	das1601/12
	das1602/12
	das1602/16

The file etc/das1600.conf is useful for configuring this board.

Options (probably wrong, verify with source):
  1   Board base address
  2   IRQ
  3   DMA level select configuration
       0 == DMA level 1
       1 == DMA level 1
        3 == DMA level 3
  4   Crystal select configuration
        0 == 1 MHz
        1 == 1 MHz
        10 == 10 MHz
  5   Input configuration
        0 == differential
        1 == single-ended
  6   Analog input range configuration
        0 == bipolar 10V  (-10V -- +10V)
        1 == unipolar 10V  (0V -- +10V)
  7   Analog output 0 range configuration
        0 == bipolar 10V  (-10V -- +10V)
        1 == bipolar 5V  (-5V -- +5V)
        2 == bipolar user supplied  (-xV -- +xV)
        3 == unipolar 10V  (0V -- +10V)
        4 == unipolar 5V  (0V -- +5V)
        5 == unipolar user supplied  (0V -- +xV)
  8   Analog output 1 range configuration
        0 == bipolar 10V  (-10V -- +10V)
        1 == bipolar 5V  (-5V -- +5V)
        2 == bipolar user supplied  (-xV -- +xV)
        3 == unipolar 10V  (0V -- +10V)
        4 == unipolar 5V  (0V -- +5V)
        5 == unipolar user supplied  (0V -- +xV)



Driver: das1800.o
Description: Keithley Metrabyte DAS1800 (& compatibles)
Author: Frank Mori Hess <fmhess@uiuc.edu>
Status: works

Presently it is not safe to run at real-time priority with dma
enabled. The waveform analog output on the 'ao' cards is not supported.
If you need it, send me (Frank Hess) an email. Recognizes the
following board names:

das-1701st
das-1701st-da
das-1701ao
das-1702st
das-1702st-da
das-1702hr
das-1702hr-da
das-1702ao
das-1801st
das-1801st-da
das-1801hc
das-1801ao
das-1802st
das-1802st-da
das-1802hr
das-1802hr-da
das-1802hc
das-1802ao

Configuration options:
	[0] - base io address
	[1] - irq (optional, required for timed or externally triggered conversions)
	[2] - dma0 (optional, requires irq)
	[3] - dma1 (optional, requires irq and dma0)



Driver: das6402.o
Description: Keithley Metrabyte DAS6402 (& compatibles)
Author: Oystein Svendsen <svendsen@pvv.org>
Status: unknown



Driver: das800.o
Description: Keithley Metrabyte DAS800 (& compatibles)
Author: Frank Mori Hess <fmhess@uiuc.edu>
Status: works

Recognizes the following board names:

das800
das-800
das-801
das-802
cio-das800
cio-das800
cio-das800

Configuration options:
	[0] - base io address
	[1] - irq (optional, required for timed or externally triggered conversions)



Driver: dt2801.o
Description: Data Translation DT2801 series (2801, 2805, 2808, 2809, 2818, and DT01-EZ)
Author: ds
Status: works



Driver: dt2811.o
Description: Data Translation DT2811
Author: ds
Status: might work



Driver: dt2814.o
Description: Data Translation DT2814
Author: ds
Status: complete

This card has 16 analog inputs multiplexed onto a 12 bit ADC.  There
is a minimally useful onboard clock.  The base frequency for the
clock is selected by jumpers, and the clock divider can be selected
via programmed I/O.  Unfortunately, the clock divider can only be
a power of 10, from 1 to 10^7, of which only 3 or 4 are useful.  In
addition, the clock does not seem to be very accurate.

Also, the board does not have a fifo or do DMA, so timed mode
is not supported.



Driver: dt2815.o
Description: Data Translation DT2815
Author: ds
Status: mostly complete, untested

I'm not sure anyone has ever tested this board.  If you have information
contrary, please update.

Options
  1   Board base address
  2   IRQ (not applicable)
  3   Voltage unipolar/bipolar configuration
        0 == unipolar 5V  (0V -- +5V)
	1 == bipolar 5V  (-5V -- +5V)
  4   Current offset configuration
        0 == disabled  (0mA -- +32mAV)
        1 == enabled  (+4mA -- +20mAV)
  5   Firmware program configuration
        0 == program 1 (see manual table 5-4)
        1 == program 2 (see manual table 5-4)
        2 == program 3 (see manual table 5-4)
        3 == program 4 (see manual table 5-4)
  6   Analog output 0 range configuration
        0 == voltage
        1 == current
  7   Analog output 1 range configuration
        0 == voltage
        1 == current
  8   Analog output 2 range configuration
        0 == voltage
        1 == current
  9   Analog output 3 range configuration
        0 == voltage
        1 == current
  10  Analog output 4 range configuration
        0 == voltage
        1 == current
  11  Analog output 5 range configuration
        0 == voltage
        1 == current
  12  Analog output 6 range configuration
        0 == voltage
        1 == current
  13  Analog output 7 range configuration
        0 == voltage
        1 == current



Driver: dt2817.o
Description: Data Translation DT2817
Author: ds
Status: complete

A very simple digital I/O card.  Four banks of 8 lines, each bank
is configurable for input or output.  One wonders why it takes a
50 page manual to describe this thing.

The driver (which, btw, is much less than 50 pages) has 1 subdevice
with 32 channels, configurable in groups of 8.



Driver: dt282x.o
Description: Data Translation DT2821 series (including DT-EZ)
Author: ds
Status: complete

This driver recognizes the following board names:
	dt2821
	dt2823
	dt2824-pgh
	dt2824-pgl
	dt2825
	dt2827
	dt2828
	dt21-ez
	dt23-ez
	dt24-ez
	dt24-ez-pgl

The driver supports numerous options, which are documented
in the source, as well as the file etc/dt282x.conf.



Driver: dt3000.o
Description: Data Translation DT3000 series
Author: ds
Status: untested



Driver: ii_pci20kc.o
Description: Intelligent Instruments PCI-20001C carrier board
Author: Markus Kempf <kempf@matsci.uni-sb.de>
Status: works

Supports the PCI-20001 C-2a Carrier board, and could probably support
the other carrier boards with small modifications.  Modules supported
are:
	PCI-20006 M-2 16-bit analog output module
	PCI-20341 M-1A 16-bit analog input module

Options:
  0   Board base address
  1   IRQ
  2   first option for module 1
  3   second option for module 1
  4   first option for module 2
  5   second option for module 2
  6   first option for module 3
  7   second option for module 3

options for PCI-20006M:
  first:   Analog output channel 0 range configuration
             0  bipolar 10  (-10V -- +10V)
             1  unipolar 10  (0V -- +10V)
             2  bipolar 5  (-5V -- 5V)
  second:  Analog output channel 1 range configuration

options for PCI-20341M:
  first:   Analog input gain configuration
             0  1
             1  10
             2  100
             3  200



Driver: multiq3.o
Description: Quanser Consulting MultiQ-3
Author: Anders Blomdell <anders.blomdell@control.lth.se>
Status: works



Driver: ni_atmio.o
Description: National Instruments AT-MIO-E series  (all boards)
Author: ds
Status: mainly limited by Comedi infrastructure

The isapnptools package is required to use this board.  Use isapnp to
configure the I/O base for the board, and then pass the same value as
a parameter in comedi_config.  A sample isapnp.conf file is included
in the etc/ directory.

Assuming that the NI spec is correct, the driver should correctly
identify every board in the series.  Each channel should have the
appropriate parameters, i.e., input/output ranges, number of bits,
etc.  If the driver fails to recognize your card or does not have
the correct parameters, please contact me.

Comedilib includes a utility to autocalibrate these boards.  The
boards seem to boot into a state where the all calibration DACs
are at one extreme of their range, thus the default calibration
is terrible.  Calibration at boot is strongly encouraged.



Driver: ni_atmio16d.o
Description: National Instruments AT-MIO-16D
Author: Chris R. Baugher <baugher@enteract.com>
Status: unknown



Driver: ni_mio_cs.o
Description: National Instruments DAQCard E series
Author: ds
Status: works



Driver: ni_pcidio.o
Description: National Instruments PCI-DIO32HS, PCI-DIO96, PCI-6533, PCI-6503
Author: ds
Status: works in immediate mode

The DIO-96 appears as four 8255 subdevices.  See the 8255
driver notes for details.

The DIO32HS board appears as one subdevice, with 32 channels.
Each channel is individually I/O configurable.  The channel order,
as one might guess, is 0=A0, 1=A1, 2=A2, ... 8=B0, 16=C0, 24=D0.

DMA is halfway completed, but not operational, for the PCI-DIO32HS.
This driver could be easily modified to support AT-MIO32HS and
AT-MIO96.




Driver: ni_pcimio.o
Description: National Instruments PCI-MIO-E series (all boards)
Author: ds
Status: mainly limited by Comedi infrastructure

These boards are almost identical to the AT-MIO E series, except that
they use the PCI bus instead of ISA (i.e., AT).  See the notes above for
ni_atmio.o for additional information about these boards.

Comedi knows the PCI ID codes for many of the boards in this series,
but the NI documentation is incomplete in this matter.  If you have
a PCI-MIO board that Comedi doesn't recognize, send me the PCI device
ID, as can be found in /proc/pci or the output of lspci.  The vendor
code for National Instruments is 0x1093.  I will include the ID in
the next version.

DMA is halfway completed, but not yet operational.




Driver: pcl711.o
Description: Advantech PCL-711 and 711b, ADLink ACL-8112
Authors: ds, Janne Jalkanen <jalkanen@cs.hut.fi>, Eric Bunn <ebu@cs.hut.fi>
Status: mostly complete

This driver recognizes the following board names:

	pcl711		Advantech PCL-711
	pcl711b		Advantech PCL-711B
	acl8112dg	ADLink ACL-8112DG
	acl8112hg	ADLink ACL-8112HG

Since these boards do not have DMA or FIFOs, only immediate mode is
supported.



Driver: pcl724.o
Description: Advantech PCL-724, PCL-722, PCL-731 ADLink ACL-7122, ACL-7124, PET-48DIO
Author: Michal Dobes <majkl@tesnet.cz>
Status: untested

This is driver for digital I/O boards PCL-722/724/731 with 144/24/48 DIO
and for digital I/O boards ACL-7122/7124/PET-48DIO with 144/24/48 DIO.
It need 8255.o for operations and only immediate mode is supported.
See the source for configuration details.



Driver: pcl725.o
Description: PC-LabCard PCL-725 (& compatibles)
Author: ds
Status: unknown




Driver: pcl726.o
Description: PC-LabCard PCL-726 (& compatibles), Advantech PCL-726, ADLink Technology ACL-6126
Author: ds
Status: untested

Currently, the driver doesn't recognize bipolar operation of DAC's.
Interrupts are not supported.



Driver: pcl812.o
Description: Advantech PCL-812PG, Advantech PCL-813B and ADLink ACL-8113
Author: Michal Dobes <majkl@tesnet.cz>
Status: works (I hope. My board fire up under my hands 
               and I haven't time to finish tests.)

Card: Advantech PCL-812PG
  This card have integrated 16SE A/D 30kHz, 2 D/A, 16DI, 16DO.
  Driver support mode0, 1 and 3 for A/D and mode0 for others.
  If you disable IRQ then only mode0 for A/D is allowed.
  
Driver name: pcl812pg
Options:
    [0] - IO Base
    [1] - IRQ  (0=disable, 2, 3, 4, 5, 6, 7; 10, 11, 12, 14, 15)
    [2] - 0=trigger source is internal 8253 with 2MHz clock
          1=trigger source is external 
    [3] - 0=A/D have max +/-5V input
          1=A/D have max +/-10V input
    [4] - 0=D/A outputs 0-5V  (internal reference -5V)
          1=D/A outputs 0-10V (internal reference -10V)
	  2=D/A outputs unknow (external reference)

Card: Advantech PCL-813B, ADLink ACL-8113
  These cards have integrated 32SE A/D 25kHz.
  Driver support only mode0 A/D becouse construction of this card 
  don't allow anything else.
  
Driver name: pcl813b
Options:
    [0] - IO Base
    [1] - 0= bipolar inputs
          1= unipolar inputs
    [2] - max number of samples in ai_mode0 (defaul=1scan)


Driver: pcl818.o
Description: Advantech PCL-818 cards (818, 818L, 818H, 818HD, 818HG), Advantech PCL-718
Author: Michal Dobes <majkl@tesnet.cz>
Status: works 

All cards have 16 SE/8 DIFF ADCs, one or two DACs, 16 DI and 16 DO.
Differences are only at maximal sample speed, range list and FIFO 
support.
The driver support AI mode 0, 1, 3 other subdevices (AO, DI, DO) support
only mode 0. If DMA/FIFO/INT are disabled then AI support only mode 0.
PCL-818HD and PCL-818HG support 1kword FIFO. Driver support this FIFO
but this code is untested.
A word or two about DMA. Driver support DMA operations at two ways:
1) DMA uses two buffers and after one is filled then is generated
   INT and DMA restart with second buffer. With this mode I'm unable run
   more that 80Ksamples/secs without data dropouts on K6/233.
2) DMA uses one buffer and run in autoinit mode and the data are
   from DMA buffer moved on the fly with 2kHz interrupts from RTC.
   This mode is used if the interrupt 8 is available for allocation.
   If not, then first DMA mode is used. With this I can run at
   full speed one card (100ksamples/secs) or two cards with
   60ksamples/secs each (more is problem on account of ISA limitations). 
   To use this mode you must have compiled  kernel with disabled 
   "Enhanced Real Time Clock Support".
   Maybe you can have problems if you use xntpd or similar.
   If you've data dropouts with DMA mode 2 then:
    a) disable IDE DMA
    b) switch text mode console to fb.
See the head of the source file pcl818.c for configuration options.



Driver: quatech_daqp_cs.o
Description: Quatech DAQP PCMCIA data capture cards
Author: Brent Baccala <baccala@freesoft.org>
Status: unkown



Driver: rti800.o
Description: Analog Devices RTI-800/815
Author: ds
Status: unknown

See the source for configuration details.



Driver: rti802.o
Description: Analog Devices RTI-802
Author: Anders Blomdell <anders.blomdell@control.lth.se>
Status: works



