Author: ds
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| standard | 8255 | 8255 |
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: José Luis Sánchez (jsanchezv@teleline.es)
Status: testing
| Manufacturer | Device | Name |
|---|---|---|
| Adlink | ACL-7225b | acl7225b |
| ICP | P16R16DIO | p16r16dio |
Author: nsyeow <nsyeow@pd.jaring.my>
Status: untested
| Manufacturer | Device | Name |
|---|---|---|
| ADLink | PCI-6208A | adl_pci6208 |
Configuration Options: none
Author: David Fernandez <dfcastelao@gmail.com>
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| ADLink | PCI-7230 | adl_pci7230 |
Configuration Options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, the first supported PCI device found will be used.
Author: Jon Grierson <jd@renko.co.uk>
Status: testing
| Manufacturer | Device | Name |
|---|---|---|
| ADLink | PCI-7296 | adl_pci7296 |
Configuration Options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, the first supported PCI device found will be used.
Author: Michel Lachaine <mike@mikelachaine.ca>
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| ADLink | PCI-7432 | adl_pci7432 |
Configuration Options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, the first supported PCI device found will be used.
Author: Michel Lachaine <mike@mikelachaine.ca>
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| ADLink | PCI-8164 | adl_pci8164 |
Configuration Options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, the first supported PCI device found will be used.
Author: Emmanuel Pacaud <emmanuel.pacaud@univ-poitiers.fr>
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| ADLink | PCI-9111HR | adl_pci9111 |
- 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 <dobes@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: jeremy theler <thelerg@ib.cnea.gov.ar>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| MicroAxial | ADQ12-B | adq12b |
Driver for the acquisition card ADQ12-B (without any add-on).
- Analog input is subdevice 0 (16 channels single-ended or 8 differential)
- Digital input is subdevice 1 (5 channels)
- Digital output is subdevice 1 (8 channels)
- The PACER is not supported in this version
If you do not specify any options, they will default to
# comedi_config /dev/comedi0 adq12b 0x300,0,0
option 1: I/O base address. The following table is provided as a help
of the hardware jumpers.
address jumper JADR
0x300 1 (factory default)
0x320 2
0x340 3
0x360 4
0x380 5
0x3A0 6
option 2: unipolar/bipolar ADC selection: 0 -> bipolar, 1 -> unipolar
selection comedi_config option JUB
bipolar 0 2-3 (factory default)
unipolar 1 1-2
option 3: single-ended/differential AI selection: 0 -> SE, 1 -> differential
selection comedi_config option JCHA JCHB
single-ended 0 1-2 1-2 (factory default)
differential 1 2-3 2-3
written by jeremy theler <thelerg@ib.cnea.gov.ar>
instituto balseiro
comision nacional de energia atomica
universidad nacional de cuyo
argentina
21-feb-2008
+ changed supported devices string (missused the [] and ())
13-oct-2007
+ first try
Author: Michal Dobes <dobes@tesnet.cz>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Advantech | PCI-1710 | adv_pci1710 |
| Advantech | PCI-1710HG | pci1710hg |
| Advantech | PCI-1711 | adv_pci1710 |
| Advantech | PCI-1713 | adv_pci1710 |
| Advantech | PCI-1720 | adv_pci1710 |
| Advantech | PCI-1731 | adv_pci1710 |
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: yonggang <rsmgnu@gmail.com>, Ian Abbott <abbotti@mev.co.uk>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Advantech | PCI-1723 | adv_pci1723 |
Configuration Options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, the first supported PCI device found will be used. Subdevice 0 is 8-channel AO, 16-bit, range +/- 10 V. Subdevice 1 is 16-channel DIO. The channels are configurable as input or output in 2 groups (0 to 7, 8 to 15). Configuring any channel implicitly configures all channels in the same group. 1. Add the two milliamp ranges to the AO subdevice (0 to 20 mA, 4 to 20 mA). 2. Read the initial ranges and values of the AO subdevice at start-up instead of reinitializing them. 3. Implement calibration.
Author: Michal Dobes <dobes@tesnet.cz>
Status: untested
| Manufacturer | Device | Name |
|---|---|---|
| Advantech | PCI-1730 | adv_pci_dio |
| Advantech | PCI-1733 | adv_pci_dio |
| Advantech | PCI-1734 | adv_pci_dio |
| Advantech | PCI-1735U | adv_pci_dio |
| Advantech | PCI-1736UP | adv_pci_dio |
| Advantech | PCI-1739U | adv_pci_dio |
| Advantech | PCI-1750 | adv_pci_dio |
| Advantech | PCI-1751 | adv_pci_dio |
| Advantech | PCI-1752 | adv_pci_dio |
| Advantech | PCI-1753 | adv_pci_dio |
| Advantech | PCI-1753+PCI-1753E | adv_pci_dio |
| Advantech | PCI-1754 | adv_pci_dio |
| Advantech | PCI-1756 | adv_pci_dio |
| Advantech | PCI-1760 | adv_pci_dio |
| Advantech | PCI-1762 | adv_pci_dio |
This driver supports now only insn interface for DI/DO/DIO.
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: Pablo Mejia <pablo.mejia@cctechnol.com>
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| Acces I/O | PC-104 AIO12-8 | adv_pci_dio |
Configuration Options: [0] - I/O port base address Only synchronous operations are supported.
Author: Zachary Ware <zach.ware@cctechnol.com>
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| Acces I/O | PC-104 AIO12-8 | adv_pci_dio |
Configuration Options: [0] - I/O port base address
Author: Ian Abbott <abbotti@mev.co.uk>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Amplicon | PC212E | pc212e |
| Amplicon | PC214E | pc214e |
| Amplicon | PC215E | pc215e |
| Amplicon | PCI215 | pci215 or amplc_dio200 |
| Amplicon | PC218E | pc218e |
| Amplicon | PC272E | pc272e |
| Amplicon | PCI272 | pci272 or amplc_dio200 |
Configuration options - PC212E, PC214E, PC215E, PC218E, PC272E:
[0] - I/O port base address
[1] - IRQ (optional, but commands won't work without it)
Configuration options - PCI215, PCI272:
[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.
Passing a zero for an option is the same as leaving it unspecified.
SUBDEVICES
PC218E PC212E PC215E/PCI215
------------- ------------- -------------
Subdevices 7 6 5
0 CTR-X1 PPI-X PPI-X
1 CTR-X2 CTR-Y1 PPI-Y
2 CTR-Y1 CTR-Y2 CTR-Z1
3 CTR-Y2 CTR-Z1 CTR-Z2
4 CTR-Z1 CTR-Z2 INTERRUPT
5 CTR-Z2 INTERRUPT
6 INTERRUPT
PC214E PC272E/PCI272
------------- -------------
Subdevices 4 4
0 PPI-X PPI-X
1 PPI-Y PPI-Y
2 CTR-Z1* PPI-Z
3 INTERRUPT* INTERRUPT
Each PPI is a 8255 chip providing 24 DIO channels. The DIO channels
are configurable as inputs or outputs in four groups:
Port A - channels 0 to 7
Port B - channels 8 to 15
Port CL - channels 16 to 19
Port CH - channels 20 to 23
Only mode 0 of the 8255 chips is supported.
Each CTR is a 8254 chip providing 3 16-bit counter channels. Each
channel is configured individually with INSN_CONFIG instructions. The
specific type of configuration instruction is specified in data[0].
Some configuration instructions expect an additional parameter in
data[1]; others return a value in data[1]. The following configuration
instructions are supported:
INSN_CONFIG_SET_COUNTER_MODE. Sets the counter channel's mode and
BCD/binary setting specified in data[1].
INSN_CONFIG_8254_READ_STATUS. Reads the status register value for the
counter channel into data[1].
INSN_CONFIG_SET_CLOCK_SRC. Sets the counter channel's clock source as
specified in data[1] (this is a hardware-specific value). Not
supported on PC214E. For the other boards, valid clock sources are
0 to 7 as follows:
0. CLK n, the counter channel's dedicated CLK input from the SK1
connector. (N.B. for other values, the counter channel's CLKn
pin on the SK1 connector is an output!)
1. Internal 10 MHz clock.
2. Internal 1 MHz clock.
3. Internal 100 kHz clock.
4. Internal 10 kHz clock.
5. Internal 1 kHz clock.
6. OUT n-1, the output of counter channel n-1 (see note 1 below).
7. Ext Clock, the counter chip's dedicated Ext Clock input from
the SK1 connector. This pin is shared by all three counter
channels on the chip.
INSN_CONFIG_GET_CLOCK_SRC. Returns the counter channel's current
clock source in data[1]. For internal clock sources, data[2] is set
to the period in ns.
INSN_CONFIG_SET_GATE_SRC. Sets the counter channel's gate source as
specified in data[2] (this is a hardware-specific value). Not
supported on PC214E. For the other boards, valid gate sources are 0
to 7 as follows:
0. VCC (internal +5V d.c.), i.e. gate permanently enabled.
1. GND (internal 0V d.c.), i.e. gate permanently disabled.
2. GAT n, the counter channel's dedicated GAT input from the SK1
connector. (N.B. for other values, the counter channel's GATn
pin on the SK1 connector is an output!)
3. /OUT n-2, the inverted output of counter channel n-2 (see note
2 below).
4. Reserved.
5. Reserved.
6. Reserved.
7. Reserved.
INSN_CONFIG_GET_GATE_SRC. Returns the counter channel's current gate
source in data[2].
Clock and gate interconnection notes:
1. Clock source OUT n-1 is the output of the preceding channel on the
same counter subdevice if n > 0, or the output of channel 2 on the
preceding counter subdevice (see note 3) if n = 0.
2. Gate source /OUT n-2 is the inverted output of channel 0 on the
same counter subdevice if n = 2, or the inverted output of channel n+1
on the preceding counter subdevice (see note 3) if n < 2.
3. The counter subdevices are connected in a ring, so the highest
counter subdevice precedes the lowest.
The 'INTERRUPT' subdevice pretends to be a digital input subdevice. The
digital inputs come from the interrupt status register. The number of
channels matches the number of interrupt sources. The PC214E does not
have an interrupt status register; see notes on 'INTERRUPT SOURCES'
below.
INTERRUPT SOURCES
PC218E PC212E PC215E/PCI215
------------- ------------- -------------
Sources 6 6 6
0 CTR-X1-OUT PPI-X-C0 PPI-X-C0
1 CTR-X2-OUT PPI-X-C3 PPI-X-C3
2 CTR-Y1-OUT CTR-Y1-OUT PPI-Y-C0
3 CTR-Y2-OUT CTR-Y2-OUT PPI-Y-C3
4 CTR-Z1-OUT CTR-Z1-OUT CTR-Z1-OUT
5 CTR-Z2-OUT CTR-Z2-OUT CTR-Z2-OUT
PC214E PC272E/PCI272
------------- -------------
Sources 1 6
0 JUMPER-J5 PPI-X-C0
1 PPI-X-C3
2 PPI-Y-C0
3 PPI-Y-C3
4 PPI-Z-C0
5 PPI-Z-C3
When an interrupt source is enabled in the interrupt source enable
register, a rising edge on the source signal latches the corresponding
bit to 1 in the interrupt status register.
When the interrupt status register value as a whole (actually, just the
6 least significant bits) goes from zero to non-zero, the board will
generate an interrupt. For level-triggered hardware interrupts (PCI
card), the interrupt will remain asserted until the interrupt status
register is cleared to zero. For edge-triggered hardware interrupts
(ISA card), no further interrupts will occur until the interrupt status
register is cleared to zero. To clear a bit to zero in the interrupt
status register, the corresponding interrupt source must be disabled
in the interrupt source enable register (there is no separate interrupt
clear register).
The PC214E does not have an interrupt source enable register or an
interrupt status register; its 'INTERRUPT' subdevice has a single
channel and its interrupt source is selected by the position of jumper
J5.
COMMANDS
The driver supports a read streaming acquisition command on the
'INTERRUPT' subdevice. The channel list selects the interrupt sources
to be enabled. All channels will be sampled together (convert_src ==
TRIG_NOW). The scan begins a short time after the hardware interrupt
occurs, subject to interrupt latencies (scan_begin_src == TRIG_EXT,
scan_begin_arg == 0). The value read from the interrupt status register
is packed into a sampl_t value, one bit per requested channel, in the
order they appear in the channel list.
Author: Ian Abbott <abbotti@mev.co.uk>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Amplicon | PC36AT | pc36at |
| Amplicon | PCI236 | pci236 or amplc_pc236 |
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 3 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
| Manufacturer | Device | Name |
|---|---|---|
| Amplicon | PC263 | pc263 |
| Amplicon | PCI263 | pci263 or amplc_pc263 |
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: Ian Abbott <abbotti@mev.co.uk>
Status: works, but see caveats
| Manufacturer | Device | Name |
|---|---|---|
| Amplicon | PCI224 | amplc_pci224 or pci224 |
| Amplicon | PCI234 | amplc_pci224 or pci234 |
- ao_insn read/write
- ao_do_cmd mode with the following sources:
- start_src TRIG_INT TRIG_EXT
- scan_begin_src TRIG_TIMER TRIG_EXT
- convert_src TRIG_NOW
- scan_end_src TRIG_COUNT
- stop_src TRIG_COUNT TRIG_EXT TRIG_NONE
The channel list must contain at least one channel with no repeated
channels. The scan end count must equal the number of channels in
the channel list.
There is only one external trigger source so only one of start_src,
scan_begin_src or stop_src may use TRIG_EXT.
Configuration options - PCI224:
[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.
[2] - Select available ranges according to jumper LK1. All channels
are set to the same range:
0=Jumper position 1-2 (factory default), 4 software-selectable
internal voltage references, giving 4 bipolar and 4 unipolar
ranges:
[-10V,+10V], [-5V,+5V], [-2.5V,+2.5V], [-1.25V,+1.25V],
[0,+10V], [0,+5V], [0,+2.5V], [0,1.25V].
1=Jumper position 2-3, 1 external voltage reference, giving
1 bipolar and 1 unipolar range:
[-Vext,+Vext], [0,+Vext].
Configuration options - PCI234:
[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.
[2] - Select internal or external voltage reference according to
jumper LK1. This affects all channels:
0=Jumper position 1-2 (factory default), Vref=5V internal.
1=Jumper position 2-3, Vref=Vext external.
[3] - Select channel 0 range according to jumper LK2:
0=Jumper position 2-3 (factory default), range [-2*Vref,+2*Vref]
(10V bipolar when options[2]=0).
1=Jumper position 1-2, range [-Vref,+Vref]
(5V bipolar when options[2]=0).
[4] - Select channel 1 range according to jumper LK3: cf. options[3].
[5] - Select channel 2 range according to jumper LK4: cf. options[3].
[6] - Select channel 3 range according to jumper LK5: cf. options[3].
Passing a zero for an option is the same as leaving it unspecified.
1) All channels on the PCI224 share the same range. Any change to the
range as a result of insn_write or a streaming command will affect
the output voltages of all channels, including those not specified
by the instruction or command.
2) For the analog output command, the first scan may be triggered
falsely at the start of acquisition. This occurs when the DAC scan
trigger source is switched from 'none' to 'timer' (scan_begin_src =
TRIG_TIMER) or 'external' (scan_begin_src == TRIG_EXT) at the start
of acquisition and the trigger source is at logic level 1 at the
time of the switch. This is very likely for TRIG_TIMER. For
TRIG_EXT, it depends on the state of the external line and whether
the CR_INVERT flag has been set. The remaining scans are triggered
correctly.
Author: Allan Willcox <allanwillcox@ozemail.com.au>, Steve D Sharples <steve.sharples@nottingham.ac.uk>, Ian Abbott <abbotti@mev.co.uk>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Amplicon | PCI230 | pci230 or amplc_pci230 |
| Amplicon | PCI230+ | pci230+ or amplc_pci230 |
| Amplicon | PCI260 | pci260 or amplc_pci230 |
| Amplicon | PCI260+ | pci260+ or amplc_pci230 |
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.
Configuring a "amplc_pci230" will match any supported card and it will
choose the best match, picking the "+" models if possible. Configuring
a "pci230" will match a PCI230 or PCI230+ card and it will be treated as
a PCI230. Configuring a "pci260" will match a PCI260 or PCI260+ card
and it will be treated as a PCI260. Configuring a "pci230+" will match
a PCI230+ card. Configuring a "pci260+" will match a PCI260+ card.
PCI230(+) PCI260(+)
--------- ---------
Subdevices 3 1
0 AI AI
1 AO
2 DIO
AI Subdevice:
The AI subdevice has 16 single-ended channels or 8 differential
channels.
The PCI230 and PCI260 cards have 12-bit resolution. The PCI230+ and
PCI260+ cards have 16-bit resolution.
For differential mode, use inputs 2N and 2N+1 for channel N (e.g. use
inputs 14 and 15 for channel 7). If the card is physically a PCI230
or PCI260 then it actually uses a "pseudo-differential" mode where the
inputs are sampled a few microseconds apart. The PCI230+ and PCI260+
use true differential sampling. Another difference is that if the
card is physically a PCI230 or PCI260, the inverting input is 2N,
whereas for a PCI230+ or PCI260+ the inverting input is 2N+1. So if a
PCI230 is physically replaced by a PCI230+ (or a PCI260 with a
PCI260+) and differential mode is used, the differential inputs need
to be physically swapped on the connector.
The following input ranges are supported:
0 => [-10, +10] V
1 => [-5, +5] V
2 => [-2.5, +2.5] V
3 => [-1.25, +1.25] V
4 => [0, 10] V
5 => [0, 5] V
6 => [0, 2.5] V
AI Commands:
+=========+==============+===========+============+==========+
|start_src|scan_begin_src|convert_src|scan_end_src| stop_src |
+=========+==============+===========+============+==========+
|TRIG_NOW | TRIG_FOLLOW |TRIG_TIMER | TRIG_COUNT |TRIG_NONE |
|TRIG_INT | |TRIG_EXT(3)| |TRIG_COUNT|
| | |TRIG_INT | | |
| |--------------|-----------| | |
| | TRIG_TIMER(1)|TRIG_TIMER | | |
| | TRIG_EXT(2) | | | |
| | TRIG_INT | | | |
+---------+--------------+-----------+------------+----------+
Note 1: If AI command and AO command are used simultaneously, only
one may have scan_begin_src == TRIG_TIMER.
Note 2: For PCI230 and PCI230+, scan_begin_src == TRIG_EXT uses
DIO channel 16 (pin 49) which will need to be configured as
a digital input. For PCI260+, the EXTTRIG/EXTCONVCLK input
(pin 17) is used instead. For PCI230, scan_begin_src ==
TRIG_EXT is not supported. The trigger is a rising edge
on the input.
Note 3: For convert_src == TRIG_EXT, the EXTTRIG/EXTCONVCLK input
(pin 25 on PCI230(+), pin 17 on PCI260(+)) is used. The
convert_arg value is interpreted as follows:
convert_arg == (CR_EDGE | 0) => rising edge
convert_arg == (CR_EDGE | CR_INVERT | 0) => falling edge
convert_arg == 0 => falling edge (backwards compatibility)
convert_arg == 1 => rising edge (backwards compatibility)
All entries in the channel list must use the same analogue reference.
If the analogue reference is not AREF_DIFF (not differential) each
pair of channel numbers (0 and 1, 2 and 3, etc.) must use the same
input range. The input ranges used in the sequence must be all
bipolar (ranges 0 to 3) or all unipolar (ranges 4 to 6). The channel
sequence must consist of 1 or more identical subsequences. Within the
subsequence, channels must be in ascending order with no repeated
channels. For example, the following sequences are valid: 0 1 2 3
(single valid subsequence), 0 2 3 5 0 2 3 5 (repeated valid
subsequence), 1 1 1 1 (repeated valid subsequence). The following
sequences are invalid: 0 3 2 1 (invalid subsequence), 0 2 3 5 0 2 3
(incompletely repeated subsequence). Some versions of the PCI230+ and
PCI260+ have a bug that requires a subsequence longer than one entry
long to include channel 0.
AO Subdevice:
The AO subdevice has 2 channels with 12-bit resolution.
The following output ranges are supported:
0 => [0, 10] V
1 => [-10, +10] V
AO Commands:
+=========+==============+===========+============+==========+
|start_src|scan_begin_src|convert_src|scan_end_src| stop_src |
+=========+==============+===========+============+==========+
|TRIG_INT | TRIG_TIMER(1)| TRIG_NOW | TRIG_COUNT |TRIG_NONE |
| | TRIG_EXT(2) | | |TRIG_COUNT|
| | TRIG_INT | | | |
+---------+--------------+-----------+------------+----------+
Note 1: If AI command and AO command are used simultaneously, only
one may have scan_begin_src == TRIG_TIMER.
Note 2: scan_begin_src == TRIG_EXT is only supported if the card is
configured as a PCI230+ and is only supported on later
versions of the card. As a card configured as a PCI230+ is
not guaranteed to support external triggering, please consider
this support to be a bonus. It uses the EXTTRIG/ EXTCONVCLK
input (PCI230+ pin 25). Triggering will be on the rising edge
unless the CR_INVERT flag is set in scan_begin_arg.
The channels in the channel sequence must be in ascending order with
no repeats. All entries in the channel sequence must use the same
output range.
DIO Subdevice:
The DIO subdevice is a 8255 chip providing 24 DIO channels. The DIO
channels are configurable as inputs or outputs in four groups:
Port A - channels 0 to 7
Port B - channels 8 to 15
Port CL - channels 16 to 19
Port CH - channels 20 to 23
Only mode 0 of the 8255 chip is supported.
Bit 0 of port C (DIO channel 16) is also used as an external scan
trigger input for AI commands on PCI230 and PCI230+, so would need to
be configured as an input to use it for that purpose.
Author: Dan Block
Status: unknown
| Manufacturer | Device | Name |
|---|---|---|
| Mechatronic Systems Inc. | C6x_DIGIO DSP daughter card | c6xdigio |
This driver will not work with a 2.4 kernel.
Author: ds
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| ComputerBoards | PC-CARD DAS16/16 | cb_das16_cs |
| ComputerBoards | PC-CARD DAS16/16-AO | cb_das16_cs |
Author: Frank Mori Hess <fmhess@users.sourceforge.net>
Status: works
| 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-DAS6013 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6014 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6023 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6025 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6030 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6031 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6032 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6033 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6034 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6035 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6036 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6040 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6052 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6070 | cb_pcidas64 |
| Measurement Computing | PCI-DAS6071 | cb_pcidas64 |
| Measurement Computing | PCI-DAS4020/12 | cb_pcidas64 |
Configuration options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) These boards may be autocalibrated with the comedi_calibrate utility. To select the bnc trigger input on the 4020 (instead of the dio input), specify a nonzero channel in the chanspec. If you wish to use an external master clock on the 4020, you may do so by setting the scan_begin_src to TRIG_OTHER, and using an INSN_CONFIG_TIMER_1 configuration insn to configure the divisor to use for the external clock. Some devices are not identified because the PCI device IDs are not yet known. If you have such a board, please file a bug report at
Author: Ivan Martinez <imr@oersted.dtu.dk>, Frank Mori Hess <fmhess@users.sourceforge.net>, Brice Dubost <braice@braice.net>
Status: There are many reports of the driver being used with most of the supported cards. Despite no detailed log is maintained, it can be said that the driver is quite tested and stable.
| 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 may be autocalibrated using the comedi_calibrate
utility.
Configuration options:
[0] - PCI bus of device (optional)
[1] - PCI slot of device (optional)
If bus/slot is not specified, the first supported
PCI device found 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.
AI Triggering:
For start_src == TRIG_EXT, the A/D EXTERNAL TRIGGER IN (pin 45) is used.
For 1602 series, the start_arg is interpreted as follows:
start_arg == 0 => gated triger (level high)
start_arg == CR_INVERT => gated triger (level low)
start_arg == CR_EDGE => Rising edge
start_arg == CR_EDGE | CR_INVERT => Falling edge
For the other boards the trigger will be done on rising edge
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 success/failure with other different cards to <comedi@comedi.org>.
Author: Yoshiya Matsuzaka
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| Measurement Computing | PCI-DIO24 | cb_pcidio |
| Measurement Computing | PCI-DIO24H | cb_pcidio |
| Measurement Computing | PCI-DIO48H | cb_pcidio |
This driver has been modified from skel.c of comedi-0.7.70. 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. Passing a zero for an option is the same as leaving it unspecified.
Author: Richard Bytheway
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| ComputerBoards | PCIM-DAS1602/16 | cb_pcimdas |
Written to support the PCIM-DAS1602/16 on a 2.4 series kernel.
Configuration Options:
[0] - PCI bus number
[1] - PCI slot number
Developed from cb_pcidas and skel by Richard Bytheway (mocelet@sucs.org).
Only supports DIO, AO and simple AI in it's present form.
No interrupts, multi channel or FIFO AI, although the card looks like it could support this.
See http://www.measurementcomputing.com/PDFManuals/pcim-das1602_16.pdf for more details.
Author: Calin Culianu <calin@ajvar.org>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Measurement Computing | PCIM-DDA06-16 | cb_pcimdda |
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:
[0] PCI bus (optional)
[1] PCI slot (optional)
[2] analog output range jumper setting
0 == +/- 5 V
1 == +/- 10 V
Author: ds
Status: works
This driver allows you to 'bond' (merge) multiple comedi subdevices (coming from possibly difference boards and/or drivers) together. For example, if you had a board with 2 different DIO subdevices, and another with 1 DIO subdevice, you could 'bond' them with this driver so that they look like one big fat DIO subdevice. This makes writing applications slightly easier as you don't have to worry about managing different subdevices in the application -- you just worry about indexing one linear array of channel id's. Right now only DIO subdevices are supported as that's the personal itch I am scratching with this driver. If you want to add support for AI and AO subdevs, go right on ahead and do so! Commands aren't supported -- although it would be cool if they were. Configuration Options: List of comedi-minors to bond. All subdevices of the same type within each minor will be concatenated together in the order given here.
Author: ds
Status: works in immediate mode
| Manufacturer | Device | Name |
|---|---|---|
| standard | parallel port | comedi_parport |
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@users.sourceforge.net>, 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
| Manufacturer | Device | Name |
|---|---|---|
| Contec | PIO1616L | contec_pci_dio |
Configuration Options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, the first supported PCI device found will be used.
Author: Anders Blomdell <anders.blomdell@control.lth.se>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| IOTech | DAQBoard/2000 | daqboard2000 |
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 be loaded by comedi_config using the -i option. The initialization code is available from http://www.comedi.org in the comedi_nonfree_firmware tarball. Configuration options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, the first supported PCI device found will be used.
Author: Warren Jasper, ds, Frank Hess
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Keithley Metrabyte | DAS08 | isa-das08 |
| ComputerBoards | DAS08 | isa-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 | 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)
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.
Author: Warren Jasper, ds, Frank Hess
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| ComputerBoards | PCM-DAS08 | pcm-das08 |
This is the PCMCIA-specific support split off from the
das08 driver.
Options (for pcm-das08):
NONE
Command support does not exist, but could be added for this board.
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.
Author: Frank Mori Hess <fmhess@users.sourceforge.net>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Measurement Computing | CIO-DAS16/M1 | cio-das16/m1 |
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@users.sourceforge.net>
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
| Manufacturer | Device | Name |
|---|---|---|
| Keithley Metrabyte | DAS6402 | das6402 |
This driver has suffered bitrot.
Author: Frank Mori Hess <fmhess@users.sourceforge.net>
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: Perry J. Piplani <perry.j.piplani@nasa.gov>
Status: experimental
This driver is for the Diamond Systems MM-32-AT board Configuration Options: comedi_config /dev/comedi0 dmm32at baseaddr,irq
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
| Manufacturer | Device | Name |
|---|---|---|
| Data Translation | DT2811-PGL | dt2811-pgl |
| Data Translation | DT2811-PGH | dt2811-pgh |
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
| Manufacturer | Device | Name |
|---|---|---|
| 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.
Author: ds
Status: mostly complete, untested
| Manufacturer | Device | Name |
|---|---|---|
| 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)
Author: ds
Status: complete
| Manufacturer | Device | Name |
|---|---|---|
| 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
Author: ds
Status: complete
| Manufacturer | Device | Name |
|---|---|---|
| Data Translation | DT2821 | dt2821 |
| Data Translation | DT2821-F-16SE | dt2821-f |
| Data Translation | DT2821-F-8DI | dt2821-f |
| Data Translation | DT2821-G-16SE | dt2821-f |
| Data Translation | DT2821-G-8DI | dt2821-g |
| 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 |
Configuration Options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, the first supported PCI device found will be used. There is code to support AI commands, but it may not work. AO commands are not supported.
Author: anders.blomdell@control.lth.se (Anders Blomdell)
Status: in development
| Manufacturer | Device | Name |
|---|---|---|
| Data Translation | DT9812 | dt9812 |
This driver works, but bulk transfers not implemented. Might be a starting point for someone else. I found out too late that USB has too high latencies (>1 ms) for my needs.
Author: Anders Gnistrup <ex18@kalman.iau.dtu.dk>
Status: unknown
| Manufacturer | Device | Name |
|---|---|---|
| unknown | FL512 | fl512 |
Digital I/O is not supported. Configuration options: [0] - I/O port base address
Author: Frank Mori Hess <fmhess@users.sourceforge.net>
Status: only receive mode works, transmit not supported
| Manufacturer | Device | Name |
|---|---|---|
| General Standards Corporation | PCI-HPDI32 | gsc_hpdi |
| General Standards Corporation | PMC-HPDI32 | gsc_hpdi |
Configuration options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) There are some additional hpdi models available from GSC for which support could be added to this driver.
Author: Anne Smorthit <anne.smorthit@sfwte.ch>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Inova | ICP_MULTI | icp_multi |
The driver works for analog input and output and digital input and output. It does not work with interrupts or with the counters. Currently no support for DMA. It has 16 single-ended or 8 differential Analogue Input channels with 12-bit resolution. Ranges : 5V, 10V, +/-5V, +/-10V, 0..20mA and 4..20mA. Input ranges can be individually programmed for each channel. Voltage or current measurement is selected by jumper. There are 4 x 12-bit Analogue Outputs. Ranges : 5V, 10V, +/-5V, +/-10V 16 x Digital Inputs, 24V 8 x Digital Outputs, 24V, 1A 4 x 16-bit counters
Author: Markus Kempf <kempf@matsci.uni-sb.de>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| Intelligent Instrumentation | PCI-20001C | ii_pci20kc |
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: Anders Blomdell <anders.blomdell@control.lth.se>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| JR3 | PCI force sensor board | jr3_pci |
The DSP on the board requires initialization code, which can
be loaded by placing it in /lib/firmware/comedi.
The initialization code should be somewhere on the media you got
with your card. One version is available from http://www.comedi.org
in the comedi_nonfree_firmware tarball.
Configuration options:
[0] - PCI bus number - if bus number and slot number are 0,
then driver search for first unused card
[1] - PCI slot number
Author: Michael Hillmann
Status: tested
| Manufacturer | Device | Name |
|---|---|---|
| Kolter Electronic | PCI Counter Card | ke_counter |
Configuration Options: [0] - PCI bus of device (optional) [1] - PCI slot of device (optional) If bus/slot is not specified, the first supported PCI device found will be used. This driver is a simple driver to read the counter values from Kolter Electronic PCI Counter Card.
Author: gg (Guenter Gebhardt <g.gebhardt@meilhaus.com>)
Status: broken (no support for loading firmware)
| Manufacturer | Device | Name |
|---|---|---|
| Meilhaus | ME-4650 | me4000 |
| Meilhaus | ME-4670i | me4000 |
| Meilhaus | ME-4680 | me4000 |
| Meilhaus | ME-4680i | me4000 |
| Meilhaus | ME-4680is | me4000 |
- Analog Input
- Analog Output
- Digital I/O
- Counter
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.
The firmware required by these boards is available in the
comedi_nonfree_firmware tarball available from
Author: Michael Hillmann <hillmann@syscongroup.de>
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| Meilhaus | ME-2600i | me_daq |
| Meilhaus | ME-2000i | me_daq |
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.
The 2600 requires a firmware upload, which can be accomplished
using the -i or --init-data option of comedi_config.
The firmware can be
found in the comedi_nonfree_firmware tarball available
from http://www.comedi.org
Author: Stanislaw Raczynski <sraczynski@op.pl>
Status: working
| Manufacturer | Device | Name |
|---|---|---|
| Micro/sys | MPC-624 | mpc624 |
The Micro/sys MPC-624 board is based on the LTC2440 24-bit sigma-delta
ADC chip.
Subdevices supported by the driver:
- Analog In: supported
- Digital I/O: not supported
- LEDs: not supported
- EEPROM: not supported
Configuration Options:
[0] - I/O base address
[1] - convertion rate
Convertion rate RMS noise Effective Number Of Bits
0 3.52kHz 23uV 17
1 1.76kHz 3.5uV 20
2 880Hz 2uV 21.3
3 440Hz 1.4uV 21.8
4 220Hz 1uV 22.4
5 110Hz 750uV 22.9
6 55Hz 510nV 23.4
7 27.5Hz 375nV 24
8 13.75Hz 250nV 24.4
9 6.875Hz 200nV 24.6
[2] - voltage range
0 -1.01V .. +1.01V
1 -10.1V .. +10.1V
Author: ds
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| Motorola | MPC8260 CPM | mpc8260cpm |
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
| Manufacturer | Device | Name |
|---|---|---|
| Quanser Consulting | MultiQ-3 | multiq3 |
Author: ds
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| National Instruments | PCI-6527 | ni6527 |
| National Instruments | PXI-6527 | ni6527 |
Author: Jon Grierson <jd@renko.co.uk>, Frank Mori Hess <fmhess@users.sourceforge.net>
Status: testing
| Manufacturer | Device | Name |
|---|---|---|
| National Instruments | PCI-6509 | ni_65xx |
| National Instruments | PXI-6509 | ni_65xx |
| National Instruments | PCI-6510 | ni_65xx |
| National Instruments | PCI-6511 | ni_65xx |
| National Instruments | PXI-6511 | ni_65xx |
| National Instruments | PCI-6512 | ni_65xx |
| National Instruments | PXI-6512 | ni_65xx |
| National Instruments | PCI-6513 | ni_65xx |
| National Instruments | PXI-6513 | ni_65xx |
| National Instruments | PCI-6514 | ni_65xx |
| National Instruments | PXI-6514 | ni_65xx |
| National Instruments | PCI-6515 | ni_65xx |
| National Instruments | PXI-6515 | ni_65xx |
| National Instruments | PCI-6516 | ni_65xx |
| National Instruments | PCI-6517 | ni_65xx |
| National Instruments | PCI-6518 | ni_65xx |
| National Instruments | PCI-6519 | ni_65xx |
| National Instruments | PCI-6520 | ni_65xx |
| National Instruments | PCI-6521 | ni_65xx |
| National Instruments | PXI-6521 | ni_65xx |
| National Instruments | PCI-6528 | ni_65xx |
| National Instruments | PXI-6528 | ni_65xx |
Based on the PCI-6527 driver by ds. The interrupt subdevice (subdevice 3) is probably broken for all boards except maybe the 6514.
Author: J.P. Mellor <jpmellor@rose-hulman.edu>, Herman.Bruyninckx@mech.kuleuven.ac.be, Wim.Meeussen@mech.kuleuven.ac.be, Klaas.Gadeyne@mech.kuleuven.ac.be, Frank Mori Hess <fmhess@users.sourceforge.net>
Status: experimental
| Manufacturer | Device | Name |
|---|---|---|
| National Instruments | PCI-6601 | ni_660x |
| National Instruments | PCI-6602 | ni_660x |
| National Instruments | PXI-6602 | ni_660x |
| National Instruments | PXI-6608 | ni_660x |
Encoders work. PulseGeneration (both single pulse and pulse train) works. Buffered commands work for input but not output.
Author: Bart Joris <bjoris@advalvas.be>
Status: unknown
| Manufacturer | Device | Name |
|---|---|---|
| National Instruments | PCI-6703 | ni_670x |
| National Instruments | PCI-6704 | ni_670x |
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: should work
| Manufacturer | Device | Name |
|---|---|---|
| National Instruments | AT-AO-6 | at-ao-6 |
| National Instruments | AT-AO-10 | at-ao-10 |
Configuration options: [0] - I/O port base address [1] - IRQ (unused) [2] - DMA (unused) [3] - analog output range, set by jumpers on hardware (0 for -10 to 10V bipolar, 1 for 0V to 10V unipolar)
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: 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 driver has 2.6 kernel isapnp support, and will automatically probe for a supported board if the I/O base is left unspecified with comedi_config. However, many of the isapnp id numbers are unknown. If your board is not recognized, please send the output of 'cat /proc/isapnp' (you may need to modprobe the isa-pnp module for /proc/isapnp to exist) so the id numbers for your board can be added to the driver. Otherwise, you can use the isapnptools package to configure your board. Use isapnp to configure the I/O base and IRQ for the board, and then pass the same values as parameters 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: Fred Brooks <nsaspook@nsaspook.com>, based on ni_daq_dio24 by Daniel Vecino Castel <dvecino@able.es>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| National Instruments | PCMCIA DAQ-Card-700 | ni_daq_700 |
The daqcard-700 appears in Comedi as a single digital I/O subdevice with 16 channels. The channel 0 corresponds to the daqcard-700's output port, bit 0; channel 8 corresponds to the input port, bit 0. Direction configuration: channels 0-7 output, 8-15 input (8225 device emu as port A output, port B input, port C N/A). IRQ is assigned but not used.
Author: Daniel Vecino Castel <dvecino@able.es>
Status: ?
| Manufacturer | Device | Name |
|---|---|---|
| National Instruments | PCMCIA DAQ-Card DIO-24 | ni_daq_dio24 |
This is just a wrapper around the 8255.o driver to properly handle the PCMCIA interface.
Author: Frank Mori Hess <fmhess@users.sourceforge.net>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| National Instruments | Lab-PC-1200 | labpc-1200 |
| National Instruments | Lab-PC-1200AI | labpc-1200ai |
| National Instruments | Lab-PC+ | lab-pc+ |
| National Instruments | PCI-1200 | ni_labpc |
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). Kernel-level ISA plug-and-play support for the lab-pc-1200 boards has not yet been added to the driver, mainly due to the fact that I don't know the device id numbers. If you have one of these boards, please file a bug report at https://bugs.comedi.org/ so I can get the necessary information from you. The 1200 series boards have onboard calibration dacs for correcting analog input/output offsets and gains. The proper settings for these caldacs are stored on the board's eeprom. To read the caldac values from the eeprom and store them into a file that can be then be used by comedilib, use the comedi_calibrate program. 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) The Lab-pc+ has quirky chanlist requirements when scanning multiple channels. Multiple channel scan sequence must start at highest channel, then decrement down to channel 0. The rest of the cards can scan down like lab-pc+ or scan up from channel zero. Chanlists consisting of all one channel are also legal, and allow you to pace conversions in bursts.
Author: Frank Mori Hess <fmhess@users.sourceforge.net>
Status: works
| Manufacturer | Device | Name |
|---|---|---|
| National Instruments | DAQCard-1200 | daqcard-1200 |
Thanks go to Fredrik Lingvall for much testing and perseverance in helping to debug daqcard-1200 support. The 1200 series boards have onboard calibration dacs for correcting analog input/output offsets and gains. The proper settings for these caldacs are stored on the board's eeprom. To read the caldac values from the eeprom and store them into a file that can be then be used by comedilib, use the comedi_calibrate program. Configuration options: none The daqcard-1200 has quirky chanlist requirements when scanning multiple channels. Multiple channel scan sequence must start at highest channel, then decrement down to channel 0. Chanlists consisting of all one channel are also legal, and allow you to pace conversions in bursts.
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 |
| National Instruments | DAQCard-6036E | 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-6533 | ni_pcidio |
| National Instruments | PCI-6534 | 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. The PCI-DIO-32HS/PCI-6533 has a configurable external trigger. Setting scan_begin_arg to 0 or CR_EDGE triggers on the leading edge. Setting scan_begin_arg to CR_INVERT or (CR_EDGE | CR_INVERT) triggers on the trailing edge. This driver could be easily modified to support AT-MIO32HS and AT-MIO96. The PCI-6534 requires a firmware upload after power-up to work, the firmware data and instructions for loading it with comedi_config it are contained in the comedi_nonfree_firmware tarball available from http://www.comedi.org
Author: ds, John Hallen, Frank Mori Hess, Rolf Mueller, Herbert Peremans, Herman Bruyninckx, Terry Barnaby
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-6014 | ni_pcimio |
| National Instruments | PCI-6040E | ni_pcimio |
| National Instruments | PXI-6040E | ni_pcimio |
| National Instruments | PCI-6030E | 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-6220 | ni_pcimio |
| National Instruments | PCI-6221 | ni_pcimio |
| National Instruments | PCI-6224 | ni_pcimio |
| National Instruments | PXI-6224 | ni_pcimio |
| National Instruments | PCI-6225 | ni_pcimio |
| National Instruments | PXI-6225 | ni_pcimio |
| National Instruments | PCI-6229 | ni_pcimio |
| National Instruments | PCI-6250 | ni_pcimio |
| National Instruments | PCI-6251 | ni_pcimio |
| National Instruments | PCIe-6251 | ni_pcimio |
| National Instruments | PXIe-6251 | ni_pcimio |
| National Instruments | PCI-6254 | ni_pcimio |
| National Instruments | PCI-6259 | ni_pcimio |
| National Instruments | PCIe-6259 | ni_pcimio |
| National Instruments | PCI-6280 | ni_pcimio |
| National Instruments | PCI-6281 | ni_pcimio |
| National Instruments | PXI-6281 | ni_pcimio |
| National Instruments | PCI-6284 | ni_pcimio |
| National Instruments | PCI-6289 | ni_pcimio |
| National Instruments | PCI-6711 | ni_pcimio |
| National Instruments | PXI-6711 | ni_pcimio |
| National Instruments | PCI-6713 | ni_pcimio |
| National Instruments | PXI-6713 | ni_pcimio |
| National Instruments | PXI-6071E | ni_pcimio |
| National Instruments | PCI-6070E | 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 |
| National Instruments | PXI-6733 | ni_pcimio |
| National Instruments | PCI-6143 | ni_pcimio |
| National Instruments | PXI-6143 | 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 comedi_calibrate (or comedi_soft_calibrate for m-series) utility. M-Series boards do analog input and analog output calibration entirely in software. The software calibration corrects the analog input for offset, gain and nonlinearity. The analog outputs are corrected for offset and gain. See the comedilib documentation on comedi_get_softcal_converter() for more information. By default, the driver uses DMA to transfer analog input data to memory. When DMA is enabled, not all triggering features are supported. Digital I/O may not work on 673x. Note that the PCI-6143 is a simultaineous sampling device with 8 convertors. With this board all of the convertors perform one simultaineous sample during a scan interval. The period for a scan is used for the convert time in a Comedi cmd. The convert trigger source is normally set to TRIG_NOW by default. The RTSI trigger bus is supported on these cards on subdevice 10. See the comedilib documentation for details. 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. SCXI is probably broken for m-series boards.
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 |
| National Instruments | DAQCard-6036E | 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-6533 | ni_pcidio |
| National Instruments | PCI-6534 | 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. The PCI-DIO-32HS/PCI-6533 has a configurable external trigger. Setting scan_begin_arg to 0 or CR_EDGE triggers on the leading edge. Setting scan_begin_arg to CR_INVERT or (CR_EDGE | CR_INVERT) triggers on the trailing edge. This driver could be easily modified to support AT-MIO32HS and AT-MIO96. The PCI-6534 requires a firmware upload after power-up to work, the firmware data and instructions for loading it with comedi_config it are contained in the comedi_nonfree_firmware tarball available from http://www.comedi.org
Author: ds, John Hallen, Frank Mori Hess, Rolf Mueller, Herbert Peremans, Herman Bruyninckx, Terry Barnaby
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-6014 | ni_pcimio |
| National Instruments | PCI-6040E | ni_pcimio |
| National Instruments | PXI-6040E | ni_pcimio |
| National Instruments | PCI-6030E | 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-6220 | ni_pcimio |
| National Instruments | PCI-6221 | ni_pcimio |
| National Instruments | PCI-6224 | ni_pcimio |
| National Instruments | PXI-6224 | ni_pcimio |
| National Instruments | PCI-6225 | ni_pcimio |
| National Instruments | PXI-6225 | ni_pcimio |
| National Instruments | PCI-6229 | ni_pcimio |
| National Instruments | PCI-6250 | ni_pcimio |
| National Instruments | PCI-6251 | ni_pcimio |
| National Instruments | PCIe-6251 | ni_pcimio |
| National Instruments | PXIe-6251 | ni_pcimio |
| National Instruments | PCI-6254 | ni_pcimio |
| National Instruments | PCI-6259 | ni_pcimio |
| National Instruments | PCIe-6259 | ni_pcimio |
| National Instruments | PCI-6280 | ni_pcimio |
| National Instruments | PCI-6281 | ni_pcimio |
| National Instruments | PXI-6281 | ni_pcimio |
| National Instruments | PCI-6284 | ni_pcimio |
| National Instruments | PCI-6289 | ni_pcimio |
| National Instruments | PCI-6711 | ni_pcimio |
| National Instruments | PXI-6711 | ni_pcimio |
| National Instruments | PCI-6713 | ni_pcimio |
| National Instruments | PXI-6713 | ni_pcimio |
| National Instruments | PXI-6071E | ni_pcimio |
| National Instruments | PCI-6070E | 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 |
| National Instruments | PXI-6733 | ni_pcimio |
| National Instruments | PCI-6143 | ni_pcimio |
| National Instruments | PXI-6143 | 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 comedi_calibrate (or comedi_soft_calibrate for m-series) utility. M-Series boards do analog input and analog output calibration entirely in software. The software calibration corrects the analog input for offset, gain and nonlinearity. The analog outputs are corrected for offset and gain. See the comedilib documentation on comedi_get_softcal_converter() for more information. By default, the driver uses DMA to transfer analog input data to memory. When DMA is enabled, not all triggering features are supported. Digital I/O may not work on 673x. Note that the PCI-6143 is a simultaineous sampling device with 8 convertors. With this board all of the convertors perform one simultaineous sample during a scan interval. The period for a scan is used for the convert time in a Comedi cmd. The convert trigger source is normally set to TRIG_NOW by default. The RTSI trigger bus is supported on these cards on subdevice 10. See the comedilib documentation for details. 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. SCXI is probably broken for m-series boards.
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 |
| National Instruments | DAQCard-6036E | 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-6533 | ni_pcidio |
| National Instruments | PCI-6534 | 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. The PCI-DIO-32HS/PCI-6533 has a configurable external trigger. Setting scan_begin_arg to 0 or CR_EDGE triggers on the leading edge. Setting scan_begin_arg to CR_INVERT or (CR_EDGE | CR_INVERT) triggers on the trailing edge. This driver could be easily modified to support AT-MIO32HS and AT-MIO96. The PCI-6534 requires a firmware upload after power-up to work, the firmware data and instructions for loading it with comedi_config it are contained in the comedi_nonfree_firmware tarball available from http://www.comedi.org
Author: ds, John Hallen, Frank Mori Hess, Rolf Mueller, Herbert Peremans, Herman Bruyninckx, Terry Barnaby
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-6014 | ni_pcimio |
| National Instruments | PCI-6040E | ni_pcimio |
| National Instruments | PXI-6040E | ni_pcimio |
| National Instruments | PCI-6030E | 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-6220 | ni_pcimio |
| National Instruments | PCI-6221 | ni_pcimio |
| National Instruments | PCI-6224 | ni_pcimio |
| National Instruments | PXI-6224 | ni_pcimio |
| National Instruments | PCI-6225 | ni_pcimio |
| National Instruments | PXI-6225 | ni_pcimio |
| National Instruments | PCI-6229 | ni_pcimio |
| National Instruments | PCI-6250 | ni_pcimio |
| National Instruments | PCI-6251 | ni_pcimio |
| National Instruments | PCIe-6251 | ni_pcimio |
| National Instruments | PXIe-6251 | ni_pcimio |
| National Instruments | PCI-6254 | ni_pcimio |
| National Instruments | PCI-6259 | ni_pcimio |
| National Instruments | PCIe-6259 | ni_pcimio |
| National Instruments | PCI-6280 | ni_pcimio |
| National Instruments | PCI-6281 | ni_pcimio |
| National Instruments | PXI-6281 | ni_pcimio |
| National Instruments | PCI-6284 | ni_pcimio |
| National Instruments | PCI-6289 | ni_pcimio |
| National Instruments | PCI-6711 | ni_pcimio |
| National Instruments | PXI-6711 | ni_pcimio |
| National Instruments | PCI-6713 | ni_pcimio |
| National Instruments | PXI-6713 | ni_pcimio |
| National Instruments | PXI-6071E | ni_pcimio |
| National Instruments | PCI-6070E | 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 |
| National Instruments | PXI-6733 | ni_pcimio |
| National Instruments | PCI-6143 | ni_pcimio |
| National Instruments | PXI-6143 | 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 comedi_calibrate (or comedi_soft_calibrate for m-series) utility. M-Series boards do analog input and analog output calibration entirely in software. The software calibration corrects the analog input for offset, gain and nonlinearity. The analog outputs are corrected for offset and gain. See the comedilib documentation on comedi_get_softcal_converter() for more information. By default, the driver uses DMA to transfer analog input data to memory. When DMA is enabled, not all triggering features are supported. Digital I/O may not work on 673x. Note that the PCI-6143 is a simultaineous sampling device with 8 convertors. With this board all of the convertors perform one simultaineous sample during a scan interval. The period for a scan is used for the convert time in a Comedi cmd. The convert trigger source is normally set to TRIG_NOW by default. The RTSI trigger bus is supported on these cards on subdevice 10. See the comedilib documentation for details. 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. SCXI is probably broken for m-series boards.
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 |
| National Instruments | DAQCard-6036E | 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-6533 | ni_pcidio |
| National Instruments | PCI-6534 | 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. The PCI-DIO-32HS/PCI-6533 has a configurable external trigger. Setting scan_begin_arg to 0 or CR_EDGE triggers on the leading edge. Setting scan_begin_arg to CR_INVERT or (CR_EDGE | CR_INVERT) triggers on the trailing edge. This driver could be easily modified to support AT-MIO32HS and AT-MIO96. The PCI-6534 requires a firmware upload after power-up to work, the firmware data and instructions for loading it with comedi_config it are contained in the comedi_nonfree_firmware tarball available from http://www.comedi.org
Author: ds, John Hallen, Frank Mori Hess, Rolf Mueller, Herbert Peremans, Herman Bruyninckx, Terry Barnaby
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-6014 | ni_pcimio |
| National Instruments | PCI-6040E | ni_pcimio |
| National Instruments | PXI-6040E | ni_pcimio |
| National Instruments | PCI-6030E | 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-6220 | ni_pcimio |
| National Instruments | PCI-6221 | ni_pcimio |
| National Instruments | PCI-6224 | ni_pcimio |
| National Instruments | PXI-6224 | ni_pcimio |
| National Instruments | PCI-6225 | ni_pcimio |
| National Instruments | PXI-6225 | ni_pcimio |
| National Instruments | PCI-6229 | ni_pcimio |
| National Instruments | PCI-6250 | ni_pcimio |
| National Instruments | PCI-6251 | ni_pcimio |
| National Instruments | PCIe-6251 | ni_pcimio |
| National Instruments | PXIe-6251 | ni_pcimio |
| National Instruments | PCI-6254 | ni_pcimio |
| National Instruments | PCI-6259 | ni_pcimio |
| National Instruments | PCIe-6259 | ni_pcimio |
| National Instruments | PCI-6280 | ni_pcimio |
| National Instruments | PCI-6281 | ni_pcimio |
| National Instruments | PXI-6281 | ni_pcimio |
| National Instruments | PCI-6284 | ni_pcimio |
| National Instruments | PCI-6289 | ni_pcimio |
| National Instruments | PCI-6711 | ni_pcimio |
| National Instruments | PXI-6711 | ni_pcimio |
| National Instruments | PCI-6713 | ni_pcimio |
| National Instruments | PXI-6713 | ni_pcimio |
| National Instruments | PXI-6071E | ni_pcimio |
| National Instruments | PCI-6070E | 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 |
| National Instruments | PXI-6733 | ni_pcimio |
| National Instruments | PCI-6143 | ni_pcimio |
| National Instruments | PXI-6143 | 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 comedi_calibrate (or comedi_soft_calibrate for m-series) utility. M-Series boards do analog input and analog output calibration entirely in software. The software calibration corrects the analog input for offset, gain and nonlinearity. The analog outputs are corrected for offset and gain. See the comedilib documentation on comedi_get_softcal_converter() for more information. By default, the driver uses DMA to transfer analog input data to memory. When DMA is enabled, not all triggering features are supported. Digital I/O may not work on 673x. Note that the PCI-6143 is a simultaineous sampling device with 8 convertors. With this board all of the convertors perform one simultaineous sample during a scan interval. The period for a scan is used for the convert time in a Comedi cmd. The convert trigger source is normally set to TRIG_NOW by default. The RTSI trigger bus is