From 17b0ebbf7dc43be86db837173a6fd42ab605b0c0 Mon Sep 17 00:00:00 2001 From: Frank Mori Hess Date: Tue, 22 Mar 2005 02:05:11 +0000 Subject: [PATCH] sync with comedi --- doc/drivers.txt | 314 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 247 insertions(+), 67 deletions(-) diff --git a/doc/drivers.txt b/doc/drivers.txt index 056f2f7..1522fa0 100644 --- a/doc/drivers.txt +++ b/doc/drivers.txt @@ -31,9 +31,34 @@ I/O port base address can be found in the output of 'lspci -v'. +Driver: acl7225b.o +Description: Adlink NuDAQ ACL-7225b (& compatibles as ICP P16R16DIO) +Author: José Luis Sánchez (jsanchezv@teleline.es) +Status: testing +Devices: [Adlink] ACL-7225b (acl7225b), [ICP] P16R16DIO (p16r16dio) + + + +Driver: adl_pci6208.o +Description: Driver for ADLink PCI-6208A +Devices: [ADLink] PCI-6208A (adl_pci6208) +Author: nsyeow +Updated: Fri, 30 Jan 2004 14:44:27 +0800 +Status: untested + +Configuration Options: + none + +References: + - ni_660x.c + - adl_pci9111.c copied the entire pci setup section + - adl_pci9118.c + + + Driver: adl_pci9111.o Description: Driver for the Adlink PCI-9111HR card. -Author: Emmanuel Pacaud +Author: Emmanuel Pacaud Devices: [ADLink] PCI-9111HR (adl_pci9111) Status: experimental @@ -168,6 +193,102 @@ Configuration options: +Driver: amplc_dio200.o +Description: Amplicon PC272E, PCI272 +Author: Ian Abbott +Devices: [Amplicon] PC272E (pc272e), PCI272 (pci272) +Updated: Fri, 11 Feb 2005 13:13:13 +0000 +Status: works + +Configuration options - PC272E: + [0] - I/O port base address + [1] - IRQ (optional, but commands won't work without it) + +Configuration options - PCI272: + [0] - PCI bus of device (optional) + [1] - PCI slot of device (optional) + If bus/slot is not specified, the first available PCI device will + be used. + +Passing a zero for an option is the same as leaving it unspecified. + + +SUBDEVICES + + PC272E/PCI272 + ------------- + Subdevices 4 + 0 PPI-X + 1 PPI-Y + 2 PPI-Z + 3 INTERRUPT + + +Each PPI is a 8255 chip providing 24 DIO channels. The DIO channels +are configurable as inputs or outputs in four groups: + + Port A - channels 0 to 7 + Port B - channels 8 to 15 + Port CL - channels 16 to 19 + Port CH - channels 20 to 23 + +Only mode 0 of the 8255 chips is supported. + +The 'INTERRUPT' subdevice pretends to be a digital input subdevice. +The digital inputs come from the interrupt status register. The number +of channels matches the number of interrupt sources. + + +INTERRUPT SOURCES + + PC272E/PCI272 + ------------- + Sources 6 + 0 PPI-X-C0 + 1 PPI-X-C3 + 2 PPI-Y-C0 + 3 PPI-Y-C3 + 4 PPI-Z-C0 + 5 PPI-Z-C3 + +When an interrupt source is enabled in the interrupt source enable +register, a rising edge on the source signal latches the corresponding +bit to 1 in the interrupt status register. + +When the interrupt status register value as a whole (actually, just the +6 least significant bits) goes from zero to non-zero, the board will +generate an interrupt. For level-triggered hardware interrupts (PCI +card), the interrupt will remain asserted until the interrupt status +register is cleared to zero. For edge-triggered hardware interrupts +(ISA card), no further interrupts will occur until the interrupt status +register is cleared to zero. To clear a bit to zero in the interrupt +status register, the corresponding interrupt source must be disabled +in the interrupt source enable register (there is no separate interrupt +clear register). + + +COMMANDS + +The driver supports a read streaming acquisition command on the +'INTERRUPT' subdevice. The channel list selects the interrupt sources +to be enabled. All channels will be sampled together (convert_src == +TRIG_NOW). The scan begins a short time after the hardware interrupt +occurs, subject to interrupt latencies (scan_begin_src == TRIG_EXT, +scan_begin_arg == 0). The value read from the interrupt status register +is packed into a sampl_t value, one bit per requested channel, in the +order they appear in the channel list. + + +TODO LIST + +Support for PC212E, PC215E, PCI215 and possibly PC218E should be added. +Apart from the PC218E, these consist of a mixture of 8255 DIO chips and +8254 counter chips with software configuration of the clock and gate +sources for the 8254 chips. (The PC218E has 6 8254 counter chips but +no 8255 DIO chips.) + + + Driver: amplc_pc236.o Description: Driver for Amplicon PC36AT and PCI236 DIO boards Author: Ian Abbott @@ -220,37 +341,93 @@ The state of the outputs can be read. -Driver: amplc_pci230.o -Description: Driver for Amplicom PCI230 and PCI260 Multifunction I/O boards -Author: Allan Willcox , Steve D Sharples -Updated: Fri, 30 April 2004 -Devices: [Amplicon] PCI230 (amplc_pci230), PCI260 -Status: works +Driver: amplc_pci224.o +Description: Amplicon PCI224, PCI234 +Author: Ian Abbott +Devices: [Amplicon] PCI224 (pci224), PCI234 (pci234) +Updated: Thu, 24 Feb 2005 12:29:26 +0000 +Status: works, but see caveats +Supports: + - ao_insn read/write + - ao_do_cmd mode with the following sources: + + - start_src TRIG_INT TRIG_EXT + - scan_begin_src TRIG_TIMER TRIG_EXT + - convert_src TRIG_NOW + - scan_end_src TRIG_COUNT + - stop_src TRIG_COUNT TRIG_EXT TRIG_NONE + + The channel list must contain at least one channel with no repeated + channels. The scan end count must equal the number of channels in + the channel list. + + There is only one external trigger source so only one of start_src, + scan_begin_src or stop_src may use TRIG_EXT. + +Configuration options - PCI224: + [0] - PCI bus of device (optional). + [1] - PCI slot of device (optional). + If bus/slot is not specified, the first available PCI device + will be used. + [2] - Select available ranges according to jumper LK1. All channels + are set to the same range: + 0=Jumper position 1-2 (factory default), 4 software-selectable + internal voltage references, giving 4 bipolar and 4 unipolar + ranges: + [-10V,+10V], [-5V,+5V], [-2.5V,+2.5V], [-1.25V,+1.25V], + [0,+10V], [0,+5V], [0,+2.5V], [0,1.25V]. + 1=Jumper position 2-3, 1 external voltage reference, giving + 1 bipolar and 1 unipolar range: + [-Vext,+Vext], [0,+Vext]. + +Configuration options - PCI234: + [0] - PCI bus of device (optional). + [1] - PCI slot of device (optional). + If bus/slot is not specified, the first available PCI device + will be used. + [2] - Select internal or external voltage reference according to + jumper LK1. This affects all channels: + 0=Jumper position 1-2 (factory default), Vref=5V internal. + 1=Jumper position 2-3, Vref=Vext external. + [3] - Select channel 0 range according to jumper LK2: + 0=Jumper position 2-3 (factory default), range [-2*Vref,+2*Vref] + (10V bipolar when options[2]=0). + 1=Jumper position 1-2, range [-Vref,+Vref] + (5V bipolar when options[2]=0). + [4] - Select channel 1 range according to jumper LK3: cf. options[3]. + [5] - Select channel 2 range according to jumper LK4: cf. options[3]. + [6] - Select channel 3 range according to jumper LK5: cf. options[3]. +Passing a zero for an option is the same as leaving it unspecified. -Driver: ni_pcidio.o -Description: National Instruments PCI-DIO32HS, PCI-DIO96, PCI-6533, PCI-6503 -Author: ds -Status: works -Devices: [National Instruments] PCI-DIO-32HS (ni_pcidio), PXI-6533, - PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503, PCI-6503B, PCI-6503X, - PXI-6503, PCI-6534, PCI-6533 -Updated: Sun, 21 Apr 2002 21:03:38 -0700 +Caveats: -The DIO-96 appears as four 8255 subdevices. See the 8255 -driver notes for details. + 1) All channels on the PCI224 share the same range. Any change to the + range as a result of insn_write or a streaming command will affect + the output voltages of all channels, including those not specified + by the instruction or command. -The DIO32HS board appears as one subdevice, with 32 channels. -Each channel is individually I/O configurable. The channel order -is 0=A0, 1=A1, 2=A2, ... 8=B0, 16=C0, 24=D0. The driver only -supports simple digital I/O; no handshaking is supported. + 2) For the analog output command, the first scan may be triggered + falsely at the start of acquisition. This occurs when the DAC scan + trigger source is switched from 'none' to 'timer' (scan_begin_src = + TRIG_TIMER) or 'external' (scan_begin_src == TRIG_EXT) at the start + of acquisition and the trigger source is at logic level 1 at the + time of the switch. This is very likely for TRIG_TIMER. For + TRIG_EXT, it depends on the state of the external line and whether + the CR_INVERT flag has been set. The remaining scans are triggered + correctly. -DMA mostly works for the PCI-DIO32HS, but only in timed input mode. -This driver could be easily modified to support AT-MIO32HS and -AT-MIO96. + +Driver: amplc_pci230.o +Description: Driver for Amplicom PCI230 and PCI260 Multifunction I/O boards +Author: Allan Willcox , Steve D Sharples +Updated: Fri, 30 April 2004 +Devices: [Amplicon] PCI230 (amplc_pci230), PCI260 +Status: works + @@ -540,10 +717,10 @@ Devices: [IOTech] DAQBoard/2000 (daqboard2000) Much of the functionality of this driver was determined from reading the source code for the Windows driver. -The FPGA on the board requires initialization code, which can either -be compiled into the driver or loaded by comedi_config using the -i -option. The latter is recommended, in order to save a bit of kernel -memory. +The FPGA on the board requires initialization code, which can +be loaded by comedi_config using the -i +option. The initialization code is available from http://www.comedi.org +in the comedi_nonfree_firmware tarball. Configuration options: none @@ -1040,6 +1217,13 @@ Configuration Options: If bus/slot is not specified, the first available PCI device will be used. +The firmware required by these boards is available in the +comedi_nonfree_firmware tarball available from +http://www.comedi.org. However, the driver's support for +loading the firmware through comedi_config is currently +broken. + + Driver: me_daq.o @@ -1060,6 +1244,13 @@ Configuration options: If bus/slot is not specified, the first available PCI device will be used. +The 2600 requires a firmware upload, which can be accomplished +using the -i or --init-data option of comedi_config. +The firmware can be +found in the comedi_nonfree_firmware tarball available +from http://www.comedi.org + + Driver: mpc8260cpm.o @@ -1156,11 +1347,15 @@ Configuration options: Driver: ni_at_ao.o Description: National Instruments AT-AO-6/10 Devices: [National Instruments] AT-AO-6 (at-ao-6), AT-AO-10 (at-ao-10) -Status: untested +Status: should work Author: ds -Updated: Fri, 7 Jun 2002 13:20:30 -0700 +Updated: Sun Dec 26 12:26:28 EST 2004 -This driver has not been tested, but should work. +Configuration options: + [0] - I/O port base address + [1] - IRQ (unused) + [2] - DMA (unused) + [3] - analog output range, set by jumpers on hardware (0 for -10 to 10V bipolar, 1 for 0V to 10V unipolar) @@ -1317,7 +1512,7 @@ Author: ds Status: works Devices: [National Instruments] PCI-DIO-32HS (ni_pcidio), PXI-6533, PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503, PCI-6503B, PCI-6503X, - PXI-6503, PCI-6534, PCI-6533 + PXI-6503, PCI-6533, PCI-6534 Updated: Sun, 21 Apr 2002 21:03:38 -0700 The DIO-96 appears as four 8255 subdevices. See the 8255 @@ -1333,6 +1528,11 @@ DMA mostly works for the PCI-DIO32HS, but only in timed input mode. This driver could be easily modified to support AT-MIO32HS and AT-MIO96. +The PCI-6534 requires a firmware upload after power-up to work, the +firmware data and instructions for loading it with comedi_config +it are contained in the +comedi_nonfree_firmware tarball available from http://www.comedi.org + Driver: ni_pcimio.o @@ -1447,6 +1647,18 @@ Interrupts are not supported. +Driver: pcl730.o +Description: Advantech PCL-730 (& compatibles) +Author: José Luis Sánchez (jsanchezv@teleline.es) +Status: untested +Devices: [Advantech] PCL-730 (pcl730), [ICP] ISO-730 (iso730), + [Adlink] ACL-7130 (acl7130) + +Interrupts are not supported. +The ACL-7130 card have an 8254 timer/counter not supported by this driver. + + + Driver: pcl812.o Description: Advantech PCL-812/PG, PCL-813/B, ADLink ACL-8112DG/HG/PG, ACL-8113, ACL-8216, @@ -1691,37 +1903,6 @@ Configuration options: -Driver: rti800.o -Description: Analog Devices RTI-800/815 -Author: ds -Status: unknown -Devices: [Analog Devices] RTI-800 (rti800), RTI-815 (rti815) - -Configuration options: - [0] - I/O port base address - [1] - IRQ - [2] - A/D reference - 0 = differential - 1 = pseudodifferential (common) - 2 = single-ended - [3] - A/D range - 0 = [-10,10] - 1 = [-5,5] - 2 = [0,10] - [4] - A/D encoding - 0 = two's complement - 1 = straight binary - [5] - DAC 0 range - 0 = [-10,10] - 1 = [0,10] - [5] - DAC 0 encoding - 0 = two's complement - 1 = straight binary - [6] - DAC 1 range (same as DAC 0) - [7] - DAC 1 encoding (same as DAC 0) - - - Driver: rti802.o Description: Analog Devices RTI-802 Author: Anders Blomdell @@ -1776,7 +1957,7 @@ Driver: usbdux.c Description: University of Stirling USB DAQ & INCITE Technology Limited Devices: [ITL] USB-DUX (usbdux.o) Author: Bernd Porr -Updated: 05 Sept 2004 +Updated: 04 Jan 2005 Status: Stable Configuration options: You have to upload firmware with the -i option. The @@ -1796,10 +1977,9 @@ sampling rate. If you sample two channels you get 4kHz and so on. Driver: usbduxfast.c Description: ITL USB-DUXfast Devices: [ITL] USB-DUX (usbduxfast.o) -Author: Bernd Porr -Updated: 31 Oct 2004 +Author: Bernd Porr +Updated: 07 Feb 2005 Status: testing - -- 2.26.2