Author: ds
Status: works
The classic in digital I/O. The 8255 appears in Comedi as a single digital I/O subdevice with 24 channels. The channel 0 corresponds to the 8255's port A, bit 0; channel 23 corresponds to port C, bit 7. Direction configuration is done in blocks, with channels 0-7, 8-15, 16-19, and 20-23 making up the 4 blocks. The only 8255 mode supported is mode 0. You should enable compilation 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 and PCI 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. For example, comedi_config /dev/comedi0 8255 0x200,0x204,0x208,0x20c Note that most PCI 8255 boards do NOT work with this driver, and need a separate driver as a wrapper. For those that do work, the I/O port base address can be found in the output of 'lspci -v'.
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Status: experimental
- ai_insn read - ao_insn read/write - di_insn read - do_insn read/write - ai_do_cmd mode with the following sources: - start_src TRIG_NOW - scan_begin_src TRIG_FOLLOW TRIG_TIMER TRIG_EXT - convert_src TRIG_TIMER TRIG_EXT - scan_end_src TRIG_COUNT - stop_src TRIG_COUNT TRIG_NONE The scanned channels must be consecutive and start from 0. They must all have the same range and aref. Configuration options: [0] - PCI bus number (optional) [1] - PCI slot number (optional) If bus/slot is not specified, the first available PCI device will be used.
Author: Michal Dobes <majkl@tesnet.cz>
Status: works
Manufacturer | Device | Name |
---|---|---|
ADLink | PCI-9118DG | pci9118dg |
ADLink | PCI-9118HG | pci9118hg |
ADLink | PCI-9118HR | pci9118hr |
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 are some hardware limitations: a) You cann't use mixture of unipolar/bipoar ranges or differencial/single ended inputs. b) DMA transfers must have the length aligned to two samples (32 bit), so there is some problems if cmd->chanlist_len is odd. This driver tries bypass this with adding one sample to the end of the every scan and discard it on output but this cann't be used if cmd->scan_begin_src=TRIG_FOLLOW and is used flag TRIG_WAKE_EOS, then driver switch to interrupt driven mode with interrupt after every sample. c) If isn't used DMA then you can use only mode where cmd->scan_begin_src=TRIG_FOLLOW. Configuration options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, then first available PCI card will be used. [2] - 0= standard 8 DIFF/16 SE channels configuration n= external multiplexer connected, 1<=n<=256 [3] - 0=autoselect DMA or EOC interrupts operation 1=disable DMA mode 3=disable DMA and INT, only insn interface will work [4] - sample&hold signal - card can generate signal for external S&H board 0=use SSHO (pin 45) signal is generated in onboard hardware S&H logic 0!=use ADCHN7 (pin 23) signal is generated from driver, number say how long delay is requested in ns and sign polarity of the hold (in this case external multiplexor can serve only 128 channels) [5] - 0=stop measure on all hardware errors 2|=ignore ADOR - A/D Overrun status 8|=ignore Bover - A/D Burst Mode Overrun status 256|=ignore nFull - A/D FIFO Full status
Author: Michal Dobes <majkl@tesnet.cz>
Status: works
Manufacturer | Device | Name |
---|---|---|
Advantech | PCI-1710 | pci1710 |
Advantech | PCI-1710HG | pci1710hg |
Advantech | PCI-1711 | pci1711 |
Advantech | PCI-1713 | pci1713 |
Advantech | PCI-1720 | pci1720 |
Advantech | PCI-1731 | pci1731 |
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.
Author: Ian Abbott <abbotti@mev.co.uk>
Status: works
Configuration options - PC36AT: [0] - I/O port base address [1] - IRQ (optional) Configuration options - PCI236: [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. The PC36AT ISA board and PCI236 PCI board have a single 8255 appearing as subdevice 0. Subdevice 1 pretends to be a digital input device, but it always returns 0 when read. However, if you run a command with scan_begin_src=TRIG_EXT, a rising edge on port C bit 7 acts as an external trigger, which can be used to wake up tasks. This is like the comedi_parport device, but the only way to physically disable the interrupt on the PC36AT is to remove the IRQ jumper. If no interrupt is connected, then subdevice 1 is unused.
Author: Ian Abbott <abbotti@mev.co.uk>
Status: works
Configuration options - PC263: [0] - I/O port base address Configuration options - PCI263: [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. Each board appears as one subdevice, with 16 digital outputs, each connected to a reed-relay. Relay contacts are closed when output is 1. The state of the outputs can be read.
Author: Allan Willcox <allanwillcox@ozemail.com.au>
Status: unknown
Author: Ivan Martinez <ivanmr@altavista.com>, Frank Mori Hess <fmhess@uiuc.edu>
Status: - PCI-DAS1602/16: Analog input is tested, works. Analog output untested. - PCI-DAS1602/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.
Manufacturer | Device | Name |
---|---|---|
Measurement Computing | PCI-DAS1602/16 | cb_pcidas |
Measurement Computing | PCI-DAS1602/16jr | cb_pcidas |
Measurement Computing | PCI-DAS1602/12 | cb_pcidas |
Measurement Computing | PCI-DAS1200 | cb_pcidas |
Measurement Computing | PCI-DAS1200jr | cb_pcidas |
Measurement Computing | PCI-DAS1000 | cb_pcidas |
Measurement Computing | PCI-DAS1001 | cb_pcidas |
Measurement Computing | PCI_DAS1002 | cb_pcidas |
The boards' autocalibration features are not yet supported. 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.
Author: Frank Mori Hess <fmhess@users.sourceforge.net>
Status: works, but no streaming analog output yet
Manufacturer | Device | Name |
---|---|---|
Measurement Computing | PCI-DAS6402/16 | cb_pcidas64 |
Measurement Computing | PCI-DAS6402/12 | cb_pcidas64 |
Measurement Computing | PCI-DAS64/M1/16 | cb_pcidas64 |
Measurement Computing | PCI-DAS64/M2/16 | cb_pcidas64 |
Measurement Computing | PCI-DAS64/M3/16 | cb_pcidas64 |
Measurement Computing | PCI-DAS6402/16/JR | cb_pcidas64 |
Measurement Computing | PCI-DAS64/M1/16/JR | cb_pcidas64 |
Measurement Computing | PCI-DAS64/M2/16/JR | cb_pcidas64 |
Measurement Computing | PCI-DAS64/M3/16/JR | cb_pcidas64 |
Measurement Computing | PCI-DAS64/M1/14 | cb_pcidas64 |
Measurement Computing | PCI-DAS64/M2/14 | cb_pcidas64 |
Measurement Computing | PCI-DAS64/M3/14 | cb_pcidas64 |
Measurement Computing | PCI-DAS6023E | cb_pcidas64 |
Measurement Computing | PCI-DAS6025E | cb_pcidas64 |
Measurement Computing | PCI-DAS6034E | cb_pcidas64 |
Measurement Computing | PCI-DAS6035E | cb_pcidas64 |
Measurement Computing | PCI-DAS4020/12 | cb_pcidas64 |
Configuration options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) Feel free to send and success/failure reports to Frank Hess. Some devices are not identified because the PCI device IDs are not yet known. If you have such a board, contact Frank Hess and the ID can be easily added.
Author: Ivan Martinez <ivanmr@altavista.com>, Frank Mori Hess <fmhess@users.sourceforge.net>
Status: Supports 08/16, 04/16, 02/16, 08/12, 04/12, and 02/12
Manufacturer | Device | Name |
---|---|---|
Measurement Computing | PCI-DDA08/12 | cb_pcidda |
Measurement Computing | PCI-DDA04/12 | cb_pcidda |
Measurement Computing | PCI-DDA02/12 | cb_pcidda |
Measurement Computing | PCI-DDA08/16 | cb_pcidda |
Measurement Computing | PCI-DDA04/16 | cb_pcidda |
Measurement Computing | PCI-DDA02/16 | cb_pcidda |
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. So far it has only been tested with: - PCI-DDA08/12 Please report sucess/failure with other different cards to <comedi@comedi.org>.
Author: Calin Culianu <calin@ajvar.org>
Status: works
All features of the PCIM-DDA06-16 board are supported. This board has 6 16-bit AO channels, and the usual 8255 DIO setup. (24 channels, configurable in banks of 8 and 4, etc.). This board does not support commands. The board has a peculiar way of specifying AO gain/range settings -- You have 1 jumper bank on the card, which either makes all 6 AO channels either 5 Volt unipolar, 5V bipolar, 10 Volt unipolar or 10V bipolar. Since there is absolutely _no_ way to tell in software how this jumper is set (well, at least according to the rather thin spec. from Measurement Computing that comes with the board), the driver assumes the jumper is at its factory default setting of +/-5V. Also of note is the fact that this board features another jumper, whose state is also completely invisible to software. It toggles two possible AO output modes on the board: - Update Mode: Writing to an AO channel instantaneously updates the actual signal output by the DAC on the board (this is the factory default). - Simultaneous XFER Mode: Writing to an AO channel has no effect until you read from any one of the AO channels. This is useful for loading all 6 AO values, and then reading from any one of the AO channels on the device to instantly update all 6 AO values in unison. Useful for some control apps, I would assume? If your jumper is in this setting, then you need to issue your comedi_data_write()s to load all the values you want, then issue one comedi_data_read() on any channel on the AO subdevice to initiate the simultaneous XFER. Configuration Options: Just tell comedi_config that you want to use the cb_pcimdda driver as so: comedi_config /dev/comedi0 cb_pcimdda
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. 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 Subdevices 0 is digital I/O, subdevice 1 is digital input, and subdevice 2 is digital output. Unlike other Comedi devices, subdevice 0 defaults to output. 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 10 as a external triggering pin, which can be used to wake up tasks.
Author: 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] - minor number of device you wish to emulate commands for [1] - subdevice number you wish to emulate commands for
Author: Joachim Wuttke <Joachim.Wuttke@icn.siemens.de>, Frank Mori Hess <fmhess@uiuc.edu>, ds
Status: works
This driver is mainly for testing purposes, but can also be used to generate sample waveforms on systems that don't have data acquisition hardware. Configuration options: [0] - Amplitude in microvolts for fake waveforms (default 1 volt) [1] - Period in microseconds for fake waveforms (default 0.1 sec) Generates a sawtooth wave on channel 0, square wave on channel 1, additional waveforms could be added to other channels (currently they return flatline zero volts).
Author: Stefano Rivoir <s.rivoir@gts.it>
Status: works
Configuration Options: none
Author: Anders Blomdell <anders.blomdell@control.lth.se>
Status: works
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
Author: Warren Jasper, ds, Frank Hess
Status: works
Manufacturer | Device | Name |
---|---|---|
ComputerBoards | DAS08 | das08 |
ComputerBoards | DAS08-PGM | das08-pgm |
ComputerBoards | DAS08-PGH | das08-pgh |
ComputerBoards | DAS08-PGL | das08-pgl |
ComputerBoards | DAS08-AOH | das08-aoh |
ComputerBoards | DAS08-AOL | das08-aol |
ComputerBoards | DAS08-AOM | das08-aom |
ComputerBoards | DAS08/JR-AO | das08/jr-ao |
ComputerBoards | DAS08/JR-16-AO | das08jr-16-ao |
ComputerBoards | PCI-DAS08 | pci-das08 |
ComputerBoards | PCM-DAS08 | pcm-das08 |
ComputerBoards | PC104-DAS08 | pc104-das08 |
ComputerBoards | DAS08/JR/16 | das08jr/16 |
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'. Options (for pcm-das08): NONE The das08 driver doesn't support asynchronous commands, since the cheap das08 hardware doesn't really support them (except for pcm-das08). The comedi_rt_timer driver can be used to emulate commands for this driver.
Author: Sam Moore, Warren Jasper, ds, Chris Baugher, Frank Hess, Roman Fietze
Status: works
Manufacturer | Device | Name |
---|---|---|
Keithley Metrabyte | DAS-16 | das-16 |
Keithley Metrabyte | DAS-16G | das-16g |
Keithley Metrabyte | DAS-16F | das-16f |
Keithley Metrabyte | DAS-1201 | das-1201 |
Keithley Metrabyte | DAS-1202 | das-1202 |
Keithley Metrabyte | DAS-1401 | das-1401 |
Keithley Metrabyte | DAS-1402 | das-1402 |
Keithley Metrabyte | DAS-1601 | das-1601 |
Keithley Metrabyte | DAS-1602 | das-1602 |
ComputerBoards | PC104-DAS16/JR | pc104-das16jr |
ComputerBoards | PC104-DAS16JR/16 | pc104-das16jr/16 |
ComputerBoards | CIO-DAS16JR/16 | cio-das16jr/16 |
ComputerBoards | CIO-DAS16/JR | cio-das16/jr |
ComputerBoards | CIO-DAS1401/12 | cio-das1401/12 |
ComputerBoards | CIO-DAS1402/12 | cio-das1402/12 |
ComputerBoards | CIO-DAS1402/16 | cio-das1402/16 |
ComputerBoards | CIO-DAS1601/12 | cio-das1601/12 |
ComputerBoards | CIO-DAS1602/12 | cio-das1602/12 |
ComputerBoards | CIO-DAS1602/16 | cio-das1602/16 |
ComputerBoards | CIO-DAS16/330 | cio-das16/330 |
A rewrite of the das16 and das1600 drivers. Passing a zero for an option is the same as leaving it unspecified. Both a dma channel and an irq (or use of 'timer mode', option 8) are required for timed or externally triggered conversions.
Author: 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. This board has some unusual restrictions for its channel/gain list. If the list has 2 or more channels in it, then two conditions must be satisfied: (1) - even/odd channels must appear at even/odd indices in the list (2) - the list must have an even number of entries. irq can be omitted, although the cmd interface will not work without it.
Author: Frank Mori Hess <fmhess@uiuc.edu>
Status: works
Manufacturer | Device | Name |
---|---|---|
Keithley Metrabyte | DAS-1701ST | das-1701st |
Keithley Metrabyte | DAS-1701ST-DA | das-1701st-da |
Keithley Metrabyte | DAS-1701/AO | das-1701ao |
Keithley Metrabyte | DAS-1702ST | das-1702st |
Keithley Metrabyte | DAS-1702ST-DA | das-1702st-da |
Keithley Metrabyte | DAS-1702HR | das-1702hr |
Keithley Metrabyte | DAS-1702HR-DA | das-1702hr-da |
Keithley Metrabyte | DAS-1702/AO | das-1702ao |
Keithley Metrabyte | DAS-1801ST | das-1801st |
Keithley Metrabyte | DAS-1801ST-DA | das-1801st-da |
Keithley Metrabyte | DAS-1801HC | das-1801hc |
Keithley Metrabyte | DAS-1801AO | das-1801ao |
Keithley Metrabyte | DAS-1802ST | das-1802st |
Keithley Metrabyte | DAS-1802ST-DA | das-1802st-da |
Keithley Metrabyte | DAS-1802HR | das-1802hr |
Keithley Metrabyte | DAS-1802HR-DA | das-1802hr-da |
Keithley Metrabyte | DAS-1802HC | das-1802hc |
Keithley Metrabyte | DAS-1802AO | das-1802ao |
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)
Author: Oystein Svendsen <svendsen@pvv.org>
Status: bitrotten
This driver has suffered bitrot.
Author: Frank Mori Hess <fmhess@uiuc.edu>
Status: works, cio-das802/16 untested - email me if you have tested it
Manufacturer | Device | Name |
---|---|---|
Keithley Metrabyte | DAS-800 | das-800 |
Keithley Metrabyte | DAS-801 | das-801 |
Keithley Metrabyte | DAS-802 | das-802 |
Measurement Computing | CIO-DAS800 | cio-das800 |
Measurement Computing | CIO-DAS801 | cio-das801 |
Measurement Computing | CIO-DAS802 | cio-das802 |
Measurement Computing | CIO-DAS802/16 | cio-das802/16 |
Configuration options: [0] - I/O port base address [1] - IRQ (optional, required for timed or externally triggered conversions) All entries in the channel/gain list must use the same gain and be consecutive channels counting upwards in channel number (these are hardware limitations.) I've never tested the gain setting stuff since I only have a DAS-800 board with fixed gain. The cio-das802/16 does not have a fifo-empty status bit! Therefore only fifo-half-full transfers are possible with this card.
Author: ds
Status: works
Manufacturer | Device | Name |
---|---|---|
Data Translation | DT2801 | dt2801 |
Data Translation | DT2801-A | dt2801 |
Data Translation | DT2801/5716A | dt2801 |
Data Translation | DT2805 | dt2801 |
Data Translation | DT2805/5716A | dt2801 |
Data Translation | DT2808 | dt2801 |
Data Translation | DT2818 | dt2801 |
Data Translation | DT2809 | dt2801 |
Data Translation | DT01-EZ | dt2801 |
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)
Author: ds
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)
Author: ds
Status: complete
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.
Author: ds
Status: mostly complete, untested
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)
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. Configuration options: [0] - I/O port base base address
Author: ds
Status: complete
Manufacturer | Device | Name |
---|---|---|
Data Translation | DT2821 | dt2821 |
Data Translation | DT2823 | dt2823 |
Data Translation | DT2824-PGH | dt2824-pgh |
Data Translation | DT2824-PGL | dt2824-pgl |
Data Translation | DT2825 | dt2825 |
Data Translation | DT2827 | dt2827 |
Data Translation | DT2828 | dt2828 |
Data Translation | DT21-EZ | dt21-ez |
Data Translation | DT23-EZ | dt23-ez |
Data Translation | DT24-EZ | dt24-ez |
Data Translation | DT24-EZ-PGL | dt24-ez-pgl |
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]
Author: ds
Status: works
Manufacturer | Device | Name |
---|---|---|
Data Translation | DT3001 | dt3000 |
Data Translation | DT3001-PGL | dt3000 |
Data Translation | DT3002 | dt3000 |
Data Translation | DT3003 | dt3000 |
Data Translation | DT3003-PGL | dt3000 |
Data Translation | DT3004 | dt3000 |
Data Translation | DT3005 | dt3000 |
Data Translation | DT3004-200 | dt3000 |
There is code to support AI commands, but it may not work. AO commands are not supported.
Author: unknown
Status: unknown
Digital I/O is not supported. Configuration options: [0] - I/O port base address
Author: Anne Smorthit <anne.smorthit@sfwte.ch>
Status: unknown
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 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
Author: mh
Status: tested
This driver is a simple driver to read the counter values from Kolter Electronic PCI Counter Card.
Author: Michael Hillmann <hillmann@syscongroup.de>
Status: experimental
Analog Output Configuration options: [0] - PCI bus number (optional) [1] - PCI slot number (optional) If bus/slot is not specified, the first available PCI device will be used.
Author: ds
Status: experimental
This driver is specific to the Motorola MPC8260 processor, allowing you to access the processor's generic digital I/O lines. It is apparently missing some code.
Author: Anders Blomdell <anders.blomdell@control.lth.se>
Status: works
Author: Bart Joris <bjoris@advalvas.be>
Status: unknown
The driver currently does not recognize the 6704, because the PCI ID is not known. Commands are not supported.
Author: Frank Mori Hess
Status: works
Manufacturer | Device | Name |
---|---|---|
National Instruments | AT-A2150C | at_a2150c |
National Instruments | AT-2150S | at_a2150s |
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)
Author: ds
Status: untested
This driver has not been tested, but should work.
Author: ds
Status: works
Manufacturer | Device | Name |
---|---|---|
National Instruments | AT-MIO-16E-1 | ni_atmio |
National Instruments | AT-MIO-16E-2 | ni_atmio |
National Instruments | AT-MIO-16E-10 | ni_atmio |
National Instruments | AT-MIO-16DE-10 | ni_atmio |
National Instruments | AT-MIO-64E-3 | ni_atmio |
National Instruments | AT-MIO-16XE-50 | ni_atmio |
National Instruments | AT-MIO-16XE-10 | ni_atmio |
National Instruments | AT-AI-16XE-10 | ni_atmio |
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 of Comedilib. 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. To use the extended digital I/O on some of the boards, enable the 8255 driver when configuring the Comedi source tree. External triggering is supported for some events. The channel index (scan_begin_arg, etc.) maps to PFI0 - PFI9. Some of the more esoteric triggering possibilities of these boards are not supported.
Author: Chris R. Baugher <baugher@enteract.com>
Status: unknown
Manufacturer | Device | Name |
---|---|---|
National Instruments | AT-MIO-16 | atmio16 |
National Instruments | AT-MIO-16D | atmio16d |
Author: Daniel Vecino Castel <dvecino@able.es>
Status: ?
Author: Frank Mori Hess <fmhess@users.sourceforge.net>
Status: works
Manufacturer | Device | Name |
---|---|---|
National Instruments | DAQCard-1200 | daqcard-1200 |
National Instruments | Lab-PC-1200 | labpc-1200 |
National Instruments | Lab-PC-1200AI | labpc-1200ai |
National Instruments | Lab-PC+ | lab-pc+ |
National Instruments | PCI-1200 | pci-1200 |
Tested with lab-pc-1200. For the older Lab-PC+, not all input ranges and analog references will work, the available ranges/arefs will depend on how you have configured the jumpers on your board (see your owner's manual). Configuration options - ISA boards: [0] - I/O port base address [1] - IRQ (optional, required for timed or externally triggered conversions) [2] - DMA channel (optional) Configuration options - PCI boards: [0] - bus (optional) [1] - slot (optional) Configuration options - PCMCIA boards: none Lab-pc+ has quirky chanlist when scanning multiple channels. Scan sequence must start at highest channel, then decrement down to channel 0. 1200 series cards can scan down like lab-pc+ or scan up from channel zero.
Author: ds
Status: works
Manufacturer | Device | Name |
---|---|---|
National Instruments | DAQCard-AI-16XE-50 | ni_mio_cs |
National Instruments | DAQCard-AI-16E-4 | ni_mio_cs |
National Instruments | DAQCard-6062E | ni_mio_cs |
National Instruments | DAQCard-6024E | ni_mio_cs |
See the notes in the ni_atmio.o driver.
Author: ds
Status: works
Manufacturer | Device | Name |
---|---|---|
National Instruments | PCI-DIO-32HS | ni_pcidio |
National Instruments | PXI-6533 | ni_pcidio |
National Instruments | PCI-DIO-96 | ni_pcidio |
National Instruments | PCI-DIO-96B | ni_pcidio |
National Instruments | PXI-6508 | ni_pcidio |
National Instruments | PCI-6503 | ni_pcidio |
National Instruments | PCI-6503B | ni_pcidio |
National Instruments | PCI-6503X | ni_pcidio |
National Instruments | PXI-6503 | ni_pcidio |
National Instruments | PCI-6534 | ni_pcidio |
National Instruments | PCI-6533 | ni_pcidio |
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 is 0=A0, 1=A1, 2=A2, ... 8=B0, 16=C0, 24=D0. The driver only supports simple digital I/O; no handshaking is supported. DMA mostly works for the PCI-DIO32HS, but only in timed input mode. This driver could be easily modified to support AT-MIO32HS and AT-MIO96.
Author: ds
Status: works
Manufacturer | Device | Name |
---|---|---|
National Instruments | PCI-MIO-16XE-50 | ni_pcimio |
National Instruments | PCI-MIO-16XE-10 | ni_pcimio |
National Instruments | PXI-6030E | ni_pcimio |
National Instruments | PCI-MIO-16E-1 | ni_pcimio |
National Instruments | PCI-MIO-16E-4 | ni_pcimio |
National Instruments | PCI-6040E | ni_pcimio |
National Instruments | PXI-6040E | ni_pcimio |
National Instruments | PCI-6031E | ni_pcimio |
National Instruments | PCI-6032E | ni_pcimio |
National Instruments | PCI-6033E | ni_pcimio |
National Instruments | PCI-6071E | ni_pcimio |
National Instruments | PCI-6023E | ni_pcimio |
National Instruments | PCI-6024E | ni_pcimio |
National Instruments | PCI-6025E | ni_pcimio |
National Instruments | PXI-6025E | ni_pcimio |
National Instruments | PCI-6034E | ni_pcimio |
National Instruments | PCI-6035E | ni_pcimio |
National Instruments | PCI-6052E | ni_pcimio |
National Instruments | PCI-6110 | ni_pcimio |
National Instruments | PCI-6111 | ni_pcimio |
National Instruments | PCI-6711 | ni_pcimio |
National Instruments | PCI-6713 | ni_pcimio |
National Instruments | PXI-6071E | ni_pcimio |
National Instruments | PXI-6070E | ni_pcimio |
National Instruments | PXI-6052E | ni_pcimio |
National Instruments | PCI-6036E | ni_pcimio |
National Instruments | PCI-6731 | ni_pcimio |
National Instruments | PCI-6733 | ni_pcimio |
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 for the ni_atmio.o driver for additional information about these boards. Autocalibration is supported on many of the devices, using the calibration utility in Comedilib. By default, the driver uses DMA to transfer analog input data to memory. When DMA is enabled, not all triggering features are supported. Streaming analog output is not supported on PCI-671x and PCI-673x. PCI IDs are not known for PCI-6731 and PCI-6733. Digital I/O may not work on 673x. Information (number of channels, bits, etc.) for some devices may be incorrect. Please check this and submit a bug if there are problems for your device.
Author: ds, Janne Jalkanen <jalkanen@cs.hut.fi>, Eric Bunn <ebu@cs.hut.fi>
Status: mostly complete
Manufacturer | Device | Name |
---|---|---|
Advantech | PCL-711 | pcl711 |
Advantech | PCL-711B | pcl711b |
AdLink | ACL-8112HG | acl8112hg |
AdLink | ACL-8112DG | acl8112dg |
Since these boards do not have DMA or FIFOs, only immediate mode is supported.
Author: Michal Dobes <majkl@tesnet.cz>
Status: untested
Manufacturer | Device | Name |
---|---|---|
Advantech | PCL-724 | pcl724 |
Advantech | PCL-722 | pcl722 |
Advantech | PCL-731 | pcl731 |
ADLink | ACL-7122 | acl7122 |
ADLink | ACL-7124 | acl7124 |
ADLink | PET-48DIO | pet48dio |
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.
Author: ds
Status: untested
Manufacturer | Device | Name |
---|---|---|
Advantech | PCL-726 | pcl726 |
Advantech | PCL-727 | pcl727 |
Advantech | PCL-728 | pcl728 |
ADLink | ACL-6126 | acl6126 |
ADLink | ACL-6128 | acl6128 |
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: unknown (external reference) Options for PCL-727: [0] - IO Base [2]...[13] - D/A output range for channel 1-12: 0: 0-5V, 1: 0-10V, 2: +/-5V, 3: 4-20mA Options for PCL-728 and ACL-6128: [0] - IO Base [2], [3] - D/A output range for channel 1 and 2: 0: 0-5V, 1: 0-10V, 2: +/-5V, 3: +/-10V, 4: 4-20mA, 5: 0-20mA Options for ACL-6126: [0] - IO Base [1] - IRQ (0=disable, 3, 5, 6, 7, 9, 10, 11, 12, 15) (currently ignored) [2]...[7] - D/A output range for channel 1-6: 0: 0-5V, 1: 0-10V, 2: +/-5V, 3: +/-10V, 4: 4-20mA
Author: Michal Dobes <majkl@tesnet.cz>
Status: works (I hope. My board fire up under my hands and I cann't test all features.)
Manufacturer | Device | Name |
---|---|---|
Advantech | PCL-812 | pcl812 |
Advantech | PCL-812PG | pcl812pg |
Advantech | PCL-813 | pcl813 |
Advantech | PCL-813B | pcl813b |
ADLink | ACL-8112DG | acl8112dg |
ADLink | ACL-8112HG | acl8112hg |
ADLink | ACL-8113 | acl-8113 |
ADLink | ACL-8216 | acl8216 |
ICP | ISO-813 | iso813 |
ICP | A-821PGH | a821pgh |
ICP | A-821PGL | a821pgl |
ICP | A-821PGL-NDA | a821pclnda |
ICP | A-822PGH | a822pgh |
ICP | A-822PGL | a822pgl |
ICP | A-823PGH | a823pgh |
ICP | A-823PGL | a823pgl |
ICP | A-826PG | a826pg |
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.
Author: Juan Grigera <juan@grigera.com.ar>
Status: works
PCL 816 and 814B have 16 SE/DIFF ADCs, 16 DACs, 16 DI and 16 DO. Differences are at resolution (16 vs 12 bits). The driver support AI command mode, other subdevices not written. Analog output and digital input and output are not supported. Configuration Options: [0] - IO Base [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7) [2] - DMA (0=disable, 1, 3) [3] - 0, 10=10MHz clock for 8254 1= 1MHz clock for 8254
Author: Michal Dobes <majkl@tesnet.cz>
Status: works
Manufacturer | Device | Name |
---|---|---|
Advantech | PCL-818L | pcl818l |
Advantech | PCL-818H | pcl818h |
Advantech | PCL-818HD | pcl818hd |
Advantech | PCL-818HG | pcl818hg |
Advantech | PCL-818 | pcl818 |
Advantech | PCL-718 | pcl718 |
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. Options for PCL-818L: [0] - IO Base [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7) [2] - DMA (0=disable, 1, 3) [3] - 0, 10=10MHz clock for 8254 1= 1MHz clock for 8254 [4] - 0, 5=A/D input -5V.. +5V 1, 10=A/D input -10V..+10V [5] - 0, 5=D/A output 0-5V (internal reference -5V) 1, 10=D/A output 0-10V (internal reference -10V) 2 =D/A output unknow (external reference) Options for PCL-818, PCL-818H: [0] - IO Base [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7) [2] - DMA (0=disable, 1, 3) [3] - 0, 10=10MHz clock for 8254 1= 1MHz clock for 8254 [4] - 0, 5=D/A output 0-5V (internal reference -5V) 1, 10=D/A output 0-10V (internal reference -10V) 2 =D/A output unknow (external reference) Options for PCL-818HD, PCL-818HG: [0] - IO Base [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7) [2] - DMA/FIFO (-1=use FIFO, 0=disable both FIFO and DMA, 1=use DMA ch 1, 3=use DMA ch 3) [3] - 0, 10=10MHz clock for 8254 1= 1MHz clock for 8254 [4] - 0, 5=D/A output 0-5V (internal reference -5V) 1, 10=D/A output 0-10V (internal reference -10V) 2 =D/A output unknow (external reference) Options for PCL-718: [0] - IO Base [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7) [2] - DMA (0=disable, 1, 3) [3] - 0, 10=10MHz clock for 8254 1= 1MHz clock for 8254 [4] - 0=A/D Range is +/-10V 1= +/-5V 2= +/-2.5V 3= +/-1V 4= +/-0.5V 5= user defined bipolar 6= 0-10V 7= 0-5V 8= 0-2V 9= 0-1V 10= user defined unipolar [5] - 0, 5=D/A outputs 0-5V (internal reference -5V) 1, 10=D/A outputs 0-10V (internal reference -10V) 2=D/A outputs unknow (external reference) [6] - 0, 60=max 60kHz A/D sampling 1,100=max 100kHz A/D sampling (PCL-718 with Option 001 installed)
Author: Blaine Lee
Status: unknown
Configuration options: [0] - I/O port base
Author: ds
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
Author: ds
Status: unknown
Manufacturer | Device | Name |
---|---|---|
Keithley Metrabyte | DAC-02 | dac02 |
Advantech | PCL-733 | pcl733 |
Advantech | PCL-734 | pcl734 |
This driver is indended to support very simple ISA-based devices, Configuration options: [0] - I/O port base
Author: Brent Baccala <baccala@freesoft.org>
Status: unkown
Author: Dan Christian
Status: Works. Only tested on DM7520-8. Not SMP safe.
Manufacturer | Device | Name |
---|---|---|
Real Time Devices | DM7520HR-1 | DM7520 |
Real Time Devices | DM7520HR-8 | DM7520-8 |
Real Time Devices | PCI4520 | PCI4520 |
Real Time Devices | PCI4520-8 | PCI4520-8 |
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)
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)
Author: Anders Blomdell <anders.blomdell@control.lth.se>
Status: works
Configuration Options: [0] - i/o base [1] - unused [2] - dac#0 0=two's comp, 1=straight [3] - dac#0 0=bipolar, 1=unipolar [4] - dac#1 ... ... [17] - dac#7 ...
Author: Anders Blomdell
Status: in development
Author: ds
Status: works
This driver is a documented example on how Comedi drivers are written. Configuration Options: none
Author: Robert Schwebel <robert@schwebel.de>
Status: unknown