2 Description: generic 8255 support
3 Devices: [standard] 8255 (8255)
6 Updated: Fri, 7 Jun 2002 12:56:45 -0700
8 The classic in digital I/O. The 8255 appears in Comedi as a single
9 digital I/O subdevice with 24 channels. The channel 0 corresponds
10 to the 8255's port A, bit 0; channel 23 corresponds to port C, bit
11 7. Direction configuration is done in blocks, with channels 0-7,
12 8-15, 16-19, and 20-23 making up the 4 blocks. The only 8255 mode
15 You should enable compilation this driver if you plan to use a board
16 that has an 8255 chip. For multifunction boards, the main driver will
17 configure the 8255 subdevice automatically.
19 This driver also works independently with ISA and PCI cards that
20 directly map the 8255 registers to I/O ports, including cards with
21 multiple 8255 chips. To configure the driver for such a card, the
22 option list should be a list of the I/O port bases for each of the
23 8255 chips. For example,
25 comedi_config /dev/comedi0 8255 0x200,0x204,0x208,0x20c
27 Note that most PCI 8255 boards do NOT work with this driver, and
28 need a separate driver as a wrapper. For those that do work, the
29 I/O port base address can be found in the output of 'lspci -v'.
35 Description: Adlink NuDAQ ACL-7225b & compatibles
36 Author: José Luis Sánchez (jsanchezv@teleline.es)
38 Devices: [Adlink] ACL-7225b (acl7225b), [ICP] P16R16DIO (p16r16dio)
43 Description: ADLink PCI-6208A
44 Devices: [ADLink] PCI-6208A (adl_pci6208)
45 Author: nsyeow <nsyeow@pd.jaring.my>
46 Updated: Fri, 30 Jan 2004 14:44:27 +0800
49 Configuration Options:
54 - adl_pci9111.c copied the entire pci setup section
60 Description: Driver for the Adlink PCI-7230 32 ch. isolated digital io board
61 Devices: [ADLink] PCI-7230 (adl_pci7230)
62 Author: David Fernandez <dfcastelao@gmail.com>
64 Updated: Mon, 14 Apr 2008 15:08:14 +0100
66 Configuration Options:
67 [0] - PCI bus of device (optional)
68 [1] - PCI slot of device (optional)
69 If bus/slot is not specified, the first supported
70 PCI device found will be used.
75 Description: Driver for the Adlink PCI-7296 96 ch. digital io board
76 Devices: [ADLink] PCI-7296 (adl_pci7296)
77 Author: Jon Grierson <jd@renko.co.uk>
78 Updated: Mon, 14 Apr 2008 15:05:56 +0100
81 Configuration Options:
82 [0] - PCI bus of device (optional)
83 [1] - PCI slot of device (optional)
84 If bus/slot is not specified, the first supported
85 PCI device found will be used.
90 Description: Driver for the Adlink PCI-7432 64 ch. isolated digital io board
91 Devices: [ADLink] PCI-7432 (adl_pci7432)
92 Author: Michel Lachaine <mike@mikelachaine.ca>
94 Updated: Mon, 14 Apr 2008 15:08:14 +0100
96 Configuration Options:
97 [0] - PCI bus of device (optional)
98 [1] - PCI slot of device (optional)
99 If bus/slot is not specified, the first supported
100 PCI device found will be used.
105 Description: Driver for the Adlink PCI-8164 4 Axes Motion Control board
106 Devices: [ADLink] PCI-8164 (adl_pci8164)
107 Author: Michel Lachaine <mike@mikelachaine.ca>
109 Updated: Mon, 14 Apr 2008 15:10:32 +0100
111 Configuration Options:
112 [0] - PCI bus of device (optional)
113 [1] - PCI slot of device (optional)
114 If bus/slot is not specified, the first supported
115 PCI device found will be used.
120 Description: Adlink PCI-9111HR
121 Author: Emmanuel Pacaud <emmanuel.pacaud@univ-poitiers.fr>
122 Devices: [ADLink] PCI-9111HR (adl_pci9111)
131 - ai_do_cmd mode with the following sources:
134 - scan_begin_src TRIG_FOLLOW TRIG_TIMER TRIG_EXT
135 - convert_src TRIG_TIMER TRIG_EXT
136 - scan_end_src TRIG_COUNT
137 - stop_src TRIG_COUNT TRIG_NONE
139 The scanned channels must be consecutive and start from 0. They must
140 all have the same range and aref.
142 Configuration options:
144 [0] - PCI bus number (optional)
145 [1] - PCI slot number (optional)
147 If bus/slot is not specified, the first available PCI
154 Description: Adlink PCI-9118DG, PCI-9118HG, PCI-9118HR
155 Author: Michal Dobes <dobes@tesnet.cz>
156 Devices: [ADLink] PCI-9118DG (pci9118dg), PCI-9118HG (pci9118hg),
157 PCI-9118HR (pci9118hr)
160 This driver supports AI, AO, DI and DO subdevices.
161 AI subdevice supports cmd and insn interface,
162 other subdevices support only insn interface.
164 - If cmd->scan_begin_src=TRIG_EXT then trigger input is TGIN (pin 46).
165 - If cmd->convert_src=TRIG_EXT then trigger input is EXTTRG (pin 44).
166 - If cmd->start_src/stop_src=TRIG_EXT then trigger input is TGIN (pin 46).
167 - It is not neccessary to have cmd.scan_end_arg=cmd.chanlist_len but
168 cmd.scan_end_arg modulo cmd.chanlist_len must by 0.
169 - If return value of cmdtest is 5 then you've bad channel list
170 (it isn't possible mixture S.E. and DIFF inputs or bipolar and unipolar
173 There are some hardware limitations:
174 a) You cann't use mixture of unipolar/bipoar ranges or differencial/single
176 b) DMA transfers must have the length aligned to two samples (32 bit),
177 so there is some problems if cmd->chanlist_len is odd. This driver tries
178 bypass this with adding one sample to the end of the every scan and discard
179 it on output but this cann't be used if cmd->scan_begin_src=TRIG_FOLLOW
180 and is used flag TRIG_WAKE_EOS, then driver switch to interrupt driven mode
181 with interrupt after every sample.
182 c) If isn't used DMA then you can use only mode where
183 cmd->scan_begin_src=TRIG_FOLLOW.
185 Configuration options:
186 [0] - PCI bus of device (optional)
187 [1] - PCI slot of device (optional)
188 If bus/slot is not specified, then first available PCI
190 [2] - 0= standard 8 DIFF/16 SE channels configuration
191 n= external multiplexer connected, 1<=n<=256
192 [3] - 0=autoselect DMA or EOC interrupts operation
194 3=disable DMA and INT, only insn interface will work
195 [4] - sample&hold signal - card can generate signal for external S&H board
196 0=use SSHO (pin 45) signal is generated in onboard hardware S&H logic
197 0!=use ADCHN7 (pin 23) signal is generated from driver, number
198 say how long delay is requested in ns and sign polarity of the hold
199 (in this case external multiplexor can serve only 128 channels)
200 [5] - 0=stop measure on all hardware errors
201 2|=ignore ADOR - A/D Overrun status
202 8|=ignore Bover - A/D Burst Mode Overrun status
203 256|=ignore nFull - A/D FIFO Full status
209 Description: driver for MicroAxial ADQ12-B data acquisition and control card
210 Devices: [MicroAxial] ADQ12-B (adq12b)
211 Author: jeremy theler <thelerg@ib.cnea.gov.ar>
212 Updated: Thu, 21 Feb 2008 02:56:27 -0300
215 Driver for the acquisition card ADQ12-B (without any add-on).
217 - Analog input is subdevice 0 (16 channels single-ended or 8 differential)
218 - Digital input is subdevice 1 (5 channels)
219 - Digital output is subdevice 1 (8 channels)
220 - The PACER is not supported in this version
222 If you do not specify any options, they will default to
224 # comedi_config /dev/comedi0 adq12b 0x300,0,0
226 option 1: I/O base address. The following table is provided as a help
227 of the hardware jumpers.
230 0x300 1 (factory default)
237 option 2: unipolar/bipolar ADC selection: 0 -> bipolar, 1 -> unipolar
239 selection comedi_config option JUB
240 bipolar 0 2-3 (factory default)
243 option 3: single-ended/differential AI selection: 0 -> SE, 1 -> differential
245 selection comedi_config option JCHA JCHB
246 single-ended 0 1-2 1-2 (factory default)
247 differential 1 2-3 2-3
250 written by jeremy theler <thelerg@ib.cnea.gov.ar>
253 comision nacional de energia atomica
254 universidad nacional de cuyo
258 + changed supported devices string (missused the [] and ())
268 Description: Advantech PCI-1710, PCI-1710HG, PCI-1711, PCI-1713,
269 Advantech PCI-1720, PCI-1731
270 Author: Michal Dobes <dobes@tesnet.cz>
271 Devices: [Advantech] PCI-1710 (adv_pci1710), PCI-1710HG (pci1710hg),
272 PCI-1711 (adv_pci1710), PCI-1713, PCI-1720,
276 This driver supports AI, AO, DI and DO subdevices.
277 AI subdevice supports cmd and insn interface,
278 other subdevices support only insn interface.
280 The PCI-1710 and PCI-1710HG have the same PCI device ID, so the
281 driver cannot distinguish between them, as would be normal for a
284 Configuration options:
285 [0] - PCI bus of device (optional)
286 [1] - PCI slot of device (optional)
287 If bus/slot is not specified, the first available PCI
293 Description: Advantech PCI-1723
294 Author: yonggang <rsmgnu@gmail.com>, Ian Abbott <abbotti@mev.co.uk>
295 Devices: [Advantech] PCI-1723 (adv_pci1723)
296 Updated: Mon, 14 Apr 2008 15:12:56 +0100
299 Configuration Options:
300 [0] - PCI bus of device (optional)
301 [1] - PCI slot of device (optional)
303 If bus/slot is not specified, the first supported
304 PCI device found will be used.
306 Subdevice 0 is 8-channel AO, 16-bit, range +/- 10 V.
308 Subdevice 1 is 16-channel DIO. The channels are configurable as input or
309 output in 2 groups (0 to 7, 8 to 15). Configuring any channel implicitly
310 configures all channels in the same group.
314 1. Add the two milliamp ranges to the AO subdevice (0 to 20 mA, 4 to 20 mA).
315 2. Read the initial ranges and values of the AO subdevice at start-up instead
316 of reinitializing them.
317 3. Implement calibration.
322 Description: Advantech PCI-1730, PCI-1733, PCI-1734, PCI-1735U,
323 PCI-1736UP, PCI-1750, PCI-1751, PCI-1752, PCI-1753/E,
324 PCI-1754, PCI-1756, PCI-1762
325 Author: Michal Dobes <dobes@tesnet.cz>
326 Devices: [Advantech] PCI-1730 (adv_pci_dio), PCI-1733,
327 PCI-1734, PCI-1735U, PCI-1736UP, PCI-1739U, PCI-1750,
328 PCI-1751, PCI-1752, PCI-1753,
329 PCI-1753+PCI-1753E, PCI-1754, PCI-1756,
332 Updated: Tue, 04 May 2010 13:00:00 +0000
334 This driver supports now only insn interface for DI/DO/DIO.
336 Configuration options:
337 [0] - PCI bus of device (optional)
338 [1] - PCI slot of device (optional)
339 If bus/slot is not specified, the first available PCI
346 Description: Acces I/O Products PC-104 AIO12-8 Analog I/O Board
347 Author: Pablo Mejia <pablo.mejia@cctechnol.com>
349 [Acces I/O] PC-104 AIO12-8
352 Configuration Options:
353 [0] - I/O port base address
357 Only synchronous operations are supported.
363 Description: Acces I/O Products PC-104 IIRO16 Relay And Isolated Input Board
364 Author: Zachary Ware <zach.ware@cctechnol.com>
366 [Acces I/O] PC-104 AIO12-8
369 Configuration Options:
370 [0] - I/O port base address
376 Description: Amplicon 200 Series Digital I/O
377 Author: Ian Abbott <abbotti@mev.co.uk>
378 Devices: [Amplicon] PC212E (pc212e), PC214E (pc214e), PC215E (pc215e),
379 PCI215 (pci215 or amplc_dio200), PC218E (pc218e), PC272E (pc272e),
380 PCI272 (pci272 or amplc_dio200)
381 Updated: Wed, 22 Oct 2008 13:36:02 +0100
384 Configuration options - PC212E, PC214E, PC215E, PC218E, PC272E:
385 [0] - I/O port base address
386 [1] - IRQ (optional, but commands won't work without it)
388 Configuration options - PCI215, PCI272:
389 [0] - PCI bus of device (optional)
390 [1] - PCI slot of device (optional)
391 If bus/slot is not specified, the first available PCI device will
394 Passing a zero for an option is the same as leaving it unspecified.
398 PC218E PC212E PC215E/PCI215
399 ------------- ------------- -------------
402 1 CTR-X2 CTR-Y1 PPI-Y
403 2 CTR-Y1 CTR-Y2 CTR-Z1
404 3 CTR-Y2 CTR-Z1 CTR-Z2
405 4 CTR-Z1 CTR-Z2 INTERRUPT
410 ------------- -------------
415 3 INTERRUPT* INTERRUPT
417 Each PPI is a 8255 chip providing 24 DIO channels. The DIO channels
418 are configurable as inputs or outputs in four groups:
420 Port A - channels 0 to 7
421 Port B - channels 8 to 15
422 Port CL - channels 16 to 19
423 Port CH - channels 20 to 23
425 Only mode 0 of the 8255 chips is supported.
427 Each CTR is a 8254 chip providing 3 16-bit counter channels. Each
428 channel is configured individually with INSN_CONFIG instructions. The
429 specific type of configuration instruction is specified in data[0].
430 Some configuration instructions expect an additional parameter in
431 data[1]; others return a value in data[1]. The following configuration
432 instructions are supported:
434 INSN_CONFIG_SET_COUNTER_MODE. Sets the counter channel's mode and
435 BCD/binary setting specified in data[1].
437 INSN_CONFIG_8254_READ_STATUS. Reads the status register value for the
438 counter channel into data[1].
440 INSN_CONFIG_SET_CLOCK_SRC. Sets the counter channel's clock source as
441 specified in data[1] (this is a hardware-specific value). Not
442 supported on PC214E. For the other boards, valid clock sources are
445 0. CLK n, the counter channel's dedicated CLK input from the SK1
446 connector. (N.B. for other values, the counter channel's CLKn
447 pin on the SK1 connector is an output!)
448 1. Internal 10 MHz clock.
449 2. Internal 1 MHz clock.
450 3. Internal 100 kHz clock.
451 4. Internal 10 kHz clock.
452 5. Internal 1 kHz clock.
453 6. OUT n-1, the output of counter channel n-1 (see note 1 below).
454 7. Ext Clock, the counter chip's dedicated Ext Clock input from
455 the SK1 connector. This pin is shared by all three counter
456 channels on the chip.
458 INSN_CONFIG_GET_CLOCK_SRC. Returns the counter channel's current
459 clock source in data[1]. For internal clock sources, data[2] is set
462 INSN_CONFIG_SET_GATE_SRC. Sets the counter channel's gate source as
463 specified in data[2] (this is a hardware-specific value). Not
464 supported on PC214E. For the other boards, valid gate sources are 0
467 0. VCC (internal +5V d.c.), i.e. gate permanently enabled.
468 1. GND (internal 0V d.c.), i.e. gate permanently disabled.
469 2. GAT n, the counter channel's dedicated GAT input from the SK1
470 connector. (N.B. for other values, the counter channel's GATn
471 pin on the SK1 connector is an output!)
472 3. /OUT n-2, the inverted output of counter channel n-2 (see note
479 INSN_CONFIG_GET_GATE_SRC. Returns the counter channel's current gate
482 Clock and gate interconnection notes:
484 1. Clock source OUT n-1 is the output of the preceding channel on the
485 same counter subdevice if n > 0, or the output of channel 2 on the
486 preceding counter subdevice (see note 3) if n = 0.
488 2. Gate source /OUT n-2 is the inverted output of channel 0 on the
489 same counter subdevice if n = 2, or the inverted output of channel n+1
490 on the preceding counter subdevice (see note 3) if n < 2.
492 3. The counter subdevices are connected in a ring, so the highest
493 counter subdevice precedes the lowest.
495 The 'INTERRUPT' subdevice pretends to be a digital input subdevice. The
496 digital inputs come from the interrupt status register. The number of
497 channels matches the number of interrupt sources. The PC214E does not
498 have an interrupt status register; see notes on 'INTERRUPT SOURCES'
503 PC218E PC212E PC215E/PCI215
504 ------------- ------------- -------------
506 0 CTR-X1-OUT PPI-X-C0 PPI-X-C0
507 1 CTR-X2-OUT PPI-X-C3 PPI-X-C3
508 2 CTR-Y1-OUT CTR-Y1-OUT PPI-Y-C0
509 3 CTR-Y2-OUT CTR-Y2-OUT PPI-Y-C3
510 4 CTR-Z1-OUT CTR-Z1-OUT CTR-Z1-OUT
511 5 CTR-Z2-OUT CTR-Z2-OUT CTR-Z2-OUT
514 ------------- -------------
523 When an interrupt source is enabled in the interrupt source enable
524 register, a rising edge on the source signal latches the corresponding
525 bit to 1 in the interrupt status register.
527 When the interrupt status register value as a whole (actually, just the
528 6 least significant bits) goes from zero to non-zero, the board will
529 generate an interrupt. For level-triggered hardware interrupts (PCI
530 card), the interrupt will remain asserted until the interrupt status
531 register is cleared to zero. For edge-triggered hardware interrupts
532 (ISA card), no further interrupts will occur until the interrupt status
533 register is cleared to zero. To clear a bit to zero in the interrupt
534 status register, the corresponding interrupt source must be disabled
535 in the interrupt source enable register (there is no separate interrupt
538 The PC214E does not have an interrupt source enable register or an
539 interrupt status register; its 'INTERRUPT' subdevice has a single
540 channel and its interrupt source is selected by the position of jumper
545 The driver supports a read streaming acquisition command on the
546 'INTERRUPT' subdevice. The channel list selects the interrupt sources
547 to be enabled. All channels will be sampled together (convert_src ==
548 TRIG_NOW). The scan begins a short time after the hardware interrupt
549 occurs, subject to interrupt latencies (scan_begin_src == TRIG_EXT,
550 scan_begin_arg == 0). The value read from the interrupt status register
551 is packed into a sampl_t value, one bit per requested channel, in the
552 order they appear in the channel list.
557 Description: Amplicon PC36AT, PCI236
558 Author: Ian Abbott <abbotti@mev.co.uk>
559 Devices: [Amplicon] PC36AT (pc36at), PCI236 (pci236 or amplc_pc236)
560 Updated: Wed, 01 Apr 2009 15:41:25 +0100
563 Configuration options - PC36AT:
564 [0] - I/O port base address
567 Configuration options - PCI236:
568 [0] - PCI bus of device (optional)
569 [1] - PCI slot of device (optional)
570 If bus/slot is not specified, the first available PCI device will be
573 The PC36AT ISA board and PCI236 PCI board have a single 8255 appearing
576 Subdevice 1 pretends to be a digital input device, but it always returns
577 0 when read. However, if you run a command with scan_begin_src=TRIG_EXT,
578 a rising edge on port C bit 3 acts as an external trigger, which can be
579 used to wake up tasks. This is like the comedi_parport device, but the
580 only way to physically disable the interrupt on the PC36AT is to remove
581 the IRQ jumper. If no interrupt is connected, then subdevice 1 is
587 Description: Amplicon PC263, PCI263
588 Author: Ian Abbott <abbotti@mev.co.uk>
589 Devices: [Amplicon] PC263 (pc263), PCI263 (pci263 or amplc_pc263)
590 Updated: Wed, 22 Oct 2008 14:10:53 +0100
593 Configuration options - PC263:
594 [0] - I/O port base address
596 Configuration options - PCI263:
597 [0] - PCI bus of device (optional)
598 [1] - PCI slot of device (optional)
599 If bus/slot is not specified, the first available PCI device will be
602 Each board appears as one subdevice, with 16 digital outputs, each
603 connected to a reed-relay. Relay contacts are closed when output is 1.
604 The state of the outputs can be read.
609 Description: Amplicon PCI224, PCI234
610 Author: Ian Abbott <abbotti@mev.co.uk>
611 Devices: [Amplicon] PCI224 (amplc_pci224 or pci224),
612 PCI234 (amplc_pci224 or pci234)
613 Updated: Wed, 22 Oct 2008 12:25:08 +0100
614 Status: works, but see caveats
619 - ao_do_cmd mode with the following sources:
621 - start_src TRIG_INT TRIG_EXT
622 - scan_begin_src TRIG_TIMER TRIG_EXT
623 - convert_src TRIG_NOW
624 - scan_end_src TRIG_COUNT
625 - stop_src TRIG_COUNT TRIG_EXT TRIG_NONE
627 The channel list must contain at least one channel with no repeated
628 channels. The scan end count must equal the number of channels in
631 There is only one external trigger source so only one of start_src,
632 scan_begin_src or stop_src may use TRIG_EXT.
634 Configuration options - PCI224:
635 [0] - PCI bus of device (optional).
636 [1] - PCI slot of device (optional).
637 If bus/slot is not specified, the first available PCI device
639 [2] - Select available ranges according to jumper LK1. All channels
640 are set to the same range:
641 0=Jumper position 1-2 (factory default), 4 software-selectable
642 internal voltage references, giving 4 bipolar and 4 unipolar
644 [-10V,+10V], [-5V,+5V], [-2.5V,+2.5V], [-1.25V,+1.25V],
645 [0,+10V], [0,+5V], [0,+2.5V], [0,1.25V].
646 1=Jumper position 2-3, 1 external voltage reference, giving
647 1 bipolar and 1 unipolar range:
648 [-Vext,+Vext], [0,+Vext].
650 Configuration options - PCI234:
651 [0] - PCI bus of device (optional).
652 [1] - PCI slot of device (optional).
653 If bus/slot is not specified, the first available PCI device
655 [2] - Select internal or external voltage reference according to
656 jumper LK1. This affects all channels:
657 0=Jumper position 1-2 (factory default), Vref=5V internal.
658 1=Jumper position 2-3, Vref=Vext external.
659 [3] - Select channel 0 range according to jumper LK2:
660 0=Jumper position 2-3 (factory default), range [-2*Vref,+2*Vref]
661 (10V bipolar when options[2]=0).
662 1=Jumper position 1-2, range [-Vref,+Vref]
663 (5V bipolar when options[2]=0).
664 [4] - Select channel 1 range according to jumper LK3: cf. options[3].
665 [5] - Select channel 2 range according to jumper LK4: cf. options[3].
666 [6] - Select channel 3 range according to jumper LK5: cf. options[3].
668 Passing a zero for an option is the same as leaving it unspecified.
672 1) All channels on the PCI224 share the same range. Any change to the
673 range as a result of insn_write or a streaming command will affect
674 the output voltages of all channels, including those not specified
675 by the instruction or command.
677 2) For the analog output command, the first scan may be triggered
678 falsely at the start of acquisition. This occurs when the DAC scan
679 trigger source is switched from 'none' to 'timer' (scan_begin_src =
680 TRIG_TIMER) or 'external' (scan_begin_src == TRIG_EXT) at the start
681 of acquisition and the trigger source is at logic level 1 at the
682 time of the switch. This is very likely for TRIG_TIMER. For
683 TRIG_EXT, it depends on the state of the external line and whether
684 the CR_INVERT flag has been set. The remaining scans are triggered
690 Description: Amplicon PCI230, PCI260 Multifunction I/O boards
691 Author: Allan Willcox <allanwillcox@ozemail.com.au>,
692 Steve D Sharples <steve.sharples@nottingham.ac.uk>,
693 Ian Abbott <abbotti@mev.co.uk>
694 Updated: Wed, 22 Oct 2008 12:34:49 +0100
695 Devices: [Amplicon] PCI230 (pci230 or amplc_pci230),
696 PCI230+ (pci230+ or amplc_pci230),
697 PCI260 (pci260 or amplc_pci230), PCI260+ (pci260+ or amplc_pci230)
700 Configuration options:
701 [0] - PCI bus of device (optional).
702 [1] - PCI slot of device (optional).
703 If bus/slot is not specified, the first available PCI device
706 Configuring a "amplc_pci230" will match any supported card and it will
707 choose the best match, picking the "+" models if possible. Configuring
708 a "pci230" will match a PCI230 or PCI230+ card and it will be treated as
709 a PCI230. Configuring a "pci260" will match a PCI260 or PCI260+ card
710 and it will be treated as a PCI260. Configuring a "pci230+" will match
711 a PCI230+ card. Configuring a "pci260+" will match a PCI260+ card.
724 The AI subdevice has 16 single-ended channels or 8 differential
727 The PCI230 and PCI260 cards have 12-bit resolution. The PCI230+ and
728 PCI260+ cards have 16-bit resolution.
730 For differential mode, use inputs 2N and 2N+1 for channel N (e.g. use
731 inputs 14 and 15 for channel 7). If the card is physically a PCI230
732 or PCI260 then it actually uses a "pseudo-differential" mode where the
733 inputs are sampled a few microseconds apart. The PCI230+ and PCI260+
734 use true differential sampling. Another difference is that if the
735 card is physically a PCI230 or PCI260, the inverting input is 2N,
736 whereas for a PCI230+ or PCI260+ the inverting input is 2N+1. So if a
737 PCI230 is physically replaced by a PCI230+ (or a PCI260 with a
738 PCI260+) and differential mode is used, the differential inputs need
739 to be physically swapped on the connector.
741 The following input ranges are supported:
746 3 => [-1.25, +1.25] V
753 +=========+==============+===========+============+==========+
754 |start_src|scan_begin_src|convert_src|scan_end_src| stop_src |
755 +=========+==============+===========+============+==========+
756 |TRIG_NOW | TRIG_FOLLOW |TRIG_TIMER | TRIG_COUNT |TRIG_NONE |
757 |TRIG_INT | |TRIG_EXT(3)| |TRIG_COUNT|
759 | |--------------|-----------| | |
760 | | TRIG_TIMER(1)|TRIG_TIMER | | |
761 | | TRIG_EXT(2) | | | |
763 +---------+--------------+-----------+------------+----------+
765 Note 1: If AI command and AO command are used simultaneously, only
766 one may have scan_begin_src == TRIG_TIMER.
768 Note 2: For PCI230 and PCI230+, scan_begin_src == TRIG_EXT uses
769 DIO channel 16 (pin 49) which will need to be configured as
770 a digital input. For PCI260+, the EXTTRIG/EXTCONVCLK input
771 (pin 17) is used instead. For PCI230, scan_begin_src ==
772 TRIG_EXT is not supported. The trigger is a rising edge
775 Note 3: For convert_src == TRIG_EXT, the EXTTRIG/EXTCONVCLK input
776 (pin 25 on PCI230(+), pin 17 on PCI260(+)) is used. The
777 convert_arg value is interpreted as follows:
779 convert_arg == (CR_EDGE | 0) => rising edge
780 convert_arg == (CR_EDGE | CR_INVERT | 0) => falling edge
781 convert_arg == 0 => falling edge (backwards compatibility)
782 convert_arg == 1 => rising edge (backwards compatibility)
784 All entries in the channel list must use the same analogue reference.
785 If the analogue reference is not AREF_DIFF (not differential) each
786 pair of channel numbers (0 and 1, 2 and 3, etc.) must use the same
787 input range. The input ranges used in the sequence must be all
788 bipolar (ranges 0 to 3) or all unipolar (ranges 4 to 6). The channel
789 sequence must consist of 1 or more identical subsequences. Within the
790 subsequence, channels must be in ascending order with no repeated
791 channels. For example, the following sequences are valid: 0 1 2 3
792 (single valid subsequence), 0 2 3 5 0 2 3 5 (repeated valid
793 subsequence), 1 1 1 1 (repeated valid subsequence). The following
794 sequences are invalid: 0 3 2 1 (invalid subsequence), 0 2 3 5 0 2 3
795 (incompletely repeated subsequence). Some versions of the PCI230+ and
796 PCI260+ have a bug that requires a subsequence longer than one entry
797 long to include channel 0.
801 The AO subdevice has 2 channels with 12-bit resolution.
803 The following output ranges are supported:
810 +=========+==============+===========+============+==========+
811 |start_src|scan_begin_src|convert_src|scan_end_src| stop_src |
812 +=========+==============+===========+============+==========+
813 |TRIG_INT | TRIG_TIMER(1)| TRIG_NOW | TRIG_COUNT |TRIG_NONE |
814 | | TRIG_EXT(2) | | |TRIG_COUNT|
816 +---------+--------------+-----------+------------+----------+
818 Note 1: If AI command and AO command are used simultaneously, only
819 one may have scan_begin_src == TRIG_TIMER.
821 Note 2: scan_begin_src == TRIG_EXT is only supported if the card is
822 configured as a PCI230+ and is only supported on later
823 versions of the card. As a card configured as a PCI230+ is
824 not guaranteed to support external triggering, please consider
825 this support to be a bonus. It uses the EXTTRIG/ EXTCONVCLK
826 input (PCI230+ pin 25). Triggering will be on the rising edge
827 unless the CR_INVERT flag is set in scan_begin_arg.
829 The channels in the channel sequence must be in ascending order with
830 no repeats. All entries in the channel sequence must use the same
835 The DIO subdevice is a 8255 chip providing 24 DIO channels. The DIO
836 channels are configurable as inputs or outputs in four groups:
838 Port A - channels 0 to 7
839 Port B - channels 8 to 15
840 Port CL - channels 16 to 19
841 Port CH - channels 20 to 23
843 Only mode 0 of the 8255 chip is supported.
845 Bit 0 of port C (DIO channel 16) is also used as an external scan
846 trigger input for AI commands on PCI230 and PCI230+, so would need to
847 be configured as an input to use it for that purpose.
852 Description: Mechatronic Systems Inc. C6x_DIGIO DSP daughter card
855 Devices: [Mechatronic Systems Inc.] C6x_DIGIO DSP daughter card (c6xdigio)
856 Updated: Sun Nov 20 20:18:34 EST 2005
858 This driver will not work with a 2.4 kernel.
859 http://robot0.ge.uiuc.edu/~spong/mecha/
865 Description: Computer Boards PC-CARD DAS16/16
866 Devices: [ComputerBoards] PC-CARD DAS16/16 (cb_das16_cs), PC-CARD DAS16/16-AO
868 Updated: Mon, 04 Nov 2002 20:04:21 -0800
876 Description: MeasurementComputing PCI-DAS64xx, 60XX, and 4020 series with the PLX 9080 PCI controller
877 Author: Frank Mori Hess <fmhess@users.sourceforge.net>
880 Devices: [Measurement Computing] PCI-DAS6402/16 (cb_pcidas64),
881 PCI-DAS6402/12, PCI-DAS64/M1/16, PCI-DAS64/M2/16,
882 PCI-DAS64/M3/16, PCI-DAS6402/16/JR, PCI-DAS64/M1/16/JR,
883 PCI-DAS64/M2/16/JR, PCI-DAS64/M3/16/JR, PCI-DAS64/M1/14,
884 PCI-DAS64/M2/14, PCI-DAS64/M3/14, PCI-DAS6013, PCI-DAS6014,
885 PCI-DAS6023, PCI-DAS6025, PCI-DAS6030,
886 PCI-DAS6031, PCI-DAS6032, PCI-DAS6033, PCI-DAS6034,
887 PCI-DAS6035, PCI-DAS6036, PCI-DAS6040, PCI-DAS6052,
888 PCI-DAS6070, PCI-DAS6071, PCI-DAS4020/12
890 Configuration options:
891 [0] - PCI bus of device (optional)
892 [1] - PCI slot of device (optional)
894 These boards may be autocalibrated with the comedi_calibrate utility.
896 To select the bnc trigger input on the 4020 (instead of the dio input),
897 specify a nonzero channel in the chanspec. If you wish to use an external
898 master clock on the 4020, you may do so by setting the scan_begin_src
899 to TRIG_OTHER, and using an INSN_CONFIG_TIMER_1 configuration insn
900 to configure the divisor to use for the external clock.
902 Some devices are not identified because the PCI device IDs are not yet
903 known. If you have such a board, please file a bug report at
904 https://bugs.comedi.org.
910 Description: MeasurementComputing PCI-DAS series with the AMCC S5933 PCI controller
911 Author: Ivan Martinez <imr@oersted.dtu.dk>,
912 Frank Mori Hess <fmhess@users.sourceforge.net>,
913 Brice Dubost <braice@braice.net>
915 Devices: [Measurement Computing] PCI-DAS1602/16 (cb_pcidas),
916 PCI-DAS1602/16jr, PCI-DAS1602/12, PCI-DAS1200, PCI-DAS1200jr,
917 PCI-DAS1000, PCI-DAS1001, PCI_DAS1002
920 There are many reports of the driver being used with most of the
921 supported cards. Despite no detailed log is maintained, it can
922 be said that the driver is quite tested and stable.
924 The boards may be autocalibrated using the comedi_calibrate
927 Configuration options:
928 [0] - PCI bus of device (optional)
929 [1] - PCI slot of device (optional)
930 If bus/slot is not specified, the first supported
931 PCI device found will be used.
933 For commands, the scanned channels must be consecutive
934 (i.e. 4-5-6-7, 2-3-4,...), and must all have the same
938 For start_src == TRIG_EXT, the A/D EXTERNAL TRIGGER IN (pin 45) is used.
939 For 1602 series, the start_arg is interpreted as follows:
940 start_arg == 0 => gated triger (level high)
941 start_arg == CR_INVERT => gated triger (level low)
942 start_arg == CR_EDGE => Rising edge
943 start_arg == CR_EDGE | CR_INVERT => Falling edge
944 For the other boards the trigger will be done on rising edge
949 Description: MeasurementComputing PCI-DDA series
950 Author: Ivan Martinez <ivanmr@altavista.com>, Frank Mori Hess <fmhess@users.sourceforge.net>
951 Status: Supports 08/16, 04/16, 02/16, 08/12, 04/12, and 02/12
952 Devices: [Measurement Computing] PCI-DDA08/12 (cb_pcidda), PCI-DDA04/12,
953 PCI-DDA02/12, PCI-DDA08/16, PCI-DDA04/16, PCI-DDA02/16
955 Configuration options:
956 [0] - PCI bus of device (optional)
957 [1] - PCI slot of device (optional)
958 If bus/slot is not specified, the first available PCI
961 Only simple analog output writing is supported.
963 So far it has only been tested with:
965 Please report success/failure with other different cards to
971 Description: ComputerBoards' DIO boards with PCI interface
972 Devices: [Measurement Computing] PCI-DIO24 (cb_pcidio), PCI-DIO24H, PCI-DIO48H
973 Author: Yoshiya Matsuzaka
974 Updated: Mon, 29 Oct 2007 15:40:47 +0000
977 This driver has been modified from skel.c of comedi-0.7.70.
979 Configuration Options:
980 [0] - PCI bus of device (optional)
981 [1] - PCI slot of device (optional)
982 If bus/slot is not specified, the first available PCI device will
985 Passing a zero for an option is the same as leaving it unspecified.
990 Description: Measurement Computing PCI Migration series boards
991 Devices: [ComputerBoards] PCIM-DAS1602/16 (cb_pcimdas)
992 Author: Richard Bytheway
993 Updated: Wed, 13 Nov 2002 12:34:56 +0000
996 Written to support the PCIM-DAS1602/16 on a 2.4 series kernel.
998 Configuration Options:
1000 [1] - PCI slot number
1002 Developed from cb_pcidas and skel by Richard Bytheway (mocelet@sucs.org).
1003 Only supports DIO, AO and simple AI in it's present form.
1004 No interrupts, multi channel or FIFO AI, although the card looks like it could support this.
1005 See http://www.measurementcomputing.com/PDFManuals/pcim-das1602_16.pdf for more details.
1010 Description: Measurement Computing PCIM-DDA06-16
1011 Devices: [Measurement Computing] PCIM-DDA06-16 (cb_pcimdda)
1012 Author: Calin Culianu <calin@ajvar.org>
1013 Updated: Mon, 14 Apr 2008 15:15:51 +0100
1016 All features of the PCIM-DDA06-16 board are supported. This board
1017 has 6 16-bit AO channels, and the usual 8255 DIO setup. (24 channels,
1018 configurable in banks of 8 and 4, etc.). This board does not support commands.
1020 The board has a peculiar way of specifying AO gain/range settings -- You have
1021 1 jumper bank on the card, which either makes all 6 AO channels either
1022 5 Volt unipolar, 5V bipolar, 10 Volt unipolar or 10V bipolar.
1024 Since there is absolutely _no_ way to tell in software how this jumper is set
1025 (well, at least according to the rather thin spec. from Measurement Computing
1026 that comes with the board), the driver assumes the jumper is at its factory
1027 default setting of +/-5V.
1029 Also of note is the fact that this board features another jumper, whose
1030 state is also completely invisible to software. It toggles two possible AO
1031 output modes on the board:
1033 - Update Mode: Writing to an AO channel instantaneously updates the actual
1034 signal output by the DAC on the board (this is the factory default).
1035 - Simultaneous XFER Mode: Writing to an AO channel has no effect until
1036 you read from any one of the AO channels. This is useful for loading
1037 all 6 AO values, and then reading from any one of the AO channels on the
1038 device to instantly update all 6 AO values in unison. Useful for some
1039 control apps, I would assume? If your jumper is in this setting, then you
1040 need to issue your comedi_data_write()s to load all the values you want,
1041 then issue one comedi_data_read() on any channel on the AO subdevice
1042 to initiate the simultaneous XFER.
1044 Configuration Options:
1045 [0] PCI bus (optional)
1046 [1] PCI slot (optional)
1047 [2] analog output range jumper setting
1054 Description: A driver to 'bond' (merge) multiple subdevices from multiple devices together as one.
1057 Updated: Mon, 10 Oct 00:18:25 -0500
1060 This driver allows you to 'bond' (merge) multiple comedi subdevices
1061 (coming from possibly difference boards and/or drivers) together. For
1062 example, if you had a board with 2 different DIO subdevices, and
1063 another with 1 DIO subdevice, you could 'bond' them with this driver
1064 so that they look like one big fat DIO subdevice. This makes writing
1065 applications slightly easier as you don't have to worry about managing
1066 different subdevices in the application -- you just worry about
1067 indexing one linear array of channel id's.
1069 Right now only DIO subdevices are supported as that's the personal itch
1070 I am scratching with this driver. If you want to add support for AI and AO
1071 subdevs, go right on ahead and do so!
1073 Commands aren't supported -- although it would be cool if they were.
1075 Configuration Options:
1076 List of comedi-minors to bond. All subdevices of the same type
1077 within each minor will be concatenated together in the order given here.
1081 Driver: comedi_parport
1082 Description: Standard PC parallel port
1084 Status: works in immediate mode
1085 Devices: [standard] parallel port (comedi_parport)
1086 Updated: Tue, 30 Apr 2002 21:11:45 -0700
1088 A cheap and easy way to get a few more digital I/O lines. Steal
1089 additional parallel ports from old computers or your neighbors'
1093 0: I/O port base for the parallel port.
1096 Parallel Port Lines:
1112 13 1 1 printer selected
1116 17 2 3 select printer
1121 Subdevices 0 is digital I/O, subdevice 1 is digital input, and
1122 subdevice 2 is digital output. Unlike other Comedi devices,
1123 subdevice 0 defaults to output.
1125 Pins 13 and 14 are inverted once by Comedi and once by the
1126 hardware, thus cancelling the effect.
1128 Pin 1 is a strobe, thus acts like one. There's no way in software
1129 to change this, at least on a standard parallel port.
1131 Subdevice 3 pretends to be a digital input subdevice, but it always
1132 returns 0 when read. However, if you run a command with
1133 scan_begin_src=TRIG_EXT, it uses pin 10 as a external triggering
1134 pin, which can be used to wake up tasks.
1138 Driver: comedi_rt_timer
1139 Description: Command emulator using real-time tasks
1144 This driver requires RTAI or RTLinux to work correctly. It doesn't
1145 actually drive hardware directly, but calls other drivers and uses
1146 a real-time task to emulate commands for drivers and devices that
1147 are incapable of native commands. Thus, you can get accurately
1148 timed I/O on any device.
1150 Since the timing is all done in software, sampling jitter is much
1151 higher than with a device that has an on-board timer, and maximum
1152 sample rate is much lower.
1154 Configuration options:
1155 [0] - minor number of device you wish to emulate commands for
1156 [1] - subdevice number you wish to emulate commands for
1161 Description: generates fake waveforms
1162 Author: Joachim Wuttke <Joachim.Wuttke@icn.siemens.de>, Frank Mori Hess
1163 <fmhess@users.sourceforge.net>, ds
1166 Updated: Sat, 16 Mar 2002 17:34:48 -0800
1168 This driver is mainly for testing purposes, but can also be used to
1169 generate sample waveforms on systems that don't have data acquisition
1172 Configuration options:
1173 [0] - Amplitude in microvolts for fake waveforms (default 1 volt)
1174 [1] - Period in microseconds for fake waveforms (default 0.1 sec)
1176 Generates a sawtooth wave on channel 0, square wave on channel 1, additional
1177 waveforms could be added to other channels (currently they return flatline
1183 Driver: contec_pci_dio
1184 Description: Contec PIO1616L digital I/O board
1185 Devices: [Contec] PIO1616L (contec_pci_dio)
1186 Author: Stefano Rivoir <s.rivoir@gts.it>
1187 Updated: Wed, 27 Jun 2007 13:00:06 +0100
1190 Configuration Options:
1191 [0] - PCI bus of device (optional)
1192 [1] - PCI slot of device (optional)
1193 If bus/slot is not specified, the first supported
1194 PCI device found will be used.
1198 Driver: daqboard2000
1199 Description: IOTech DAQBoard/2000
1200 Author: Anders Blomdell <anders.blomdell@control.lth.se>
1202 Updated: Mon, 14 Apr 2008 15:28:52 +0100
1203 Devices: [IOTech] DAQBoard/2000 (daqboard2000)
1205 Much of the functionality of this driver was determined from reading
1206 the source code for the Windows driver.
1208 The FPGA on the board requires initialization code, which can
1209 be loaded by comedi_config using the -i
1210 option. The initialization code is available from http://www.comedi.org
1211 in the comedi_nonfree_firmware tarball.
1213 Configuration options:
1214 [0] - PCI bus of device (optional)
1215 [1] - PCI slot of device (optional)
1216 If bus/slot is not specified, the first supported
1217 PCI device found will be used.
1222 Description: DAS-08 compatible boards
1223 Author: Warren Jasper, ds, Frank Hess
1224 Devices: [Keithley Metrabyte] DAS08 (isa-das08), [ComputerBoards] DAS08 (isa-das08),
1225 DAS08-PGM (das08-pgm),
1226 DAS08-PGH (das08-pgh), DAS08-PGL (das08-pgl), DAS08-AOH (das08-aoh),
1227 DAS08-AOL (das08-aol), DAS08-AOM (das08-aom), DAS08/JR-AO (das08/jr-ao),
1228 DAS08/JR-16-AO (das08jr-16-ao), PCI-DAS08 (das08),
1229 PC104-DAS08 (pc104-das08), DAS08/JR/16 (das08jr/16)
1232 This is a rewrite of the das08 and das08jr drivers.
1234 Options (for ISA cards):
1235 [0] - base io address
1237 Options (for pci-das08):
1238 [0] - bus (optional)
1239 [1] = slot (optional)
1241 The das08 driver doesn't support asynchronous commands, since
1242 the cheap das08 hardware doesn't really support them. The
1243 comedi_rt_timer driver can be used to emulate commands for this
1249 Description: DAS-08 PCMCIA boards
1250 Author: Warren Jasper, ds, Frank Hess
1251 Devices: [ComputerBoards] PCM-DAS08 (pcm-das08)
1254 This is the PCMCIA-specific support split off from the
1257 Options (for pcm-das08):
1260 Command support does not exist, but could be added for this board.
1265 Description: DAS16 compatible boards
1266 Author: Sam Moore, Warren Jasper, ds, Chris Baugher, Frank Hess, Roman Fietze
1267 Devices: [Keithley Metrabyte] DAS-16 (das-16), DAS-16G (das-16g),
1268 DAS-16F (das-16f), DAS-1201 (das-1201), DAS-1202 (das-1202),
1269 DAS-1401 (das-1401), DAS-1402 (das-1402), DAS-1601 (das-1601),
1270 DAS-1602 (das-1602),
1271 [ComputerBoards] PC104-DAS16/JR (pc104-das16jr),
1272 PC104-DAS16JR/16 (pc104-das16jr/16),
1273 CIO-DAS16JR/16 (cio-das16jr/16),
1274 CIO-DAS16/JR (cio-das16/jr), CIO-DAS1401/12 (cio-das1401/12),
1275 CIO-DAS1402/12 (cio-das1402/12), CIO-DAS1402/16 (cio-das1402/16),
1276 CIO-DAS1601/12 (cio-das1601/12), CIO-DAS1602/12 (cio-das1602/12),
1277 CIO-DAS1602/16 (cio-das1602/16), CIO-DAS16/330 (cio-das16/330)
1281 A rewrite of the das16 and das1600 drivers.
1283 [0] - base io address
1284 [1] - irq (does nothing, irq is not used anymore)
1285 [2] - dma (optional, required for comedi_command support)
1286 [3] - master clock speed in MHz (optional, 1 or 10, ignored if
1287 board can probe clock, defaults to 1)
1288 [4] - analog input range lowest voltage in microvolts (optional,
1289 only useful if your board does not have software
1291 [5] - analog input range highest voltage in microvolts (optional,
1292 only useful if board does not have software programmable
1294 [6] - analog output range lowest voltage in microvolts (optional)
1295 [7] - analog output range highest voltage in microvolts (optional)
1296 [8] - use timer mode for DMA. Timer mode is needed e.g. for
1297 buggy DMA controllers in NS CS5530A (Geode Companion), and for
1298 'jr' cards that lack a hardware fifo. This option is no
1299 longer needed, since timer mode is _always_ used.
1301 Passing a zero for an option is the same as leaving it unspecified.
1307 Description: CIO-DAS16/M1
1308 Author: Frank Mori Hess <fmhess@users.sourceforge.net>
1309 Devices: [Measurement Computing] CIO-DAS16/M1 (cio-das16/m1)
1312 This driver supports a single board - the CIO-DAS16/M1.
1313 As far as I know, there are no other boards that have
1314 the same register layout. Even the CIO-DAS16/M1/16 is
1315 significantly different.
1317 I was _barely_ able to reach the full 1 MHz capability
1318 of this board, using a hard real-time interrupt
1319 (set the TRIG_RT flag in your comedi_cmd and use
1320 rtlinux or RTAI). The board can't do dma, so the bottleneck is
1321 pulling the data across the ISA bus. I timed the interrupt
1322 handler, and it took my computer ~470 microseconds to pull 512
1323 samples from the board. So at 1 Mhz sampling rate,
1324 expect your CPU to be spending almost all of its
1325 time in the interrupt handler.
1327 This board has some unusual restrictions for its channel/gain list. If the
1328 list has 2 or more channels in it, then two conditions must be satisfied:
1329 (1) - even/odd channels must appear at even/odd indices in the list
1330 (2) - the list must have an even number of entries.
1333 [0] - base io address
1334 [1] - irq (optional, but you probably want it)
1336 irq can be omitted, although the cmd interface will not work without it.
1341 Description: Keithley Metrabyte DAS1800 (& compatibles)
1342 Author: Frank Mori Hess <fmhess@users.sourceforge.net>
1343 Devices: [Keithley Metrabyte] DAS-1701ST (das-1701st),
1344 DAS-1701ST-DA (das-1701st-da), DAS-1701/AO (das-1701ao),
1345 DAS-1702ST (das-1702st), DAS-1702ST-DA (das-1702st-da),
1346 DAS-1702HR (das-1702hr), DAS-1702HR-DA (das-1702hr-da),
1347 DAS-1702/AO (das-1702ao), DAS-1801ST (das-1801st),
1348 DAS-1801ST-DA (das-1801st-da), DAS-1801HC (das-1801hc),
1349 DAS-1801AO (das-1801ao), DAS-1802ST (das-1802st),
1350 DAS-1802ST-DA (das-1802st-da), DAS-1802HR (das-1802hr),
1351 DAS-1802HR-DA (das-1802hr-da), DAS-1802HC (das-1802hc),
1352 DAS-1802AO (das-1802ao)
1355 The waveform analog output on the 'ao' cards is not supported.
1356 If you need it, send me (Frank Hess) an email.
1358 Configuration options:
1359 [0] - I/O port base address
1360 [1] - IRQ (optional, required for timed or externally triggered conversions)
1361 [2] - DMA0 (optional, requires irq)
1362 [3] - DMA1 (optional, requires irq and dma0)
1367 Description: Keithley Metrabyte DAS6402 (& compatibles)
1368 Author: Oystein Svendsen <svendsen@pvv.org>
1370 Devices: [Keithley Metrabyte] DAS6402 (das6402)
1372 This driver has suffered bitrot.
1377 Description: Keithley Metrabyte DAS800 (& compatibles)
1378 Author: Frank Mori Hess <fmhess@users.sourceforge.net>
1379 Devices: [Keithley Metrabyte] DAS-800 (das-800), DAS-801 (das-801),
1381 [Measurement Computing] CIO-DAS800 (cio-das800),
1382 CIO-DAS801 (cio-das801), CIO-DAS802 (cio-das802),
1383 CIO-DAS802/16 (cio-das802/16)
1384 Status: works, cio-das802/16 untested - email me if you have tested it
1386 Configuration options:
1387 [0] - I/O port base address
1388 [1] - IRQ (optional, required for timed or externally triggered conversions)
1391 IRQ can be omitted, although the cmd interface will not work without it.
1393 All entries in the channel/gain list must use the same gain and be
1394 consecutive channels counting upwards in channel number (these are
1395 hardware limitations.)
1397 I've never tested the gain setting stuff since I only have a
1398 DAS-800 board with fixed gain.
1400 The cio-das802/16 does not have a fifo-empty status bit! Therefore
1401 only fifo-half-full transfers are possible with this card.
1406 Description: Diamond Systems mm32at driver.
1408 Author: Perry J. Piplani <perry.j.piplani@nasa.gov>
1409 Updated: Fri Jun 4 09:13:24 CDT 2004
1410 Status: experimental
1412 This driver is for the Diamond Systems MM-32-AT board
1413 http://www.diamondsystems.com/products/diamondmm32at It is being used
1414 on serveral projects inside NASA, without problems so far. For analog
1415 input commands, TRIG_EXT is not yet supported at all..
1417 Configuration Options:
1418 comedi_config /dev/comedi0 dmm32at baseaddr,irq
1423 Description: Data Translation DT2801 series and DT01-EZ
1426 Devices: [Data Translation] DT2801 (dt2801), DT2801-A, DT2801/5716A,
1427 DT2805, DT2805/5716A, DT2808, DT2818, DT2809, DT01-EZ
1429 This driver can autoprobe the type of board.
1431 Configuration options:
1432 [0] - I/O port base address
1434 [2] - A/D reference 0=differential, 1=single-ended
1444 [5] - D/A 1 range (same choices)
1449 Description: Data Translation DT2811
1451 Devices: [Data Translation] DT2811-PGL (dt2811-pgl), DT2811-PGH (dt2811-pgh)
1454 Configuration options:
1455 [0] - I/O port base address
1456 [1] - IRQ, although this is currently unused
1460 2 = pseudo-differential (common reference)
1465 [4] - D/A 0 range (same choices)
1466 [4] - D/A 1 range (same choices)
1471 Description: Data Translation DT2814
1474 Devices: [Data Translation] DT2814 (dt2814)
1476 Configuration options:
1477 [0] - I/O port base address
1480 This card has 16 analog inputs multiplexed onto a 12 bit ADC. There
1481 is a minimally useful onboard clock. The base frequency for the
1482 clock is selected by jumpers, and the clock divider can be selected
1483 via programmed I/O. Unfortunately, the clock divider can only be
1484 a power of 10, from 1 to 10^7, of which only 3 or 4 are useful. In
1485 addition, the clock does not seem to be very accurate.
1490 Description: Data Translation DT2815
1492 Status: mostly complete, untested
1493 Devices: [Data Translation] DT2815 (dt2815)
1495 I'm not sure anyone has ever tested this board. If you have information
1496 contrary, please update.
1498 Configuration options:
1499 [0] - I/O port base base address
1501 [2] - Voltage unipolar/bipolar configuration
1502 0 == unipolar 5V (0V -- +5V)
1503 1 == bipolar 5V (-5V -- +5V)
1504 [3] - Current offset configuration
1505 0 == disabled (0mA -- +32mAV)
1506 1 == enabled (+4mA -- +20mAV)
1507 [4] - Firmware program configuration
1508 0 == program 1 (see manual table 5-4)
1509 1 == program 2 (see manual table 5-4)
1510 2 == program 3 (see manual table 5-4)
1511 3 == program 4 (see manual table 5-4)
1512 [5] - Analog output 0 range configuration
1515 [6] - Analog output 1 range configuration (same options)
1516 [7] - Analog output 2 range configuration (same options)
1517 [8] - Analog output 3 range configuration (same options)
1518 [9] - Analog output 4 range configuration (same options)
1519 [10] - Analog output 5 range configuration (same options)
1520 [11] - Analog output 6 range configuration (same options)
1521 [12] - Analog output 7 range configuration (same options)
1526 Description: Data Translation DT2817
1529 Devices: [Data Translation] DT2817 (dt2817)
1531 A very simple digital I/O card. Four banks of 8 lines, each bank
1532 is configurable for input or output. One wonders why it takes a
1533 50 page manual to describe this thing.
1535 The driver (which, btw, is much less than 50 pages) has 1 subdevice
1536 with 32 channels, configurable in groups of 8.
1538 Configuration options:
1539 [0] - I/O port base base address
1544 Description: Data Translation DT2821 series (including DT-EZ)
1546 Devices: [Data Translation] DT2821 (dt2821),
1547 DT2821-F-16SE (dt2821-f), DT2821-F-8DI (dt2821-f),
1548 DT2821-G-16SE (dt2821-f), DT2821-G-8DI (dt2821-g),
1550 DT2824-PGH (dt2824-pgh), DT2824-PGL (dt2824-pgl), DT2825 (dt2825),
1551 DT2827 (dt2827), DT2828 (dt2828), DT21-EZ (dt21-ez), DT23-EZ (dt23-ez),
1552 DT24-EZ (dt24-ez), DT24-EZ-PGL (dt24-ez-pgl)
1554 Updated: Wed, 22 Aug 2001 17:11:34 -0700
1556 Configuration options:
1557 [0] - I/O port base address
1561 [4] - AI jumpered for 0=single ended, 1=differential
1562 [5] - AI jumpered for 0=straight binary, 1=2's complement
1563 [6] - AO 0 jumpered for 0=straight binary, 1=2's complement
1564 [7] - AO 1 jumpered for 0=straight binary, 1=2's complement
1565 [8] - AI jumpered for 0=[-10,10]V, 1=[0,10], 2=[-5,5], 3=[0,5]
1566 [9] - AO 0 jumpered for 0=[-10,10]V, 1=[0,10], 2=[-5,5], 3=[0,5],
1568 [10]- A0 1 jumpered for 0=[-10,10]V, 1=[0,10], 2=[-5,5], 3=[0,5],
1572 - AO commands might be broken.
1573 - If you try to run a command on both the AI and AO subdevices
1574 simultaneously, bad things will happen. The driver needs to
1575 be fixed to check for this situation and return an error.
1580 Description: Data Translation DT3000 series
1582 Devices: [Data Translation] DT3001 (dt3000), DT3001-PGL, DT3002, DT3003,
1583 DT3003-PGL, DT3004, DT3005, DT3004-200
1584 Updated: Mon, 14 Apr 2008 15:41:24 +0100
1587 Configuration Options:
1588 [0] - PCI bus of device (optional)
1589 [1] - PCI slot of device (optional)
1590 If bus/slot is not specified, the first supported
1591 PCI device found will be used.
1593 There is code to support AI commands, but it may not work.
1595 AO commands are not supported.
1600 Description: Data Translation DT9812 USB module
1601 Author: anders.blomdell@control.lth.se (Anders Blomdell)
1602 Status: in development
1603 Devices: [Data Translation] DT9812 (dt9812)
1604 Updated: Sun Nov 20 20:18:34 EST 2005
1606 This driver works, but bulk transfers not implemented. Might be a starting point
1607 for someone else. I found out too late that USB has too high latencies (>1 ms)
1613 Description: unknown
1614 Author: Anders Gnistrup <ex18@kalman.iau.dtu.dk>
1615 Devices: [unknown] FL512 (fl512)
1618 Digital I/O is not supported.
1620 Configuration options:
1621 [0] - I/O port base address
1626 Description: General Standards Corporation High
1627 Speed Parallel Digital Interface rs485 boards
1628 Author: Frank Mori Hess <fmhess@users.sourceforge.net>
1629 Status: only receive mode works, transmit not supported
1631 Devices: [General Standards Corporation] PCI-HPDI32 (gsc_hpdi),
1634 Configuration options:
1635 [0] - PCI bus of device (optional)
1636 [1] - PCI slot of device (optional)
1638 There are some additional hpdi models available from GSC for which
1639 support could be added to this driver.
1645 Description: Inova ICP_MULTI
1646 Author: Anne Smorthit <anne.smorthit@sfwte.ch>
1647 Devices: [Inova] ICP_MULTI (icp_multi)
1650 The driver works for analog input and output and digital input and output.
1651 It does not work with interrupts or with the counters. Currently no support
1654 It has 16 single-ended or 8 differential Analogue Input channels with 12-bit
1655 resolution. Ranges : 5V, 10V, +/-5V, +/-10V, 0..20mA and 4..20mA. Input
1656 ranges can be individually programmed for each channel. Voltage or current
1657 measurement is selected by jumper.
1659 There are 4 x 12-bit Analogue Outputs. Ranges : 5V, 10V, +/-5V, +/-10V
1661 16 x Digital Inputs, 24V
1663 8 x Digital Outputs, 24V, 1A
1668 [0] - PCI bus number - if bus number and slot number are 0,
1669 then driver search for first unused card
1670 [1] - PCI slot number
1675 Description: Intelligent Instruments PCI-20001C carrier board
1676 Author: Markus Kempf <kempf@matsci.uni-sb.de>
1677 Devices: [Intelligent Instrumentation] PCI-20001C (ii_pci20kc)
1680 Supports the PCI-20001 C-2a Carrier board, and could probably support
1681 the other carrier boards with small modifications. Modules supported
1683 PCI-20006 M-2 16-bit analog output module
1684 PCI-20341 M-1A 16-bit analog input module
1687 0 Board base address
1689 2 first option for module 1
1690 3 second option for module 1
1691 4 first option for module 2
1692 5 second option for module 2
1693 6 first option for module 3
1694 7 second option for module 3
1696 options for PCI-20006M:
1697 first: Analog output channel 0 range configuration
1698 0 bipolar 10 (-10V -- +10V)
1699 1 unipolar 10 (0V -- +10V)
1700 2 bipolar 5 (-5V -- 5V)
1701 second: Analog output channel 1 range configuration
1703 options for PCI-20341M:
1704 first: Analog input gain configuration
1713 Description: JR3/PCI force sensor board
1714 Author: Anders Blomdell <anders.blomdell@control.lth.se>
1716 Devices: [JR3] PCI force sensor board (jr3_pci)
1718 The DSP on the board requires initialization code, which can
1719 be loaded by placing it in /lib/firmware/comedi.
1720 The initialization code should be somewhere on the media you got
1721 with your card. One version is available from http://www.comedi.org
1722 in the comedi_nonfree_firmware tarball.
1724 Configuration options:
1725 [0] - PCI bus number - if bus number and slot number are 0,
1726 then driver search for first unused card
1727 [1] - PCI slot number
1733 Description: Driver for Kolter Electronic Counter Card
1734 Devices: [Kolter Electronic] PCI Counter Card (ke_counter)
1735 Author: Michael Hillmann
1736 Updated: Mon, 14 Apr 2008 15:42:42 +0100
1739 Configuration Options:
1740 [0] - PCI bus of device (optional)
1741 [1] - PCI slot of device (optional)
1742 If bus/slot is not specified, the first supported
1743 PCI device found will be used.
1745 This driver is a simple driver to read the counter values from
1746 Kolter Electronic PCI Counter Card.
1751 Description: Meilhaus ME-4000 series boards
1752 Devices: [Meilhaus] ME-4650 (me4000), ME-4670i, ME-4680, ME-4680i, ME-4680is
1753 Author: gg (Guenter Gebhardt <g.gebhardt@meilhaus.com>)
1754 Updated: Mon, 18 Mar 2002 15:34:01 -0800
1755 Status: broken (no support for loading firmware)
1764 Configuration Options:
1766 [0] - PCI bus number (optional)
1767 [1] - PCI slot number (optional)
1769 If bus/slot is not specified, the first available PCI
1770 device will be used.
1772 The firmware required by these boards is available in the
1773 comedi_nonfree_firmware tarball available from
1774 http://www.comedi.org. However, the driver's support for
1775 loading the firmware through comedi_config is currently
1782 Description: Meilhaus PCI data acquisition cards
1783 Author: Michael Hillmann <hillmann@syscongroup.de>
1784 Devices: [Meilhaus] ME-2600i (me_daq), ME-2000i
1785 Status: experimental
1791 Configuration options:
1793 [0] - PCI bus number (optional)
1794 [1] - PCI slot number (optional)
1796 If bus/slot is not specified, the first available PCI
1797 device will be used.
1799 The 2600 requires a firmware upload, which can be accomplished
1800 using the -i or --init-data option of comedi_config.
1802 found in the comedi_nonfree_firmware tarball available
1803 from http://www.comedi.org
1809 Description: Micro/sys MPC-624 PC/104 board
1810 Devices: [Micro/sys] MPC-624 (mpc624)
1811 Author: Stanislaw Raczynski <sraczynski@op.pl>
1812 Updated: Thu, 15 Sep 2005 12:01:18 +0200
1815 The Micro/sys MPC-624 board is based on the LTC2440 24-bit sigma-delta
1818 Subdevices supported by the driver:
1819 - Analog In: supported
1820 - Digital I/O: not supported
1821 - LEDs: not supported
1822 - EEPROM: not supported
1824 Configuration Options:
1825 [0] - I/O base address
1826 [1] - convertion rate
1827 Convertion rate RMS noise Effective Number Of Bits
1836 8 13.75Hz 250nV 24.4
1837 9 6.875Hz 200nV 24.6
1845 Description: MPC8260 CPM module generic digital I/O lines
1846 Devices: [Motorola] MPC8260 CPM (mpc8260cpm)
1848 Status: experimental
1849 Updated: Sat, 16 Mar 2002 17:34:48 -0800
1851 This driver is specific to the Motorola MPC8260 processor, allowing
1852 you to access the processor's generic digital I/O lines.
1854 It is apparently missing some code.
1859 Description: Quanser Consulting MultiQ-3
1860 Author: Anders Blomdell <anders.blomdell@control.lth.se>
1862 Devices: [Quanser Consulting] MultiQ-3 (multiq3)
1868 Description: National Instruments 6527
1871 Devices: [National Instruments] PCI-6527 (ni6527), PXI-6527
1872 Updated: Sat, 25 Jan 2003 13:24:40 -0800
1879 Description: National Instruments 65xx static dio boards
1880 Author: Jon Grierson <jd@renko.co.uk>, Frank Mori Hess <fmhess@users.sourceforge.net>
1882 Devices: [National Instruments] PCI-6509 (ni_65xx), PXI-6509, PCI-6510, PCI-6511,
1883 PXI-6511, PCI-6512, PXI-6512, PCI-6513, PXI-6513, PCI-6514, PXI-6514, PCI-6515,
1884 PXI-6515, PCI-6516, PCI-6517, PCI-6518, PCI-6519, PCI-6520, PCI-6521, PXI-6521,
1886 Updated: Wed Oct 18 08:59:11 EDT 2006
1888 Based on the PCI-6527 driver by ds.
1889 The interrupt subdevice (subdevice 3) is probably broken for all boards
1890 except maybe the 6514.
1896 Description: National Instruments 660x counter/timer boards
1898 [National Instruments] PCI-6601 (ni_660x), PCI-6602, PXI-6602,
1900 Author: J.P. Mellor <jpmellor@rose-hulman.edu>,
1901 Herman.Bruyninckx@mech.kuleuven.ac.be,
1902 Wim.Meeussen@mech.kuleuven.ac.be,
1903 Klaas.Gadeyne@mech.kuleuven.ac.be,
1904 Frank Mori Hess <fmhess@users.sourceforge.net>
1905 Updated: Thu Oct 18 12:56:06 EDT 2007
1906 Status: experimental
1908 Encoders work. PulseGeneration (both single pulse and pulse train)
1909 works. Buffered commands work for input but not output.
1912 DAQ 660x Register-Level Programmer Manual (NI 370505A-01)
1913 DAQ 6601/6602 User Manual (NI 322137B-01)
1919 Description: National Instruments 670x
1920 Author: Bart Joris <bjoris@advalvas.be>
1921 Updated: Wed, 11 Dec 2002 18:25:35 -0800
1922 Devices: [National Instruments] PCI-6703 (ni_670x), PCI-6704
1925 Commands are not supported.
1930 Description: National Instruments AT-A2150
1931 Author: Frank Mori Hess
1933 Devices: [National Instruments] AT-A2150C (at_a2150c), AT-2150S (at_a2150s)
1935 If you want to ac couple the board's inputs, use AREF_OTHER.
1937 Configuration options:
1938 [0] - I/O port base address
1939 [1] - IRQ (optional, required for timed conversions)
1940 [2] - DMA (optional, required for timed conversions)
1946 Description: National Instruments AT-AO-6/10
1947 Devices: [National Instruments] AT-AO-6 (at-ao-6), AT-AO-10 (at-ao-10)
1950 Updated: Sun Dec 26 12:26:28 EST 2004
1952 Configuration options:
1953 [0] - I/O port base address
1956 [3] - analog output range, set by jumpers on hardware (0 for -10 to 10V bipolar, 1 for 0V to 10V unipolar)
1962 Description: National Instruments AT-MIO-16D
1963 Author: Chris R. Baugher <baugher@enteract.com>
1965 Devices: [National Instruments] AT-MIO-16 (atmio16), AT-MIO-16D (atmio16d)
1970 Description: National Instruments AT-MIO-E series
1972 Devices: [National Instruments] AT-MIO-16E-1 (ni_atmio),
1973 AT-MIO-16E-2, AT-MIO-16E-10, AT-MIO-16DE-10, AT-MIO-64E-3,
1974 AT-MIO-16XE-50, AT-MIO-16XE-10, AT-AI-16XE-10
1976 Updated: Thu May 1 20:03:02 CDT 2003
1978 The driver has 2.6 kernel isapnp support, and
1979 will automatically probe for a supported board if the
1980 I/O base is left unspecified with comedi_config.
1982 the isapnp id numbers are unknown. If your board is not
1983 recognized, please send the output of 'cat /proc/isapnp'
1984 (you may need to modprobe the isa-pnp module for
1985 /proc/isapnp to exist) so the
1986 id numbers for your board can be added to the driver.
1988 Otherwise, you can use the isapnptools package to configure
1989 your board. Use isapnp to
1990 configure the I/O base and IRQ for the board, and then pass
1992 parameters in comedi_config. A sample isapnp.conf file is included
1993 in the etc/ directory of Comedilib.
1995 Comedilib includes a utility to autocalibrate these boards. The
1996 boards seem to boot into a state where the all calibration DACs
1997 are at one extreme of their range, thus the default calibration
1998 is terrible. Calibration at boot is strongly encouraged.
2000 To use the extended digital I/O on some of the boards, enable the
2001 8255 driver when configuring the Comedi source tree.
2003 External triggering is supported for some events. The channel index
2004 (scan_begin_arg, etc.) maps to PFI0 - PFI9.
2006 Some of the more esoteric triggering possibilities of these boards
2012 Description: National Instruments PCMCIA DAQCard-700 DIO only
2013 Author: Fred Brooks <nsaspook@nsaspook.com>,
2014 based on ni_daq_dio24 by Daniel Vecino Castel <dvecino@able.es>
2015 Devices: [National Instruments] PCMCIA DAQ-Card-700 (ni_daq_700)
2017 Updated: Thu, 21 Feb 2008 12:07:20 +0000
2019 The daqcard-700 appears in Comedi as a single digital I/O subdevice with
2020 16 channels. The channel 0 corresponds to the daqcard-700's output
2021 port, bit 0; channel 8 corresponds to the input port, bit 0.
2023 Direction configuration: channels 0-7 output, 8-15 input (8225 device
2024 emu as port A output, port B input, port C N/A).
2026 IRQ is assigned but not used.
2030 Driver: ni_daq_dio24
2031 Description: National Instruments PCMCIA DAQ-Card DIO-24
2032 Author: Daniel Vecino Castel <dvecino@able.es>
2033 Devices: [National Instruments] PCMCIA DAQ-Card DIO-24 (ni_daq_dio24)
2035 Updated: Thu, 07 Nov 2002 21:53:06 -0800
2037 This is just a wrapper around the 8255.o driver to properly handle
2038 the PCMCIA interface.
2043 Description: National Instruments Lab-PC (& compatibles)
2044 Author: Frank Mori Hess <fmhess@users.sourceforge.net>
2045 Devices: [National Instruments] Lab-PC-1200 (labpc-1200),
2046 Lab-PC-1200AI (labpc-1200ai), Lab-PC+ (lab-pc+), PCI-1200 (ni_labpc)
2049 Tested with lab-pc-1200. For the older Lab-PC+, not all input ranges
2050 and analog references will work, the available ranges/arefs will
2051 depend on how you have configured the jumpers on your board
2052 (see your owner's manual).
2054 Kernel-level ISA plug-and-play support for the lab-pc-1200
2056 yet been added to the driver, mainly due to the fact that
2057 I don't know the device id numbers. If you have one
2059 please file a bug report at https://bugs.comedi.org/
2060 so I can get the necessary information from you.
2062 The 1200 series boards have onboard calibration dacs for correcting
2063 analog input/output offsets and gains. The proper settings for these
2064 caldacs are stored on the board's eeprom. To read the caldac values
2065 from the eeprom and store them into a file that can be then be used by
2066 comedilib, use the comedi_calibrate program.
2068 Configuration options - ISA boards:
2069 [0] - I/O port base address
2070 [1] - IRQ (optional, required for timed or externally triggered conversions)
2071 [2] - DMA channel (optional)
2073 Configuration options - PCI boards:
2074 [0] - bus (optional)
2075 [1] - slot (optional)
2077 The Lab-pc+ has quirky chanlist requirements
2078 when scanning multiple channels. Multiple channel scan
2079 sequence must start at highest channel, then decrement down to
2080 channel 0. The rest of the cards can scan down like lab-pc+ or scan
2081 up from channel zero. Chanlists consisting of all one channel
2082 are also legal, and allow you to pace conversions in bursts.
2088 Description: National Instruments Lab-PC (& compatibles)
2089 Author: Frank Mori Hess <fmhess@users.sourceforge.net>
2090 Devices: [National Instruments] DAQCard-1200 (daqcard-1200)
2093 Thanks go to Fredrik Lingvall for much testing and perseverance in
2094 helping to debug daqcard-1200 support.
2096 The 1200 series boards have onboard calibration dacs for correcting
2097 analog input/output offsets and gains. The proper settings for these
2098 caldacs are stored on the board's eeprom. To read the caldac values
2099 from the eeprom and store them into a file that can be then be used by
2100 comedilib, use the comedi_calibrate program.
2102 Configuration options:
2105 The daqcard-1200 has quirky chanlist requirements
2106 when scanning multiple channels. Multiple channel scan
2107 sequence must start at highest channel, then decrement down to
2108 channel 0. Chanlists consisting of all one channel
2109 are also legal, and allow you to pace conversions in bursts.
2115 Description: National Instruments DAQCard E series
2118 Devices: [National Instruments] DAQCard-AI-16XE-50 (ni_mio_cs),
2119 DAQCard-AI-16E-4, DAQCard-6062E, DAQCard-6024E, DAQCard-6036E
2120 Updated: Thu Oct 23 19:43:17 CDT 2003
2122 See the notes in the ni_atmio.o driver.
2127 Description: National Instruments PCI-DIO32HS, PCI-DIO96, PCI-6533, PCI-6503
2130 Devices: [National Instruments] PCI-DIO-32HS (ni_pcidio), PXI-6533,
2131 PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503, PCI-6503B, PCI-6503X,
2132 PXI-6503, PCI-6533, PCI-6534
2133 Updated: Sun, 21 Apr 2002 21:03:38 -0700
2135 The DIO-96 appears as four 8255 subdevices. See the 8255
2136 driver notes for details.
2138 The DIO32HS board appears as one subdevice, with 32 channels.
2139 Each channel is individually I/O configurable. The channel order
2140 is 0=A0, 1=A1, 2=A2, ... 8=B0, 16=C0, 24=D0. The driver only
2141 supports simple digital I/O; no handshaking is supported.
2143 DMA mostly works for the PCI-DIO32HS, but only in timed input mode.
2145 The PCI-DIO-32HS/PCI-6533 has a configurable external trigger. Setting
2146 scan_begin_arg to 0 or CR_EDGE triggers on the leading edge. Setting
2147 scan_begin_arg to CR_INVERT or (CR_EDGE | CR_INVERT) triggers on the
2150 This driver could be easily modified to support AT-MIO32HS and
2153 The PCI-6534 requires a firmware upload after power-up to work, the
2154 firmware data and instructions for loading it with comedi_config
2155 it are contained in the
2156 comedi_nonfree_firmware tarball available from http://www.comedi.org
2161 Description: National Instruments PCI-MIO-E series and M series (all boards)
2162 Author: ds, John Hallen, Frank Mori Hess, Rolf Mueller, Herbert Peremans,
2163 Herman Bruyninckx, Terry Barnaby
2165 Devices: [National Instruments] PCI-MIO-16XE-50 (ni_pcimio),
2166 PCI-MIO-16XE-10, PXI-6030E, PCI-MIO-16E-1, PCI-MIO-16E-4, PCI-6014, PCI-6040E,
2167 PXI-6040E, PCI-6030E, PCI-6031E, PCI-6032E, PCI-6033E, PCI-6071E, PCI-6023E,
2168 PCI-6024E, PCI-6025E, PXI-6025E, PCI-6034E, PCI-6035E, PCI-6052E,
2169 PCI-6110, PCI-6111, PCI-6220, PCI-6221, PCI-6224, PXI-6224,
2170 PCI-6225, PXI-6225, PCI-6229, PCI-6250, PCI-6251, PCIe-6251, PXIe-6251,
2171 PCI-6254, PCI-6259, PCIe-6259,
2172 PCI-6280, PCI-6281, PXI-6281, PCI-6284, PCI-6289,
2173 PCI-6711, PXI-6711, PCI-6713, PXI-6713,
2174 PXI-6071E, PCI-6070E, PXI-6070E,
2175 PXI-6052E, PCI-6036E, PCI-6731, PCI-6733, PXI-6733,
2177 Updated: Tue, 15 Nov 2011 15:10:37 +0000
2179 These boards are almost identical to the AT-MIO E series, except that
2180 they use the PCI bus instead of ISA (i.e., AT). See the notes for
2181 the ni_atmio.o driver for additional information about these boards.
2183 Autocalibration is supported on many of the devices, using the
2184 comedi_calibrate (or comedi_soft_calibrate for m-series) utility.
2185 M-Series boards do analog input and analog output calibration entirely
2186 in software. The software calibration corrects
2187 the analog input for offset, gain and
2188 nonlinearity. The analog outputs are corrected for offset and gain.
2189 See the comedilib documentation on comedi_get_softcal_converter() for
2192 By default, the driver uses DMA to transfer analog input data to
2193 memory. When DMA is enabled, not all triggering features are
2196 Digital I/O may not work on 673x.
2198 Note that the PCI-6143 is a simultaineous sampling device with 8 convertors.
2199 With this board all of the convertors perform one simultaineous sample during
2200 a scan interval. The period for a scan is used for the convert time in a
2201 Comedi cmd. The convert trigger source is normally set to TRIG_NOW by default.
2203 The RTSI trigger bus is supported on these cards on
2204 subdevice 10. See the comedilib documentation for details.
2206 Information (number of channels, bits, etc.) for some devices may be
2207 incorrect. Please check this and submit a bug if there are problems
2210 SCXI is probably broken for m-series boards.
2213 - When DMA is enabled, COMEDI_EV_CONVERT does
2220 Description: National Instruments general purpose counters
2222 Author: J.P. Mellor <jpmellor@rose-hulman.edu>,
2223 Herman.Bruyninckx@mech.kuleuven.ac.be,
2224 Wim.Meeussen@mech.kuleuven.ac.be,
2225 Klaas.Gadeyne@mech.kuleuven.ac.be,
2226 Frank Mori Hess <fmhess@users.sourceforge.net>
2227 Updated: Thu Nov 16 09:50:32 EST 2006
2230 This module is not used directly by end-users. Rather, it
2231 is used by other drivers (for example ni_660x and ni_pcimio)
2232 to provide support for NI's general purpose counters. It was
2233 originally based on the counter code from ni_660x.c and
2237 DAQ 660x Register-Level Programmer Manual (NI 370505A-01)
2238 DAQ 6601/6602 User Manual (NI 322137B-01)
2239 340934b.pdf DAQ-STC reference manual
2245 Description: National Instruments general purpose counters command support
2247 Author: J.P. Mellor <jpmellor@rose-hulman.edu>,
2248 Herman.Bruyninckx@mech.kuleuven.ac.be,
2249 Wim.Meeussen@mech.kuleuven.ac.be,
2250 Klaas.Gadeyne@mech.kuleuven.ac.be,
2251 Frank Mori Hess <fmhess@users.sourceforge.net>
2252 Updated: Fri, 11 Apr 2008 12:32:35 +0100
2255 This module is not used directly by end-users. Rather, it
2256 is used by other drivers (for example ni_660x and ni_pcimio)
2257 to provide command support for NI's general purpose counters.
2258 It was originally split out of ni_tio.c to stop the 'ni_tio'
2259 module depending on the 'mite' module.
2262 DAQ 660x Register-Level Programmer Manual (NI 370505A-01)
2263 DAQ 6601/6602 User Manual (NI 322137B-01)
2264 340934b.pdf DAQ-STC reference manual
2270 Description: Advantech PCL-711 and 711b, ADLink ACL-8112
2271 Author: ds, Janne Jalkanen <jalkanen@cs.hut.fi>, Eric Bunn <ebu@cs.hut.fi>
2272 Status: mostly complete
2273 Devices: [Advantech] PCL-711 (pcl711), PCL-711B (pcl711b),
2274 [AdLink] ACL-8112HG (acl8112hg), ACL-8112DG (acl8112dg)
2276 Since these boards do not have DMA or FIFOs, only immediate mode is
2283 Description: Advantech PCL-724, PCL-722, PCL-731 ADLink ACL-7122, ACL-7124,
2285 Author: Michal Dobes <dobes@tesnet.cz>
2286 Devices: [Advantech] PCL-724 (pcl724), PCL-722 (pcl722), PCL-731 (pcl731),
2287 [ADLink] ACL-7122 (acl7122), ACL-7124 (acl7124), PET-48DIO (pet48dio)
2290 This is driver for digital I/O boards PCL-722/724/731 with 144/24/48 DIO
2291 and for digital I/O boards ACL-7122/7124/PET-48DIO with 144/24/48 DIO.
2292 It need 8255.o for operations and only immediate mode is supported.
2293 See the source for configuration details.
2298 Description: Advantech PCL-725 (& compatibles)
2301 Devices: [Advantech] PCL-725 (pcl725)
2306 Description: Advantech PCL-726 & compatibles
2309 Devices: [Advantech] PCL-726 (pcl726), PCL-727 (pcl727), PCL-728 (pcl728),
2310 [ADLink] ACL-6126 (acl6126), ACL-6128 (acl6128)
2312 Interrupts are not supported.
2314 Options for PCL-726:
2316 [2]...[7] - D/A output range for channel 1-6:
2317 0: 0-5V, 1: 0-10V, 2: +/-5V, 3: +/-10V,
2318 4: 4-20mA, 5: unknown (external reference)
2320 Options for PCL-727:
2322 [2]...[13] - D/A output range for channel 1-12:
2323 0: 0-5V, 1: 0-10V, 2: +/-5V,
2326 Options for PCL-728 and ACL-6128:
2328 [2], [3] - D/A output range for channel 1 and 2:
2329 0: 0-5V, 1: 0-10V, 2: +/-5V, 3: +/-10V,
2330 4: 4-20mA, 5: 0-20mA
2332 Options for ACL-6126:
2334 [1] - IRQ (0=disable, 3, 5, 6, 7, 9, 10, 11, 12, 15) (currently ignored)
2335 [2]...[7] - D/A output range for channel 1-6:
2336 0: 0-5V, 1: 0-10V, 2: +/-5V, 3: +/-10V,
2342 Description: Advantech PCL-730 (& compatibles)
2343 Author: José Luis Sánchez (jsanchezv@teleline.es)
2345 Devices: [Advantech] PCL-730 (pcl730), [ICP] ISO-730 (iso730),
2346 [Adlink] ACL-7130 (acl7130)
2348 Interrupts are not supported.
2349 The ACL-7130 card have an 8254 timer/counter not supported by this driver.
2354 Description: Advantech PCL-812/PG, PCL-813/B,
2355 ADLink ACL-8112DG/HG/PG, ACL-8113, ACL-8216,
2356 ICP DAS A-821PGH/PGL/PGL-NDA, A-822PGH/PGL, A-823PGH/PGL, A-826PG,
2358 Author: Michal Dobes <dobes@tesnet.cz>
2359 Devices: [Advantech] PCL-812 (pcl812), PCL-812PG (pcl812pg),
2360 PCL-813 (pcl813), PCL-813B (pcl813b), [ADLink] ACL-8112DG (acl8112dg),
2361 ACL-8112HG (acl8112hg), ACL-8113 (acl-8113), ACL-8216 (acl8216),
2362 [ICP] ISO-813 (iso813), A-821PGH (a821pgh), A-821PGL (a821pgl),
2363 A-821PGL-NDA (a821pclnda), A-822PGH (a822pgh), A-822PGL (a822pgl),
2364 A-823PGH (a823pgh), A-823PGL (a823pgl), A-826PG (a826pg)
2365 Updated: Mon, 06 Aug 2007 12:03:15 +0100
2366 Status: works (I hope. My board fire up under my hands
2367 and I cann't test all features.)
2369 This driver supports insn and cmd interfaces. Some boards support only insn
2370 becouse their hardware don't allow more (PCL-813/B, ACL-8113, ISO-813).
2371 Data transfer over DMA is supported only when you measure only one
2372 channel, this is too hardware limitation of these boards.
2374 Options for PCL-812:
2376 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7; 10, 11, 12, 14, 15)
2377 [2] - DMA (0=disable, 1, 3)
2378 [3] - 0=trigger source is internal 8253 with 2MHz clock
2379 1=trigger source is external
2380 [4] - 0=A/D input range is +/-10V
2381 1=A/D input range is +/-5V
2382 2=A/D input range is +/-2.5V
2383 3=A/D input range is +/-1.25V
2384 4=A/D input range is +/-0.625V
2385 5=A/D input range is +/-0.3125V
2386 [5] - 0=D/A outputs 0-5V (internal reference -5V)
2387 1=D/A outputs 0-10V (internal reference -10V)
2388 2=D/A outputs unknow (external reference)
2390 Options for PCL-812PG, ACL-8112PG:
2392 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7; 10, 11, 12, 14, 15)
2393 [2] - DMA (0=disable, 1, 3)
2394 [3] - 0=trigger source is internal 8253 with 2MHz clock
2395 1=trigger source is external
2396 [4] - 0=A/D have max +/-5V input
2397 1=A/D have max +/-10V input
2398 [5] - 0=D/A outputs 0-5V (internal reference -5V)
2399 1=D/A outputs 0-10V (internal reference -10V)
2400 2=D/A outputs unknow (external reference)
2402 Options for ACL-8112DG/HG, A-822PGL/PGH, A-823PGL/PGH, ACL-8216, A-826PG:
2404 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7; 10, 11, 12, 14, 15)
2405 [2] - DMA (0=disable, 1, 3)
2406 [3] - 0=trigger source is internal 8253 with 2MHz clock
2407 1=trigger source is external
2408 [4] - 0=A/D channels are S.E.
2409 1=A/D channels are DIFF
2410 [5] - 0=D/A outputs 0-5V (internal reference -5V)
2411 1=D/A outputs 0-10V (internal reference -10V)
2412 2=D/A outputs unknow (external reference)
2414 Options for A-821PGL/PGH:
2416 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7)
2417 [2] - 0=A/D channels are S.E.
2418 1=A/D channels are DIFF
2419 [3] - 0=D/A output 0-5V (internal reference -5V)
2420 1=D/A output 0-10V (internal reference -10V)
2422 Options for A-821PGL-NDA:
2424 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7)
2425 [2] - 0=A/D channels are S.E.
2426 1=A/D channels are DIFF
2428 Options for PCL-813:
2431 Options for PCL-813B:
2433 [1] - 0= bipolar inputs
2436 Options for ACL-8113, ISO-813:
2438 [1] - 0= 10V bipolar inputs
2439 1= 10V unipolar inputs
2440 2= 20V bipolar inputs
2441 3= 20V unipolar inputs
2446 Description: Advantech PCL-816 cards, PCL-814
2447 Author: Juan Grigera <juan@grigera.com.ar>
2448 Devices: [Advantech] PCL-816 (pcl816), PCL-814B (pcl814b)
2450 Updated: Tue, 2 Apr 2002 23:15:21 -0800
2452 PCL 816 and 814B have 16 SE/DIFF ADCs, 16 DACs, 16 DI and 16 DO.
2453 Differences are at resolution (16 vs 12 bits).
2455 The driver support AI command mode, other subdevices not written.
2457 Analog output and digital input and output are not supported.
2459 Configuration Options:
2461 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7)
2462 [2] - DMA (0=disable, 1, 3)
2463 [3] - 0, 10=10MHz clock for 8254
2464 1= 1MHz clock for 8254
2470 Description: Advantech PCL-818 cards, PCL-718
2471 Author: Michal Dobes <dobes@tesnet.cz>
2472 Devices: [Advantech] PCL-818L (pcl818l), PCL-818H (pcl818h),
2473 PCL-818HD (pcl818hd), PCL-818HG (pcl818hg), PCL-818 (pcl818),
2477 All cards have 16 SE/8 DIFF ADCs, one or two DACs, 16 DI and 16 DO.
2478 Differences are only at maximal sample speed, range list and FIFO
2480 The driver support AI mode 0, 1, 3 other subdevices (AO, DI, DO) support
2481 only mode 0. If DMA/FIFO/INT are disabled then AI support only mode 0.
2482 PCL-818HD and PCL-818HG support 1kword FIFO. Driver support this FIFO
2483 but this code is untested.
2484 A word or two about DMA. Driver support DMA operations at two ways:
2485 1) DMA uses two buffers and after one is filled then is generated
2486 INT and DMA restart with second buffer. With this mode I'm unable run
2487 more that 80Ksamples/secs without data dropouts on K6/233.
2488 2) DMA uses one buffer and run in autoinit mode and the data are
2489 from DMA buffer moved on the fly with 2kHz interrupts from RTC.
2490 This mode is used if the interrupt 8 is available for allocation.
2491 If not, then first DMA mode is used. With this I can run at
2492 full speed one card (100ksamples/secs) or two cards with
2493 60ksamples/secs each (more is problem on account of ISA limitations).
2494 To use this mode you must have compiled kernel with disabled
2495 "Enhanced Real Time Clock Support".
2496 Maybe you can have problems if you use xntpd or similar.
2497 If you've data dropouts with DMA mode 2 then:
2499 b) switch text mode console to fb.
2501 Options for PCL-818L:
2503 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7)
2504 [2] - DMA (0=disable, 1, 3)
2505 [3] - 0, 10=10MHz clock for 8254
2506 1= 1MHz clock for 8254
2507 [4] - 0, 5=A/D input -5V.. +5V
2508 1, 10=A/D input -10V..+10V
2509 [5] - 0, 5=D/A output 0-5V (internal reference -5V)
2510 1, 10=D/A output 0-10V (internal reference -10V)
2511 2 =D/A output unknow (external reference)
2513 Options for PCL-818, PCL-818H:
2515 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7)
2516 [2] - DMA (0=disable, 1, 3)
2517 [3] - 0, 10=10MHz clock for 8254
2518 1= 1MHz clock for 8254
2519 [4] - 0, 5=D/A output 0-5V (internal reference -5V)
2520 1, 10=D/A output 0-10V (internal reference -10V)
2521 2 =D/A output unknow (external reference)
2523 Options for PCL-818HD, PCL-818HG:
2525 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7)
2526 [2] - DMA/FIFO (-1=use FIFO, 0=disable both FIFO and DMA,
2527 1=use DMA ch 1, 3=use DMA ch 3)
2528 [3] - 0, 10=10MHz clock for 8254
2529 1= 1MHz clock for 8254
2530 [4] - 0, 5=D/A output 0-5V (internal reference -5V)
2531 1, 10=D/A output 0-10V (internal reference -10V)
2532 2 =D/A output unknow (external reference)
2534 Options for PCL-718:
2536 [1] - IRQ (0=disable, 2, 3, 4, 5, 6, 7)
2537 [2] - DMA (0=disable, 1, 3)
2538 [3] - 0, 10=10MHz clock for 8254
2539 1= 1MHz clock for 8254
2540 [4] - 0=A/D Range is +/-10V
2545 5= user defined bipolar
2550 10= user defined unipolar
2551 [5] - 0, 5=D/A outputs 0-5V (internal reference -5V)
2552 1, 10=D/A outputs 0-10V (internal reference -10V)
2553 2=D/A outputs unknow (external reference)
2554 [6] - 0, 60=max 60kHz A/D sampling
2555 1,100=max 100kHz A/D sampling (PCL-718 with Option 001 installed)
2561 Description: Advantech PCM-3724
2562 Author: Drew Csillag <drew_csillag@yahoo.com>
2563 Devices: [Advantech] PCM-3724 (pcm724)
2566 This is driver for digital I/O boards PCM-3724 with 48 DIO.
2567 It needs 8255.o for operations and only immediate mode is supported.
2568 See the source for configuration details.
2570 Copy/pasted/hacked from pcm724.c
2575 Description: PCM3730
2577 Devices: [Advantech] PCM-3730 (pcm3730)
2580 Configuration options:
2586 Description: Winsystems PCM-A/D12, PCM-A/D16
2588 Devices: [Winsystems] PCM-A/D12 (pcmad12), PCM-A/D16 (pcmad16)
2591 This driver was written on a bet that I couldn't write a driver
2592 in less than 2 hours. I won the bet, but never got paid. =(
2594 Configuration options:
2597 [2] - Analog input reference
2600 [3] - Analog input encoding (must match jumpers)
2602 1 = two's complement
2607 Description: A driver for the Winsystems PCM-D/A-12
2608 Devices: [Winsystems] PCM-D/A-12 (pcmda12)
2609 Author: Calin Culianu <calin@ajvar.org>
2610 Updated: Fri, 13 Jan 2006 12:01:01 -0500
2613 A driver for the relatively straightforward-to-program PCM-D/A-12.
2614 This board doesn't support commands, and the only way to set its
2615 analog output range is to jumper the board. As such,
2616 comedi_data_write() ignores the range value specified.
2618 The board uses 16 consecutive I/O addresses starting at the I/O port
2619 base address. Each address corresponds to the LSB then MSB of a
2620 particular channel from 0-7.
2622 Note that the board is not ISA-PNP capable and thus
2623 needs the I/O port comedi_config parameter.
2625 Note that passing a nonzero value as the second config option will
2626 enable "simultaneous xfer" mode for this board, in which AO writes
2627 will not take effect until a subsequent read of any AO channel. This
2628 is so that one can speed up programming by preloading all AO registers
2629 with values before simultaneously setting them to take effect with one
2632 Configuration Options:
2633 [0] - I/O port base address
2634 [1] - Do Simultaneous Xfer (see description)
2639 Description: A driver for the PCM-MIO multifunction board
2640 Devices: [Winsystems] PCM-MIO (pcmmio)
2641 Author: Calin Culianu <calin@ajvar.org>
2642 Updated: Wed, May 16 2007 16:21:10 -0500
2645 A driver for the relatively new PCM-MIO multifunction board from
2646 Winsystems. This board is a PC-104 based I/O board. It contains
2648 subdevice 0 - 16 channels of 16-bit AI
2649 subdevice 1 - 8 channels of 16-bit AO
2650 subdevice 2 - first 24 channels of the 48 channel of DIO (with edge-triggered interrupt support)
2651 subdevice 3 - last 24 channels of the 48 channel DIO (no interrupt support for this bank of channels)
2655 Synchronous reads and writes are the only things implemented for AI and AO,
2656 even though the hardware itself can do streaming acquisition, etc. Anyone
2657 want to add asynchronous I/O for AI/AO as a feature? Be my guest...
2659 Asynchronous I/O for the DIO subdevices *is* implemented, however! They are
2660 basically edge-triggered interrupts for any configuration of the first
2663 Also note that this interrupt support is untested.
2665 A few words about edge-detection IRQ support (commands on DIO):
2667 * To use edge-detection IRQ support for the DIO subdevice, pass the IRQ
2668 of the board to the comedi_config command. The board IRQ is not jumpered
2669 but rather configured through software, so any IRQ from 1-15 is OK.
2671 * Due to the genericity of the comedi API, you need to create a special
2672 comedi_command in order to use edge-triggered interrupts for DIO.
2674 * Use comedi_commands with TRIG_NOW. Your callback will be called each
2675 time an edge is detected on the specified DIO line(s), and the data
2676 values will be two sample_t's, which should be concatenated to form
2677 one 32-bit unsigned int. This value is the mask of channels that had
2678 edges detected from your channel list. Note that the bits positions
2679 in the mask correspond to positions in your chanlist when you
2680 specified the command and *not* channel id's!
2682 * To set the polarity of the edge-detection interrupts pass a nonzero value
2683 for either CR_RANGE or CR_AREF for edge-up polarity, or a zero
2684 value for both CR_RANGE and CR_AREF if you want edge-down polarity.
2686 Configuration Options:
2687 [0] - I/O port base address
2688 [1] - IRQ (optional -- for edge-detect interrupt support only, leave out if you don't need this feature)
2693 Description: A driver for the PCM-UIO48A and PCM-UIO96A boards from Winsystems.
2694 Devices: [Winsystems] PCM-UIO48A (pcmuio48), PCM-UIO96A (pcmuio96)
2695 Author: Calin Culianu <calin@ajvar.org>
2696 Updated: Fri, 13 Jan 2006 12:01:01 -0500
2699 A driver for the relatively straightforward-to-program PCM-UIO48A and
2700 PCM-UIO96A boards from Winsystems. These boards use either one or two
2701 (in the 96-DIO version) WS16C48 ASIC HighDensity I/O Chips (HDIO).
2702 This chip is interesting in that each I/O line is individually
2703 programmable for INPUT or OUTPUT (thus comedi_dio_config can be done
2704 on a per-channel basis). Also, each chip supports edge-triggered
2705 interrupts for the first 24 I/O lines. Of course, since the
2706 96-channel version of the board has two ASICs, it can detect polarity
2707 changes on up to 48 I/O lines. Since this is essentially an (non-PnP)
2708 ISA board, I/O Address and IRQ selection are done through jumpers on
2709 the board. You need to pass that information to this driver as the
2710 first and second comedi_config option, respectively. Note that the
2711 48-channel version uses 16 bytes of IO memory and the 96-channel
2712 version uses 32-bytes (in case you are worried about conflicts). The
2713 48-channel board is split into two 24-channel comedi subdevices.
2714 The 96-channel board is split into 4 24-channel DIO subdevices.
2716 Note that IRQ support has been added, but it is untested.
2718 To use edge-detection IRQ support, pass the IRQs of both ASICS
2719 (for the 96 channel version) or just 1 ASIC (for 48-channel version).
2720 Then, use use comedi_commands with TRIG_NOW.
2721 Your callback will be called each time an edge is triggered, and the data
2722 values will be two sample_t's, which should be concatenated to form one
2723 32-bit unsigned int. This value is the mask of channels that had
2724 edges detected from your channel list. Note that the bits positions
2725 in the mask correspond to positions in your chanlist when you specified
2726 the command and *not* channel id's!
2728 To set the polarity of the edge-detection interrupts pass a nonzero value for
2729 either CR_RANGE or CR_AREF for edge-up polarity, or a zero value for both
2730 CR_RANGE and CR_AREF if you want edge-down polarity.
2732 In the 48-channel version:
2734 On subdev 0, the first 24 channels channels are edge-detect channels.
2736 In the 96-channel board you have the collowing channels that can do edge detection:
2738 subdev 0, channels 0-24 (first 24 channels of 1st ASIC)
2739 subdev 2, channels 0-24 (first 24 channels of 2nd ASIC)
2741 Configuration Options:
2742 [0] - I/O port base address
2743 [1] - IRQ (for first ASIC, or first 24 channels)
2744 [2] - IRQ for second ASIC (pcmuio96 only - IRQ for chans 48-72 .. can be the same as first irq!)
2749 Description: Generic driver for very simple devices
2751 Devices: [Keithley Metrabyte] DAC-02 (dac02), [Advantech] PCL-733 (pcl733),
2753 Updated: Sat, 16 Mar 2002 17:34:48 -0800
2756 This driver is indended to support very simple ISA-based devices,
2758 dac02 - Keithley DAC-02 analog output board
2759 pcl733 - Advantech PCL-733
2760 pcl734 - Advantech PCL-734
2762 Configuration options:
2767 Driver: quatech_daqp_cs
2768 Description: Quatech DAQP PCMCIA data capture cards
2769 Author: Brent Baccala <baccala@freesoft.org>
2771 Devices: [Quatech] DAQP-208 (daqp), DAQP-308
2776 Description: Real Time Devices PCI4520/DM7520
2777 Author: Dan Christian
2778 Devices: [Real Time Devices] DM7520HR-1 (rtd520), DM7520HR-8,
2780 Status: Works. Only tested on DM7520-8. Not SMP safe.
2782 Configuration options:
2783 [0] - PCI bus of device (optional)
2784 If bus/slot is not specified, the first available PCI
2785 device will be used.
2786 [1] - PCI slot of device (optional)
2791 Description: Analog Devices RTI-800/815
2794 Updated: Fri, 05 Sep 2008 14:50:44 +0100
2795 Devices: [Analog Devices] RTI-800 (rti800), RTI-815 (rti815)
2797 Configuration options:
2798 [0] - I/O port base address
2802 1 = pseudodifferential (common)
2809 0 = two's complement
2814 [6] - DAC 0 encoding
2815 0 = two's complement
2817 [7] - DAC 1 range (same as DAC 0)
2818 [8] - DAC 1 encoding (same as DAC 0)
2823 Description: Analog Devices RTI-802
2824 Author: Anders Blomdell <anders.blomdell@control.lth.se>
2825 Devices: [Analog Devices] RTI-802 (rti802)
2828 Configuration Options:
2831 [2] - dac#0 0=two's comp, 1=straight
2832 [3] - dac#0 0=bipolar, 1=unipolar
2840 Description: Sensoray 526 driver
2841 Devices: [Sensoray] 526 (s526)
2843 Everett Wang <everett.wang@everteq.com>
2844 Updated: Thu, 14 Sep. 2006
2845 Status: experimental
2851 Commands are not supported yet.
2853 Configuration Options:
2855 comedi_config /dev/comedi0 s526 0x2C0,0x3
2861 Description: Sensoray 626 driver
2862 Devices: [Sensoray] 626 (s626)
2863 Authors: Gianluca Palli <gpalli@deis.unibo.it>,
2864 Updated: Fri, 15 Feb 2008 10:28:42 +0000
2865 Status: experimental
2867 Configuration options:
2868 [0] - PCI bus of device (optional)
2869 [1] - PCI slot of device (optional)
2870 If bus/slot is not specified, the first supported
2871 PCI device found will be used.
2873 INSN_CONFIG instructions:
2881 s626 has 3 dio subdevices (2,3 and 4) each with 16 i/o channels
2882 supported configuration options:
2883 INSN_CONFIG_DIO_QUERY
2888 Every channel must be configured before reading.
2892 insn.insn=INSN_CONFIG; //configuration instruction
2893 insn.n=1; //number of operation (must be 1)
2894 insn.data=&initialvalue; //initial value loaded into encoder
2895 //during configuration
2896 insn.subdev=5; //encoder subdevice
2897 insn.chanspec=CR_PACK(encoder_channel,0,AREF_OTHER); //encoder_channel
2900 comedi_do_insn(cf,&insn); //executing configuration
2905 Description: Driver for serial connected hardware
2907 Author: Anders Blomdell
2908 Updated: Fri, 7 Jun 2002 12:56:45 -0700
2909 Status: in development
2915 Description: Skeleton driver, an example for driver writers
2918 Updated: Mon, 18 Mar 2002 15:34:01 -0800
2921 This driver is a documented example on how Comedi drivers are
2924 Configuration Options:
2930 Description: SSV Embedded Systems DIL/Net-PC
2931 Author: Robert Schwebel <robert@schwebel.de>
2932 Devices: [SSV Embedded Systems] DIL/Net-PC 1486 (dnp-1486)
2938 Description: Driver for Fastwel UNIOxx-5 (analog and digital i/o) boards.
2939 Author: Kruchinin Daniil (asgard) <asgard@etersoft.ru>
2942 Devices: [Fastwel] UNIOxx-5 (unioxx5),
2944 This card supports digital and analog I/O. It written for g01
2946 channels range: 0 .. 23 dio channels
2947 and 0 .. 11 analog modules range
2948 During attaching unioxx5 module displays modules identifiers
2949 (see dmesg after comedi_config) in format:
2950 | [module_number] module_id |
2956 Description: University of Stirling USB DAQ & INCITE Technology Limited
2957 Devices: [ITL] USB-DUX (usbdux.o)
2958 Author: Bernd Porr <BerndPorr@f2s.com>
2961 Configuration options:
2962 You have to upload firmware with the -i option. The
2963 firmware is usually installed under /usr/share/usb or
2964 /usr/local/share/usb or /lib/firmware.
2966 Connection scheme for the counter at the digital port:
2967 0=/CLK0, 1=UP/DOWN0, 2=RESET0, 4=/CLK1, 5=UP/DOWN1, 6=RESET1.
2968 The sampling rate of the counter is approximately 500Hz.
2970 Please note that under USB2.0 the length of the channel list determines
2971 the max sampling rate. If you sample only one channel you get 8kHz
2972 sampling rate. If you sample two channels you get 4kHz and so on.
2977 Description: ITL USB-DUXfast
2978 Devices: [ITL] USB-DUX (usbduxfast.o)
2979 Author: Bernd Porr <BerndPorr@f2s.com>
2980 Updated: 08 Dec 2008
2986 Description: University of Stirling USB DAQ & INCITE Technology Limited
2987 Devices: [ITL] USB-DUX (usbduxsigma.o)
2988 Author: Bernd Porr <BerndPorr@f2s.com>
2989 Updated: 21 Jul 2011