Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: 8255.o
+Description: generic 8255 support
+Author: ds
+
+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.
+
+This driver also works independently with ISA cards that directly
+map the 8255 registers to I/O ports, including cards with multiple
+8255 chips. To configure the driver for such a card, the option
+list should be a list of the I/O port bases for each of the 8255
+chips.
+*/
/*
This file contains an exported subdevice for driving an 8255.
* you can select from 1 to 256 channels (0=16 SE/8 DIFF channels)
*
*/
+/*
+Driver: adl_pci9118.o
+Description: Adlink PCI-9118DG, PCI-9118HG, PCI-9118HR
+Author: Michal Dobes <majkl@tesnet.cz>
+Devices: [ADLink] PCI-9118DG (pci9118dg), PCI-9118HG (pci9118hg),
+ PCI-9118HR (pci9118hr)
+Status: works
+
+This driver supports AI, AO, DI and DO subdevices.
+AI subdevice supports cmd and insn interface,
+other subdevices support only insn interface.
+For AI:
+- If cmd->scan_begin_src=TRIG_EXT then trigger input is TGIN (pin 46).
+- If cmd->convert_src=TRIG_EXT then trigger input is EXTTRG (pin 44).
+- If cmd->start_src/stop_src=TRIG_EXT then trigger input is TGIN (pin 46).
+- It is not neccessary to have cmd.scan_end_arg=cmd.chanlist_len but
+ cmd.scan_end_arg modulo cmd.chanlist_len must by 0.
+- If return value of cmdtest is 5 then you've bad channel list
+ (it isn't possible mixture S.E. and DIFF inputs or bipolar and unipolar
+ ranges).
+There is know problem with this driver:
+- If you use scan_begin_src=TRIG_EXT & convert_src=TRIG_TIMER
+ then this mode sometimes discards some samples. :-((
+
+Configuration options:
+ [0] - PCI bus of device (optional)
+ [1] - PCI slot of device (optional)
+ If bus/slot is not specified, the first available PCI
+ device will be used.
+
+If you have an external multiplexer, the third option in the option
+list should be used to indicate the number of channels in the
+multiplexer.
+*/
#include <linux/kernel.h>
#include <linux/module.h>
* [1] - PCI slot number
*
*/
+/*
+Driver: adv_pci1710.o
+Description: Advantech PCI-1710, PCI-1710HG, PCI-1711, PCI-1713,
+ Advantech PCI-1720, PCI-1731
+Author: Michal Dobes <majkl@tesnet.cz>
+Devices: [Advantech] PCI-1710 (pci1710), PCI-1710HG (pci1710hg),
+ PCI-1711 (pci1711), PCI-1713 (pci1713), PCI-1720 (pci1720),
+ PCI-1731 (pci1731)
+Status: works
+
+This driver supports AI, AO, DI and DO subdevices.
+AI subdevice supports cmd and insn interface,
+other subdevices support only insn interface.
+
+The PCI-1710 and PCI-1710HG have the same PCI device ID, so the
+driver cannot distinguish between them, as would be normal for a
+PCI driver.
+
+Configuration options:
+ [0] - PCI bus of device (optional)
+ [1] - PCI slot of device (optional)
+ If bus/slot is not specified, the first available PCI
+ device will be used.
+*/
#include <linux/kernel.h>
#include <linux/module.h>
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: amplc_pci230.o
+Description: Driver for Amplicom PCI230 and PCI260 Multifunction I/O boards
+Author: Allan Willcox <allanwillcox@ozemail.com.au>
+Updated: Mon, 3 Sep 2001 17:37:12 -0700
+Devices: [Amplicon] PCI230, PCI260
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
************************************************************************
+*/
+/*
+Driver: cb_pcidas.o
+Description: Driver for the ComputerBoards/MeasurementComputing cards
+ of the PCI-DAS series with the AMCC S5933 PCI controller.
+Author: Ivan Martinez <ivanmr@altavista.com>,
+ Frank Mori Hess <fmhess@uiuc.edu>
+Status:
+ - PCI-DAS1602/16, 16jr: Driver should work, but untested. Please
+ report usage.
+ - PCI-DAS1602/12: Same as above.
+ - PCI-DAS1200, 1200jr: Tested, works.
+ - PCI-DAS1000, 1001, 1002: Should work, but untested. Please report
+ usage.
+Updated: 2001-8-27
+Devices: [Measurement Computing] PCI-DAS1602/16, PCI-DAS1602/16jr,
+ PCI-DAS1602/12, PCI-DAS1200, PCI-DAS1200jr, PCI-DAS1000,
+ PCI-DAS1001, PCI_DAS1002
+
+This driver originally intended to support the whole PCI-DAS series,
+but cards based on the PLX PCI controller are excluded for being
+too different.
+
+Configuration options:
+ [0] - PCI bus of device (optional)
+ [1] - PCI slot of device (optional)
+ If bus/slot is not specified, the first available PCI
+ device will be used.
+
+For commands, the scanned channels must be consecutive
+(i.e. 4-5-6-7, 2-3-4,...), and must all have the same
+range and aref.
+*/
+/*
TODO:
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
************************************************************************
-
+*/
+/*
+Driver: cb_pcidas64.o
+Description: Driver for the ComputerBoards/MeasurementComputing
+ PCI-DAS64xxx series with the PLX 9080 PCI controller.
+Author: Frank Mori Hess <fmhess@uiuc.edu>
+Status: Experimental
+Updated: 2001-8-27
+
+Configuration options:
+ [0] - PCI bus of device (optional)
+ [1] - PCI slot of device (optional)
+
+Basic insn support should work, but untested as far as I know.
+ Feel free to send and success/failure reports to author. No
+ command support yet.
+*/
+/*
STATUS:
insn supported
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: cb_pcidda.o
+Description: ComputerBoards/MeasurementComputing PCI-DDA series
+Author: Ivan Martinez <ivanmr@altavista.com>
+Status: Supports 08/16, 04/16, 02/16, 08/12, 04/12, and 02/12
+Devices: [Measurement Computing] PCI-DDA08/12, PCI-DDA04/12, PCI-DDA02/12,
+ PCI-DDA08/16, PCI-DDA04/16, PCI-DDA02/16
+
+Configuration options:
+ [0] - PCI bus of device (optional)
+ [1] - PCI slot of device (optional)
+ If bus/slot is not specified, the first available PCI
+ device will be used.
+
+Only simple analog output writing is supported.
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
+/*
+Driver: comedi_parport.o
+Description: Standard PC parallel port
+Author: ds
+Status: works in immediate mode
+Devices: [standard] parallel port
+
+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.
+
+Option list:
+ 0: I/O port base for the parallel port.
+ 1: IRQ
+
+Parallel 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.
+
+Subdevice 3 pretends to be a digital input subdevice, but it always
+returns 0 when read. However, if you run a command with
+scan_begin_src=TRIG_EXT, it uses pin 13 as a external triggering
+pin, which can be used to wake up tasks.
+*/
/*
TODO:
**************************************************************************
-
+*/
+/*
+Driver: comedi_rt_timer.o
+Description: Command emulator using real-time tasks
+Authors: ds, fmhess
+Status: works
+
+This driver requires RTAI or RTLinux to work correctly. It doesn't
+actually drive hardware directly, but calls other drivers and uses
+a real-time task to emulate commands for drivers and devices that
+are incapable of native commands. Thus, you can get accurately
+timed I/O on any device.
+
+Since the timing is all done in software, sampling jitter is much
+higher than with a device that has an on-board timer, and maximum
+sample rate is much lower.
+
+Configuration options:
+ [0] - device index
+ [1] - subdevice index
+*/
+/*
Options:
[0] - minor number of device you wish to emulate commands for
[1] - subdevice number you wish to emulate commands for
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
+/*
+Driver: daqboard2000.o
+Description: IOTech DAQBoard/2000
+Author: Anders Blomdell <anders.blomdell@control.lth.se>
+Status: works
+Devices: [IOTech] DAQBoard/2000
+
+Much of the functionality of this driver was determined from reading
+the source code for the Windows driver.
+
+The FPGA on the board requires initialization code, which can either
+be compiled into the driver or loaded by comedi_config using the -i
+option. The latter is recommended, in order to save a bit of kernel
+memory.
+
+Configuration options:
+ [0] - pointer to FPGA initialization data
+ The pointer and size options are handled automatically
+ by comedi_config when you use the -i option.
+ [1] - size of FPGA data
+*/
/*
This card was obviously never intended to leave the Windows world,
since it lacked all kind of hardware documentation (except for cable
Support for pci-das08 card added by Frank M. Hess
*/
+/*
+Driver: das08.o
+Description: DAS-08 compatible boards
+Authors: Warren Jasper, ds
+Device-Names: das08, das08-pgm, das08-pgh, das08-pgl, das08-aoh,
+ das08-aol, das08-aom, das08/jr-ao, das08jr-16-ao, pci-das08,
+ das08jr/16
+Status: works
+
+This is a rewrite of the das08 and das08jr drivers.
+
+Options (for ISA cards):
+ [0] - base io address
+
+Options (for pci-das08):
+ [0] - bus (optional)
+ [1] = slot (optional)
+Use the name 'pci-das08' for the pci-das08, NOT 'das08'.
+
+The das08 driver doesn't support asynchronous commands, since
+the cheap das08 hardware doesn't really support them. The
+comedi_rt_timer driver can be used to emulate commands for this
+driver.
+*/
#include <linux/kernel.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
************************************************************************
+*/
+/*
+Driver: das16.o
+Description: DAS16 compatible boards
+Authors: Sam Moore, Warren Jasper, ds, Chris Baugher, Frank Hess
+Device-Names: das-16, das-16g, das-16f, cio-das16/jr, pc104-das16jr,
+ pc104-das16jr/16, das-1201, das-1202, das-1401, das-1402, das-1601,
+ das-1602, cio-das1401/12, cio-das1402/12, cio-das1402/16,
+ cio-das1601/12, cio-das1602/12, cio-das1602/16, cio-das16/330
+Status: works in das16 mode, das-1600 enhanced mode features untested.
+Updated: 2001-8-27
+
+A rewrite of the das16 and das1600 drivers.
+Options:
+ [0] - base io address
+ [1] - irq (optional)
+ [2] - dma (optional)
+ [3] - master clock speed in MHz (optional, 1 or 10, ignored if
+ board can probe clock, defaults to 1)
+ [4] - analog input range lowest voltage in microvolts (optional,
+ only useful if your board does not have software
+ programmable gain)
+ [5] - analog input range highest voltage in microvolts (optional,
+ only useful if board does not have software programmable
+ gain)
+ [6] - analog output range lowest voltage in microvolts (optional)
+ [7] - analog output range highest voltage in microvolts (optional)
+
+Passing a zero for an option is the same as leaving it unspecified.
+
+Both an irq line and dma channel are required for timed or externally
+triggered conversions.
+*/
+/*
Testing and debugging help provided by Daniel Koch.
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
************************************************************************
+*/
+/*
+Driver: das16m1.o
+Description: CIO-DAS16/M1
+Authors: Frank Mori Hess <fmhess@uiuc.edu>
+Status: works
+
+This driver supports a single board - the CIO-DAS16/M1.
+As far as I know, there are no other boards that have
+the same register layout. Even the CIO-DAS16/M1/16 is
+significantly different.
+
+I was _barely_ able to reach the full 1 MHz capability
+of this board, using a hard real-time interrupt
+(set the TRIG_RT flag in your comedi_cmd and use
+rtlinux or RTAI). The board can't do dma, so the bottleneck is
+pulling the data across the ISA bus. I timed the interrupt
+handler, and it took my computer ~470 microseconds to pull 512
+samples from the board. So at 1 Mhz sampling rate,
+expect your CPU to be spending almost all of its
+time in the interrupt handler.
+Options:
+ [0] - base io address
+ [1] - irq (optional, but you probably want it)
+*/
+/*
This driver is for the (freakish) Measurement Computing (Computer Boards)
CIO-DAS16/M1 board. The similarly namced CIO-DAS16/M1/16 board actually
has a different register layout and is not supported by this driver
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
************************************************************************
+*/
+/*
+Driver: das1800.o
+Description: Keithley Metrabyte DAS1800 (& compatibles)
+Author: Frank Mori Hess <fmhess@uiuc.edu>
+Device-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
+Status: works
+
+The waveform analog output on the 'ao' cards is not supported.
+If you need it, send me (Frank Hess) an email.
+
+Configuration options:
+ [0] - I/O port base address
+ [1] - IRQ (optional, required for timed or externally triggered conversions)
+ [2] - DMA0 (optional, requires irq)
+ [3] - DMA1 (optional, requires irq and dma0)
+*/
+/*
This driver supports the following Keithley boards:
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: das6402.o
+Description: Keithley Metrabyte DAS6402 (& compatibles)
+Author: Oystein Svendsen <svendsen@pvv.org>
+Status: unknown
+*/
#include <linux/module.h>
#include <linux/comedidev.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
************************************************************************
+*/
+/*
+Driver: das800.o
+Description: Keithley Metrabyte DAS800 (& compatibles)
+Author: Frank Mori Hess <fmhess@uiuc.edu>
+Device-Names: das-800, das-801, das-802, cio-das800, cio-das801,
+ cio-das802, cio-das802/16
+Status: works, cio-das802/16 untested - email me if you have tested it
+
+Configuration options:
+ [0] - I/O port base address
+ [1] - IRQ (optional, required for timed or externally triggered conversions)
+*/
+/*
This driver supports the Keithley boards:
das-800
* Device Driver for DataTranslation DT2801
*
*/
+/*
+Driver: dt2801.o
+Description: Data Translation DT2801 series and DT01-EZ
+Author: ds
+Status: works
+Devices: [Data Translation] DT2801, DT2801-A, DT2801/5716A,
+ DT2805, DT2805/5716A, DT2808, DT2818, DT2809, DT01-EZ
+
+This driver can autoprobe the type of board.
+
+Configuration options:
+ [0] - I/O port base address
+ [1] - unused
+ [2] - A/D reference 0=differential, 1=single-ended
+ [3] - A/D range
+ 0 = [-10,10]
+ 1 = [0,10]
+ [4] - D/A 0 range
+ 0 = [-10,10]
+ 1 = [-5,5]
+ 2 = [-2.5,2.5]
+ 3 = [0,10]
+ 4 = [0,5]
+ [5] - D/A 1 range (same choices)
+*/
#include <linux/comedidev.h>
#include <linux/module.h>
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: dt2811.o
+Description: Data Translation DT2811
+Author: ds
+Devices: [Data Translation] DT2811-PGL (dt2811-pgl), DT2811-PGH (dt2811-pgh)
+Status: works
+
+Configuration options:
+ [0] - I/O port base address
+ [1] - IRQ, although this is currently unused
+ [2] - A/D reference
+ 0 = signle-ended
+ 1 = differential
+ 2 = pseudo-differential (common reference)
+ [3] - A/D range
+ 0 = [-5,5]
+ 1 = [-2.5,2.5]
+ 2 = [0,5]
+ [4] - D/A 0 range (same choices)
+ [4] - D/A 1 range (same choices)
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: dt2814.o
+Description: Data Translation DT2814
+Author: ds
+Status: complete
+Devices: [Data Translation] DT2814 (dt2814)
+
+Configuration options:
+ [0] - I/O port base address
+ [1] - IRQ
+
+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.
+*/
#include <linux/kernel.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: dt2815.o
+Description: Data Translation DT2815
+Author: ds
+Status: mostly complete, untested
+Devices: [Data Translation] DT2815 (dt2815)
+
+I'm not sure anyone has ever tested this board. If you have information
+contrary, please update.
+
+Configuration options:
+ [0] - I/O port base base address
+ [1] - IRQ (unused)
+ [2] - Voltage unipolar/bipolar configuration
+ 0 == unipolar 5V (0V -- +5V)
+ 1 == bipolar 5V (-5V -- +5V)
+ [3] - Current offset configuration
+ 0 == disabled (0mA -- +32mAV)
+ 1 == enabled (+4mA -- +20mAV)
+ [4] - 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)
+ [5] - Analog output 0 range configuration
+ 0 == voltage
+ 1 == current
+ [6] - Analog output 1 range configuration (same options)
+ [7] - Analog output 2 range configuration (same options)
+ [8] - Analog output 3 range configuration (same options)
+ [9] - Analog output 4 range configuration (same options)
+ [10] - Analog output 5 range configuration (same options)
+ [11] - Analog output 6 range configuration (same options)
+ [12] - Analog output 7 range configuration (same options)
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: dt2817.o
+Description: Data Translation DT2817
+Author: ds
+Status: complete
+Devices: [Data Translation] DT2817 (dt2817)
+
+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.
+
+Configuration options:
+ [0] - I/O port base base address
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
+/*
+Driver: dt282x.o
+Description: Data Translation DT2821 series (including DT-EZ)
+Author: ds
+Devices: [Data Translation] DT2821 (dt2821), DT2823 (dt2823),
+ DT2824-PGH (dt2824-pgh), DT2824-PGL (dt2824-pgl), DT2825 (dt2825),
+ DT2827 (dt2827), DT2828 (dt2828), DT21-EZ (dt21-ez), DT23-EZ (dt23-ez),
+ DT24-EZ (dt24-ez), DT24-EZ-PGL (dt24-ez-pgl)
+Status: complete
+Updated: Wed, 22 Aug 2001 17:11:34 -0700
+
+Configuration options:
+ [0] - I/O port base address
+ [1] - IRQ
+ [2] - DMA 1
+ [3] - DMA 2
+ [4] - AI jumpered for 0=single ended, 1=differential
+ [5] - AI jumpered for 0=straight binary, 1=2's complement
+ [6] - AO 0 jumpered for 0=straight binary, 1=2's complement
+ [7] - AO 1 jumpered for 0=straight binary, 1=2's complement
+ [8] - AI jumpered for 0=[-10,10]V, 1=[0,10], 2=[-5,5], 3=[0,5]
+ [9] - AO 0 jumpered for 0=[-10,10]V, 1=[0,10], 2=[-5,5], 3=[0,5],
+ 4=[-2.5,2.5]
+ [10]- A0 1 jumpered for 0=[-10,10]V, 1=[0,10], 2=[-5,5], 3=[0,5],
+ 4=[-2.5,2.5]
+
+Notes:
+ - AO commands might be broken.
+ - If you try to run a command on both the AI and AO subdevices
+ simultaneously, bad things will happen. The driver needs to
+ be fixed to check for this situation and return an error.
+*/
#include <linux/comedidev.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: dt3000.o
+Description: Data Translation DT3000 series
+Author: ds
+Devices: [Data Translation] DT3001, DT3001-PGL, DT3002, DT3003,
+ DT3003-PGL, DT3004, DT3005, DT3004-200
+Status: untested
+*/
/*
The DT3000 series is Data Translation's attempt to make a PCI
/*
- module/fl512.c
+ comedi/drivers/fl512.c
+*/
+
+/*
+Driver: fl512.o
+Description: unknown
+Author: unknown
+
+Digital I/O is not supported.
+
+Configuration options:
+ [0] - I/O port base address
*/
-/* Option for this board
- * [0] IO base addres
- */
#include <linux/kernel.h>
#include <linux/module.h>
* COMEDILIB 0.7.9
*
*/
+/*
+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
+*/
/* XXX needs to use ioremap() for compatibility with 2.4 kernels. Should also
* check_mem_region() etc. - fmhess */
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: mpc8260cpm.o
+Description: MPC8260 CPM module generic digital I/O lines
+Author: ds
+
+This driver is specific to the Motorola MPC8260 processor, allowing
+you to access the processor's generic digital I/O lines.
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: multiq3.o
+Description: Quanser Consulting MultiQ-3
+Author: Anders Blomdell <anders.blomdell@control.lth.se>
+Status: works
+*/
#include <linux/kernel.h>
#include <linux/module.h>
/*
- module/ni_670x.c
+ comedi/drivers/ni_670x.c
Hardware driver for NI 670x devices
COMEDI - Linux Control and Measurement Device Interface
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: ni_670x.o
+Description: National Instruments 670x
+Author: Bart Joris <bjoris@advalvas.be>
+Updated: Wed, 22 Aug 2001 22:47:32 -0700
+Devices: [National Instruments] PCI-6703 (ni_670x), PCI-6704
+
+The driver currently does not recognize the 6704, because the PCI
+ID is not known.
+*/
/*
Bart Joris <bjoris@advalvas.be> Last updated on 20/08/2001
{
{
dev_id : 0x2c90,
- name : "ni 6703",
+ name : "PCI-6703",
ao_chans : 16,
ao_bits : 16,
},
{
dev_id : 0x0, /* ????? */
- name : "ni 6704",
+ name : "PCI-6704",
ao_chans : 32,
ao_bits : 16,
},
static struct pci_device_id ni_670x_pci_table[] __devinitdata = {
{ PCI_VENDOR_ID_NATINST, 0x2c90, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
- //{ PCI_VENDOR_ID_NATINST, 0x2c90, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ //{ PCI_VENDOR_ID_NATINST, 0x0000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
{ 0 }
};
MODULE_DEVICE_TABLE(pci, ni_670x_pci_table);
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
************************************************************************
+*/
+/*
+Driver: ni_at_a2150.o
+Description: National Instruments AT-A2150
+Author: Frank Mori Hess
+Status: works
+Devices: [National Instruments] AT-A2150C (at_a2150c), AT-2150S (at_2150s)
+
+If you want to ac couple the board's inputs, use AREF_OTHER.
+Configuration options:
+ [0] - I/O port base address
+ [1] - IRQ (optional, required for timed conversions)
+ [2] - DMA (optional, required for timed conversions)
+
+*/
+/*
Yet another driver for obsolete hardware brought to you by Frank Hess.
Testing and debugging help provided by Dave Andruczyk.
/*
- module/ni_atmio.c
+ comedi/drivers/ni_atmio.c
Hardware driver for NI AT-MIO E series cards
COMEDI - Linux Control and Measurement Device Interface
- Copyright (C) 1997-8 David A. Schleef <ds@stm.lbl.gov>
+ Copyright (C) 1997-2001 David A. Schleef <ds@schleef.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
*/
-
+/*
+Driver: ni_atmio.o
+Description: National Instruments AT-MIO-E series
+Author: ds
+Devices: [National Instruments] AT-MIO-16E-1 (ni_atmio),
+ AT-MIO-16E-2, AT-MIO-16E-10, AT-MIO-16DE-10, AT-MIO-64E-3,
+ AT-MIO-16XE-50, AT-MIO-16XE-10, AT-AI-16XE-10
+
+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.
+*/
/*
The real guts of the driver is in ni_mio_common.c, which is included
both here and in ni_pcimio.c
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: ni_atmio16d.o
+Description: National Instruments AT-MIO-16D
+Author: Chris R. Baugher <baugher@enteract.com>
+Status: unknown
+Devices: [National Instruments] AT-MIO-16 (atmio16), AT-MIO-16D (atmio16d)
+*/
/*
* I must give credit here to Michal Dobes <majkl@tesnet.cz> who
* wrote the driver for Advantec's pcl812 boards. I used the interrupt
Hardware driver for NI PCMCIA MIO E series cards
COMEDI - Linux Control and Measurement Device Interface
- Copyright (C) 1997-2000 David A. Schleef <ds@stm.lbl.gov>
+ Copyright (C) 1997-2000 David A. Schleef <ds@schleef.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
+/*
+Driver: ni_mio_cs.o
+Description: National Instruments DAQCard E series
+Author: ds
+Status: works
+Known-Devices: [National Instruments] DAQCard-AI-16XE-50,
+ DAQCard-AI-16E-4, DAQCard-6062E, DAQCard-6024E
+
+See the notes in the ni_atmio.o driver.
+*/
/*
The real guts of the driver is in ni_mio_common.c, which is
included by all the E series drivers.
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: ni_pcidio.o
+Description: National Instruments PCI-DIO32HS, PCI-DIO96, PCI-6533, PCI-6503
+Author: ds
+Status: works in immediate mode
+Known-Devices: [National Instruments] PCI-DIO-32HS, PXI-6533,
+ PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503, PCI-6503B, PCI-6503X,
+ PXI-6503
+
+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.
+*/
/*
This driver is for both the NI PCI-DIO-32HS and the PCI-DIO-96,
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
+/*
+Driver: ni_pcimio.o
+Description: National Instruments PCI-MIO-E series (all boards)
+Author: ds
+Status: mainly limited by Comedi infrastructure
+Devices: [National Instruments] PCI-MIO-16XE-50 (ni_pcimio),
+ PCI-MIO-16XE-10, PXI-6030E, PCI-MIO-16E-1, PCI-MIO-16E-4, PCI-6040E,
+ PXI-6040E, PCI-6031E, PCI-6032E, PCI-6033E, PCI-6071E, PCI-6023E,
+ PCI-6024E, PCI-6025E, PXI-6025E, PCI-6034E, PCI-6035E, PCI-6052E,
+ PCI-6110E, PCI-6111E, PCI-6711, PCI-6713, PXI-6071E, PXI-6070E,
+ PXI-6052E
+
+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.
+*/
/*
The PCI-MIO E series driver was originally written by
Tomasz Motylewski <...>, and ported to comedi by ds.
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+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
+Device-Names: pcl711, pcl711b, acl8112hg, acl8112dg
+Known-Devices: [Advantech] PCL-711, PCL-711B, [AdLink] ACL-8112HG,
+ ACL-8112DG
+
+Since these boards do not have DMA or FIFOs, only immediate mode is
+supported.
+
+*/
/*
Dave Andruczyk <dave@tech.buffalostate.edu> also wrote a
0, 144: 144 DIO configuration
1, 96: 96 DIO configuration
*/
+/*
+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.
+*/
/*
* check_driver overrides:
* comedi_insn
* Driver for PCL725 and clones
* David A. Schleef
*/
+/*
+Driver: pcl725.o
+Description: PC-LabCard PCL-725 (& compatibles)
+Author: ds
+Status: unknown
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
/*
+Driver: pcl726.o
+Description: Advantech PCL-726 & compatibles
+Author: ds
+Status: untested
+Device-Names: pcl726, pcl727, pcl728, acl6126, acl6128
+Known-Devices: [Advantech] PCL-726, PCL-727, PCL-728, [ADLink] ACL-6126,
+ ACL-6128
+
+Interrupts are not supported.
+
Options for PCL-726:
[0] - IO Base
[2]...[7] - D/A output range for channel 1-6:
0: 0-5V, 1: 0-10V, 2: +/-5V, 3: +/-10V,
- 4: 4-20mA, 5: unknow (external reference)
+ 4: 4-20mA, 5: unknown (external reference)
Options for PCL-727:
[0] - IO Base
* driver: iso813, a821pgh, a-821pgl, a-821pglnda, a822pgh, a822pgl,
* card: A-823PGH, A-823PGL, A-826PG
* driver: a823pgh, a823pgl, a826pg
+ */
+/*
+Driver: pcl812.o
+Description: Advantech PCL-812/PG, PCL-813/B,
+ ADLink ACL-8112DG/HG/PG, ACL-8113, ACL-8216,
+ ICP DAS A-821PGH/PGL/PGL-NDA, A-822PGH/PGL, A-823PGH/PGL, A-826PG,
+ ICP DAS ISO-813
+Author: Michal Dobes <majkl@tesnet.cz>
+Devices: [Advantech] PCL-812 (pcl812), PCL-812PG (pcl812pg),
+ PCL-813 (pcl813), PCL-813B (pcl813b), [ADLink] ACL-8112DG (acl8112dg),
+ ACL-8112HG (acl8112hg), ACL-8113 (acl-8113), ACL-8216 (acl8216),
+ [ICP] ISO-813 (iso813), A-821PGH (a821pgh), A-821PGL (a821pgl),
+ A-821PGL-NDA (a821pclnda), A-822PGH (a822pgh), A-822PGL (a822pgl),
+ A-823PGH (a823pgh), A-823PGL (a823pgl), A-826PG (a826pg)
+Status: works (I hope. My board fire up under my hands
+ and I cann't test all features.)
+
+This driver supports insn and cmd interfaces. Some boards support only insn
+becouse their hardware don't allow more (PCL-813/B, ACL-8113, ISO-813).
+Data transfer over DMA is supported only when you measure only one
+channel, this is too hardware limitation of these boards.
+See the head of the source file pcl812.c for configuration options.
+*/
+/*
*
* Options for PCL-812:
* [0] - IO Base
hardware driver for Advantech cards:
card: PCL-818L, PCL-818H, PCL-818HD, PCL-818HG, PCL-818, PCL-718
driver: pcl818l, pcl818h, pcl818hd, pcl818hg, pcl818, pcl718
-
+*/
+/*
+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.
+*/
+/*
Options for PCL-818L:
[0] - IO Base
[1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7)
* Blaine Lee
* from pcl725 by David S.
*/
+/*
+Driver: pcm3730.o
+Description: PCM3730
+Author: Blaine Lee
+
+Configuration options:
+ [0] - I/O port base
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: pcmad.o
+Description: Winsystems PCM-A/D12, PCM-A/D16
+Author: ds
+Devices: [Winsystems] PCM-A/D12 (pcmad12), PCM-A/D16 (pcmad16)
+Status: untested
+
+This driver was written on a bet that I couldn't write a driver
+in less than 2 hours. I won the bet, but never got paid. =(
+
+Configuration options:
+ [0] - I/O port base
+ [1] - unused
+ [2] - Analog input reference
+ 0 = single ended
+ 1 = differential
+ [3] - Analog input encoding (must match jumpers)
+ 0 = straight binary
+ 1 = two's complement
+*/
#include <linux/kernel.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*
- * This driver is a kind of miscellaneous driver for very
- * simple ISA boards.
- */
+Driver: poc.o
+Description: Generic driver for very simple devices
+Device names: dac02
+Author: ds
+Devices: [Keithley Metrabyte] DAC-02 (dac02)
+
+This driver is indended to support very simple ISA-based devices,
+including:
+ dac02 - Keithley DAC-02 analog output board
+
+Configuration options:
+ [0] - I/O port base
+*/
/*
dac02 - Keithley DAC-02 analog output board driver
======================================================================*/
+/*
+Driver: quatech_daqp_cs.o
+Description: Quatech DAQP PCMCIA data capture cards
+Author: Brent Baccala <baccala@freesoft.org>
+Status: unkown
+Devices: [Quatech] DAQP-208 (daqp), DAQP-308
+*/
//#include <pcmcia/config.h>
//#include <pcmcia/k_compat.h>
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
+/*
+Driver: rtd520.o
+Description: Real Time Devices PCI4520/DM7520
+Author: Dan Christian
+
+Configuration options:
+ [0] - PCI bus of device (optional)
+ If bus/slot is not specified, the first available PCI
+ device will be used.
+ [1] - PCI slot of device (optional)
+*/
/*
Created by Dan Christian, NASA Ames Research Center.
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: rti800.o
+Description: Analog Devices RTI-800/815
+Author: ds
+Status: unknown
+
+Configuration options:
+ [0] - I/O port base address
+ [1] - IRQ
+ [2] - A/D reference
+ 0 = differential
+ 1 = pseudodifferential (common)
+ 2 = single-ended
+ [3] - A/D range
+ 0 = [-10,10]
+ 1 = [-5,5]
+ 2 = [0,10]
+ [4] - A/D encoding
+ 0 = two's complement
+ 1 = straight binary
+ [5] - DAC 0 range
+ 0 = [-10,10]
+ 1 = [0,10]
+ [5] - DAC 0 encoding
+ 0 = two's complement
+ 1 = straight binary
+ [6] - DAC 1 range (same as DAC 0)
+ [7] - DAC 1 encoding (same as DAC 0)
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: rti802.o
+Description: Analog Devices RTI-802
+Author: Anders Blomdell <anders.blomdell@control.lth.se>
+Status: works
+*/
#include <linux/kernel.h>
#include <linux/module.h>
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/*
+Driver: skel.o
+Description: Skeleton driver, an example for driver writers
+Author: ds
+
+This driver is a documented example on how Comedi drivers are
+written.
+*/
#include <linux/kernel.h>
#include <linux/module.h>