update
[comedilib.git] / doc / drivers.txt
1 Driver: 8255.o
2 Description: generic 8255 support
3 Devices: [standard] 8255 (8255)
4 Author: ds
5 Status: works
6 Updated: Fri,  7 Jun 2002 12:56:45 -0700
7
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
13 supported is mode 0.
14
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.
18
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,
24
25   comedi_config /dev/comedi0 8255 0x200,0x204,0x208,0x20c
26
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'.
30
31
32
33
34 Driver: adl_pci9111.o
35 Description: Driver for the Adlink PCI-9111HR card.
36 Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
37 Devices: [ADLink] PCI-9111HR (adl_pci9111)
38 Status: experimental
39
40 Supports:
41
42   - ai_insn read
43   - ao_insn read/write
44   - di_insn read
45   - do_insn read/write
46   - ai_do_cmd mode with the following sources:
47   
48     - start_src                 TRIG_NOW
49     - scan_begin_src            TRIG_FOLLOW     TRIG_TIMER      TRIG_EXT
50     - convert_src                               TRIG_TIMER      TRIG_EXT
51     - scan_end_src              TRIG_COUNT
52     - stop_src                  TRIG_COUNT      TRIG_NONE
53     
54     The scanned channels must be consecutive and start from 0. They must
55     all have the same range and aref.
56     
57 Configuration options:
58   
59     [0] - PCI bus number (optional)
60     [1] - PCI slot number (optional)
61     
62     If bus/slot is not specified, the first available PCI
63     device will be used.
64   
65
66
67
68 Driver: adl_pci9118.o
69 Description: Adlink PCI-9118DG, PCI-9118HG, PCI-9118HR
70 Author: Michal Dobes <majkl@tesnet.cz>
71 Devices: [ADLink] PCI-9118DG (pci9118dg), PCI-9118HG (pci9118hg),
72   PCI-9118HR (pci9118hr)
73 Status: works
74
75 This driver supports AI, AO, DI and DO subdevices.
76 AI subdevice supports cmd and insn interface,
77 other subdevices support only insn interface.
78 For AI:
79 - If cmd->scan_begin_src=TRIG_EXT then trigger input is TGIN (pin 46).
80 - If cmd->convert_src=TRIG_EXT then trigger input is EXTTRG (pin 44).
81 - If cmd->start_src/stop_src=TRIG_EXT then trigger input is TGIN (pin 46).
82 - It is not neccessary to have cmd.scan_end_arg=cmd.chanlist_len but
83   cmd.scan_end_arg modulo cmd.chanlist_len must by 0.
84 - If return value of cmdtest is 5 then you've bad channel list
85   (it isn't possible mixture S.E. and DIFF inputs or bipolar and unipolar
86   ranges).
87
88 There are some hardware limitations:
89 a) You cann't use mixture of unipolar/bipoar ranges or differencial/single 
90    ended inputs.
91 b) DMA transfers must have the length aligned to two samples (32 bit),
92    so there is some problems if cmd->chanlist_len is odd. This driver tries
93    bypass this with adding one sample to the end of the every scan and discard
94    it on output but this cann't be used if cmd->scan_begin_src=TRIG_FOLLOW
95    and is used flag TRIG_WAKE_EOS, then driver switch to interrupt driven mode 
96    with interrupt after every sample.
97 c) If isn't used DMA then you can use only mode where 
98    cmd->scan_begin_src=TRIG_FOLLOW.
99
100 Configuration options:
101   [0] - PCI bus of device (optional)
102   [1] - PCI slot of device (optional)
103           If bus/slot is not specified, then first available PCI
104           card will be used.
105   [2] - 0= standard 8 DIFF/16 SE channels configuration
106         n= external multiplexer connected, 1<=n<=256
107   [3] - 0=autoselect DMA or EOC interrupts operation
108         1=disable DMA mode
109         3=disable DMA and INT, only insn interface will work
110   [4] - sample&hold signal - card can generate signal for external S&H board
111         0=use SSHO (pin 45) signal is generated in onboard hardware S&H logic
112         0!=use ADCHN7 (pin 23) signal is generated from driver, number 
113            say how long delay is requested in ns and sign polarity of the hold
114            (in this case external multiplexor can serve only 128 channels)
115   [5] - 0=stop measure on all hardware errors
116         2|=ignore ADOR - A/D Overrun status
117         8|=ignore Bover - A/D Burst Mode Overrun status
118         256|=ignore nFull - A/D FIFO Full status
119
120
121
122
123 Driver: adv_pci1710.o
124 Description: Advantech PCI-1710, PCI-1710HG, PCI-1711, PCI-1713,
125              Advantech PCI-1720, PCI-1731
126 Author: Michal Dobes <majkl@tesnet.cz>
127 Devices: [Advantech] PCI-1710 (pci1710), PCI-1710HG (pci1710hg),
128   PCI-1711 (pci1711), PCI-1713 (pci1713), PCI-1720 (pci1720),
129   PCI-1731 (pci1731)
130 Status: works
131
132 This driver supports AI, AO, DI and DO subdevices.
133 AI subdevice supports cmd and insn interface,
134 other subdevices support only insn interface.
135
136 The PCI-1710 and PCI-1710HG have the same PCI device ID, so the
137 driver cannot distinguish between them, as would be normal for a
138 PCI driver.
139
140 Configuration options:
141   [0] - PCI bus of device (optional)
142   [1] - PCI slot of device (optional)
143           If bus/slot is not specified, the first available PCI
144           device will be used.
145
146
147
148 Driver: amplc_pc236.o
149 Description: Driver for Amplicon PC36AT and PCI236 DIO boards
150 Author: Ian Abbott <abbotti@mev.co.uk>
151 Devices: [Amplicon] PC36AT (pc36at), PCI236 (pci236)
152 Updated: Fri, 23 Aug 2002 11:41:11 +0100
153 Status: works
154
155 Configuration options - PC36AT:
156   [0] - I/O port base address
157   [1] - IRQ (optional)
158
159 Configuration options - PCI236:
160   [0] - PCI bus of device (optional)
161   [1] - PCI slot of device (optional)
162   If bus/slot is not specified, the first available PCI device will be
163   used.
164
165 The PC36AT ISA board and PCI236 PCI board have a single 8255 appearing
166 as subdevice 0.
167
168 Subdevice 1 pretends to be a digital input device, but it always returns
169 0 when read. However, if you run a command with scan_begin_src=TRIG_EXT,
170 a rising edge on port C bit 7 acts as an external trigger, which can be
171 used to wake up tasks.  This is like the comedi_parport device, but the
172 only way to physically disable the interrupt on the PC36AT is to remove
173 the IRQ jumper.  If no interrupt is connected, then subdevice 1 is
174 unused.
175
176
177
178 Driver: amplc_pc263.o
179 Description: Driver for Amplicon PC263 and PCI263 Relay boards
180 Author: Ian Abbott <abbotti@mev.co.uk>
181 Devices: [Amplicon] PC263 (pc263), PCI263 (pci263)
182 Updated: Tue, 20 Aug 2002 11:41:01 +0100
183 Status: works
184
185 Configuration options - PC263:
186   [0] - I/O port base address
187
188 Configuration options - PCI263:
189   [0] - PCI bus of device (optional)
190   [1] - PCI slot of device (optional)
191   If bus/slot is not specified, the first available PCI device will be
192   used.
193
194 Each board appears as one subdevice, with 16 digital outputs, each
195 connected to a reed-relay. Relay contacts are closed when output is 1.
196 The state of the outputs can be read.
197
198
199
200 Driver: amplc_pci230.o
201 Description: Driver for Amplicom PCI230 and PCI260 Multifunction I/O boards
202 Author: Allan Willcox <allanwillcox@ozemail.com.au>
203 Updated: Mon,  3 Sep 2001 17:37:12 -0700
204 Devices: [Amplicon] PCI230 (amplc_pci230), PCI260
205 Status: unknown
206
207
208
209
210 Driver: cb_pcidas.o
211 Description: Driver for the ComputerBoards/MeasurementComputing cards
212   of the PCI-DAS series with the AMCC S5933 PCI controller.
213 Author: Ivan Martinez <ivanmr@altavista.com>,
214   Frank Mori Hess <fmhess@uiuc.edu>
215 Updated: 2002-1-09
216 Devices: [Measurement Computing] PCI-DAS1602/16 (cb_pcidas),
217   PCI-DAS1602/16jr, PCI-DAS1602/12, PCI-DAS1200, PCI-DAS1200jr,
218   PCI-DAS1000, PCI-DAS1001, PCI_DAS1002
219
220 Status:
221   - PCI-DAS1602/16: Analog input is tested, works.  Analog output untested.
222   - PCI-DAS1602/16jr: Driver should work, but untested.  Please
223       report usage.
224   - PCI-DAS1602/12: Same as above.
225   - PCI-DAS1200, 1200jr: Tested, works.
226   - PCI-DAS1000, 1001, 1002: Should work, but untested.  Please report
227     usage.
228
229   The boards' autocalibration features are not yet supported.
230
231 Configuration options:
232   [0] - PCI bus of device (optional)
233   [1] - PCI slot of device (optional)
234   If bus/slot is not specified, the first available PCI
235   device will be used.
236
237 For commands, the scanned channels must be consecutive
238 (i.e. 4-5-6-7, 2-3-4,...), and must all have the same
239 range and aref.
240
241
242
243 Driver: cb_pcidas64.o
244 Description: Driver for the ComputerBoards/MeasurementComputing
245    PCI-DAS64xx, 60XX, and 4020 series with the PLX 9080 PCI controller.
246 Author: Frank Mori Hess <fmhess@users.sourceforge.net>
247 Status: works, but no streaming analog output yet
248 Updated: 2002-07-18
249 Devices: [Measurement Computing] PCI-DAS6402/16 (cb_pcidas64),
250   PCI-DAS6402/12, PCI-DAS64/M1/16, PCI-DAS64/M2/16,
251   PCI-DAS64/M3/16, PCI-DAS6402/16/JR, PCI-DAS64/M1/16/JR,
252   PCI-DAS64/M2/16/JR, PCI-DAS64/M3/16/JR, PCI-DAS64/M1/14,
253   PCI-DAS64/M2/14, PCI-DAS64/M3/14, PCI-DAS6023E, PCI-DAS6025E, PCI-DAS6034E,
254   PCI-DAS6035E, PCI-DAS4020/12
255
256 Configuration options:
257    [0] - PCI bus of device (optional)
258    [1] - PCI slot of device (optional)
259
260 Feel free to send and success/failure reports to Frank Hess.
261
262 Some devices are not identified because the PCI device IDs are not yet
263 known. If you have such a board, contact Frank Hess and the ID can be
264 easily added.
265
266
267
268
269 Driver: cb_pcidda.o
270 Description: ComputerBoards/MeasurementComputing PCI-DDA series
271 Author: Ivan Martinez <ivanmr@altavista.com>, Frank Mori Hess <fmhess@users.sourceforge.net>
272 Status: Supports 08/16, 04/16, 02/16, 08/12, 04/12, and 02/12
273 Devices: [Measurement Computing] PCI-DDA08/12 (cb_pcidda), PCI-DDA04/12,
274   PCI-DDA02/12, PCI-DDA08/16, PCI-DDA04/16, PCI-DDA02/16
275
276 Configuration options:
277   [0] - PCI bus of device (optional)
278   [1] - PCI slot of device (optional)
279   If bus/slot is not specified, the first available PCI
280   device will be used.
281
282 Only simple analog output writing is supported.
283
284 So far it has only been tested with:
285   - PCI-DDA08/12
286 Please report sucess/failure with other different cards to
287 <comedi@comedi.org>.
288
289
290
291 Driver: cb_pcimdda.o
292 Description: A driver for this relatively new and uniquely designed board
293 Devices: [Computer Boards] PCIM-DDA06-16 (pcimdda06-16)
294 Author: Calin Culianu <calin@ajvar.org>
295 Updated: Thu, 20 Jun 2002 16:19:41 -0500
296 Status: works
297
298 All features of the PCIM-DDA06-16 board are supported.  This board
299 has 6 16-bit AO channels, and the usual 8255 DIO setup.  (24 channels, 
300 configurable in banks of 8 and 4, etc.).  This board does not support commands.
301
302 The board has a peculiar way of specifying AO gain/range settings -- You have
303 1 jumper bank on the card, which either makes all 6 AO channels either
304 5 Volt unipolar, 5V bipolar, 10 Volt unipolar or 10V bipolar. 
305   
306 Since there is absolutely _no_ way to tell in software how this jumper is set
307 (well, at least according  to the rather thin spec. from Measurement Computing
308  that comes with the board), the driver assumes the jumper is at its factory 
309 default setting of +/-5V.
310
311 Also of note is the fact that this board features another jumper, whose
312 state is also completely invisible to software.  It toggles two possible AO
313 output modes on the board:
314
315   - Update Mode: Writing to an AO channel instantaneously updates the actual
316     signal output by the DAC on the board (this is the factory default).
317   - Simultaneous XFER Mode: Writing to an AO channel has no effect until
318     you read from any one of the AO channels.  This is useful for loading
319     all 6 AO values, and then reading from any one of the AO channels on the 
320     device to instantly update all 6 AO values in unison.  Useful for some
321     control apps, I would assume?  If your jumper is in this setting, then you 
322     need to issue your comedi_data_write()s to load all the values you want,
323     then issue one comedi_data_read() on any channel on the AO subdevice
324     to initiate the simultaneous XFER.
325  
326
327 Configuration Options:
328   Just tell comedi_config that you want to use the cb_pcimdda driver as so:
329
330   comedi_config /dev/comedi0 cb_pcimdda
331
332
333
334 Driver: comedi_parport.o
335 Description: Standard PC parallel port
336 Author: ds
337 Status: works in immediate mode
338 Devices: [standard] parallel port (comedi_parport)
339 Updated: Tue, 30 Apr 2002 21:11:45 -0700
340
341 A cheap and easy way to get a few more digital I/O lines.  Steal
342 additional parallel ports from old computers or your neighbors'
343 computers.
344
345 Option list:
346  0: I/O port base for the parallel port.
347  1: IRQ
348
349 Parallel Port Lines:
350
351 pin     subdev  chan    aka
352 ---     ------  ----    ---
353 1       2       0       strobe
354 2       0       0       data 0
355 3       0       1       data 1
356 4       0       2       data 2
357 5       0       3       data 3
358 6       0       4       data 4
359 7       0       5       data 5
360 8       0       6       data 6
361 9       0       7       data 7
362 10      1       3       acknowledge
363 11      1       4       busy
364 12      1       2       output
365 13      1       1       printer selected
366 14      2       1       auto LF
367 15      1       0       error
368 16      2       2       init
369 17      2       3       select printer
370 18-25   ground
371
372 Notes:
373
374 Subdevices 0 is digital I/O, subdevice 1 is digital input, and
375 subdevice 2 is digital output.  Unlike other Comedi devices,
376 subdevice 0 defaults to output.
377
378 Pins 13 and 14 are inverted once by Comedi and once by the
379 hardware, thus cancelling the effect.
380
381 Pin 1 is a strobe, thus acts like one.  There's no way in software
382 to change this, at least on a standard parallel port.
383
384 Subdevice 3 pretends to be a digital input subdevice, but it always
385 returns 0 when read.  However, if you run a command with
386 scan_begin_src=TRIG_EXT, it uses pin 10 as a external triggering
387 pin, which can be used to wake up tasks.
388
389
390
391 Driver: comedi_rt_timer.o
392 Description: Command emulator using real-time tasks
393 Author: ds, fmhess
394 Devices:
395 Status: works
396
397 This driver requires RTAI or RTLinux to work correctly.  It doesn't
398 actually drive hardware directly, but calls other drivers and uses
399 a real-time task to emulate commands for drivers and devices that
400 are incapable of native commands.  Thus, you can get accurately
401 timed I/O on any device.
402
403 Since the timing is all done in software, sampling jitter is much
404 higher than with a device that has an on-board timer, and maximum
405 sample rate is much lower.
406
407 Configuration options:
408   [0] - minor number of device you wish to emulate commands for
409   [1] - subdevice number you wish to emulate commands for
410
411
412
413 Driver: comedi_test.o
414 Description: generates fake waveforms
415 Author: Joachim Wuttke <Joachim.Wuttke@icn.siemens.de>, Frank Mori Hess
416   <fmhess@uiuc.edu>, ds
417 Devices:
418 Status: works
419 Updated: Sat, 16 Mar 2002 17:34:48 -0800
420
421 This driver is mainly for testing purposes, but can also be used to
422 generate sample waveforms on systems that don't have data acquisition
423 hardware.
424
425 Configuration options:
426   [0] - Amplitude in microvolts for fake waveforms (default 1 volt)
427   [1] - Period in microseconds for fake waveforms (default 0.1 sec)
428
429 Generates a sawtooth wave on channel 0, square wave on channel 1, additional
430 waveforms could be added to other channels (currently they return flatline
431 zero volts).
432
433
434
435
436 Driver: contec_pci_dio.o
437 Description: Driver for Contec PIO1616L digital io board
438 Devices: [Contec] PIO1616L (contec_pci_dio)
439 Author: Stefano Rivoir <s.rivoir@gts.it>
440 Updated: Mon, 18 Mar 2002 15:34:01 -0800
441 Status: works
442
443 Configuration Options:
444   none
445
446
447
448 Driver: daqboard2000.o
449 Description: IOTech DAQBoard/2000
450 Author: Anders Blomdell <anders.blomdell@control.lth.se>
451 Status: works
452 Devices: [IOTech] DAQBoard/2000 (daqboard2000)
453
454 Much of the functionality of this driver was determined from reading
455 the source code for the Windows driver.
456
457 The FPGA on the board requires initialization code, which can either
458 be compiled into the driver or loaded by comedi_config using the -i
459 option.  The latter is recommended, in order to save a bit of kernel
460 memory.
461
462 Configuration options:
463   [0] - pointer to FPGA initialization data
464           The pointer and size options are handled automatically
465           by comedi_config when you use the -i option.
466   [1] - size of FPGA data
467
468
469
470 Driver: das08.o
471 Description: DAS-08 compatible boards
472 Author: Warren Jasper, ds, Frank Hess
473 Devices: [ComputerBoards] DAS08 (das08), DAS08-PGM (das08-pgm),
474   DAS08-PGH (das08-pgh), DAS08-PGL (das08-pgl), DAS08-AOH (das08-aoh),
475   DAS08-AOL (das08-aol), DAS08-AOM (das08-aom), DAS08/JR-AO (das08/jr-ao),
476   DAS08/JR-16-AO (das08jr-16-ao), PCI-DAS08 (pci-das08), PCM-DAS08 (pcm-das08),
477   PC104-DAS08 (pc104-das08), DAS08/JR/16 (das08jr/16)
478 Status: works
479
480 This is a rewrite of the das08 and das08jr drivers.
481
482 Options (for ISA cards):
483         [0] - base io address
484
485 Options (for pci-das08):
486         [0] - bus  (optional)
487         [1] = slot (optional)
488 Use the name 'pci-das08' for the pci-das08, NOT 'das08'.
489
490 Options (for pcm-das08):
491         NONE
492
493 The das08 driver doesn't support asynchronous commands, since
494 the cheap das08 hardware doesn't really support them (except for
495 pcm-das08).  The
496 comedi_rt_timer driver can be used to emulate commands for this
497 driver.
498
499
500
501 Driver: das16.o
502 Description: DAS16 compatible boards
503 Author: Sam Moore, Warren Jasper, ds, Chris Baugher, Frank Hess, Roman Fietze
504 Devices: [Keithley Metrabyte] DAS-16 (das-16), DAS-16G (das-16g),
505   DAS-16F (das-16f), DAS-1201 (das-1201), DAS-1202 (das-1202),
506   DAS-1401 (das-1401), DAS-1402 (das-1402), DAS-1601 (das-1601),
507   DAS-1602 (das-1602),
508   [ComputerBoards] PC104-DAS16/JR (pc104-das16jr),
509   PC104-DAS16JR/16 (pc104-das16jr/16),
510   CIO-DAS16JR/16 (cio-das16jr/16),
511   CIO-DAS16/JR (cio-das16/jr), CIO-DAS1401/12 (cio-das1401/12),
512   CIO-DAS1402/12 (cio-das1402/12), CIO-DAS1402/16 (cio-das1402/16),
513   CIO-DAS1601/12 (cio-das1601/12), CIO-DAS1602/12 (cio-das1602/12),
514   CIO-DAS1602/16 (cio-das1602/16), CIO-DAS16/330 (cio-das16/330)
515 Status: works
516 Updated: 2002-04-17
517
518 A rewrite of the das16 and das1600 drivers.
519 Options:
520         [0] - base io address
521         [1] - irq (optional)
522         [2] - dma (optional)
523         [3] - master clock speed in MHz (optional, 1 or 10, ignored if
524                 board can probe clock, defaults to 1)
525         [4] - analog input range lowest voltage in microvolts (optional,
526                 only useful if your board does not have software
527                 programmable gain)
528         [5] - analog input range highest voltage in microvolts (optional,
529                 only useful if board does not have software programmable
530                 gain)
531         [6] - analog output range lowest voltage in microvolts (optional)
532         [7] - analog output range highest voltage in microvolts (optional)
533         [8] - use timer mode for DMA, needed e.g. for buggy DMA controller
534                 in NS CS5530A (Geode Companion).  If set, also allows
535                 comedi_command() to be run without an irq.
536
537 Passing a zero for an option is the same as leaving it unspecified.
538
539 Both a dma channel and an irq (or use of 'timer mode', option 8) are required
540 for timed or externally triggered conversions.
541
542
543
544 Driver: das16m1.o
545 Description: CIO-DAS16/M1
546 Author: Frank Mori Hess <fmhess@uiuc.edu>
547 Devices: [MeasurementComputing] CIO-DAS16/M1 (cio-das16/m1)
548 Status: works
549
550 This driver supports a single board - the CIO-DAS16/M1.
551 As far as I know, there are no other boards that have
552 the same register layout.  Even the CIO-DAS16/M1/16 is
553 significantly different.
554
555 I was _barely_ able to reach the full 1 MHz capability
556 of this board, using a hard real-time interrupt
557 (set the TRIG_RT flag in your comedi_cmd and use
558 rtlinux or RTAI).  The board can't do dma, so the bottleneck is
559 pulling the data across the ISA bus.  I timed the interrupt
560 handler, and it took my computer ~470 microseconds to pull 512
561 samples from the board.  So at 1 Mhz sampling rate,
562 expect your CPU to be spending almost all of its
563 time in the interrupt handler.
564
565 This board has some unusual restrictions for its channel/gain list.  If the
566 list has 2 or more channels in it, then two conditions must be satisfied:
567 (1) - even/odd channels must appear at even/odd indices in the list
568 (2) - the list must have an even number of entries.
569
570 Options:
571         [0] - base io address
572         [1] - irq (optional, but you probably want it)
573
574 irq can be omitted, although the cmd interface will not work without it.
575
576
577
578 Driver: das1800.o
579 Description: Keithley Metrabyte DAS1800 (& compatibles)
580 Author: Frank Mori Hess <fmhess@uiuc.edu>
581 Devices: [Keithley Metrabyte] DAS-1701ST (das-1701st),
582   DAS-1701ST-DA (das-1701st-da), DAS-1701/AO (das-1701ao),
583   DAS-1702ST (das-1702st), DAS-1702ST-DA (das-1702st-da),
584   DAS-1702HR (das-1702hr), DAS-1702HR-DA (das-1702hr-da),
585   DAS-1702/AO (das-1702ao), DAS-1801ST (das-1801st),
586   DAS-1801ST-DA (das-1801st-da), DAS-1801HC (das-1801hc),
587   DAS-1801AO (das-1801ao), DAS-1802ST (das-1802st),
588   DAS-1802ST-DA (das-1802st-da), DAS-1802HR (das-1802hr),
589   DAS-1802HR-DA (das-1802hr-da), DAS-1802HC (das-1802hc),
590   DAS-1802AO (das-1802ao)
591 Status: works
592
593 The waveform analog output on the 'ao' cards is not supported.
594 If you need it, send me (Frank Hess) an email.
595
596 Configuration options:
597   [0] - I/O port base address
598   [1] - IRQ (optional, required for timed or externally triggered conversions)
599   [2] - DMA0 (optional, requires irq)
600   [3] - DMA1 (optional, requires irq and dma0)
601
602
603
604 Driver: das6402.o
605 Description: Keithley Metrabyte DAS6402 (& compatibles)
606 Author: Oystein Svendsen <svendsen@pvv.org>
607 Status: bitrotten
608 Devices: [Keithley Metrabyte] DAS6402 (das6402)
609
610 This driver has suffered bitrot.
611
612
613
614 Driver: das800.o
615 Description: Keithley Metrabyte DAS800 (& compatibles)
616 Author: Frank Mori Hess <fmhess@uiuc.edu>
617 Devices: [Keithley Metrabyte] DAS-800 (das-800), DAS-801 (das-801),
618   DAS-802 (das-802),
619   [Measurement Computing] CIO-DAS800 (cio-das800),
620   CIO-DAS801 (cio-das801), CIO-DAS802 (cio-das802),
621   CIO-DAS802/16 (cio-das802/16)
622 Status: works, cio-das802/16 untested - email me if you have tested it
623
624 Configuration options:
625   [0] - I/O port base address
626   [1] - IRQ (optional, required for timed or externally triggered conversions)
627
628 Notes:
629         IRQ can be omitted, although the cmd interface will not work without it.
630
631         All entries in the channel/gain list must use the same gain and be
632         consecutive channels counting upwards in channel number (these are
633         hardware limitations.)
634
635         I've never tested the gain setting stuff since I only have a
636         DAS-800 board with fixed gain.
637
638         The cio-das802/16 does not have a fifo-empty status bit!  Therefore
639         only fifo-half-full transfers are possible with this card.
640
641
642
643 Driver: dt2801.o
644 Description: Data Translation DT2801 series and DT01-EZ
645 Author: ds
646 Status: works
647 Devices: [Data Translation] DT2801 (dt2801), DT2801-A, DT2801/5716A,
648   DT2805, DT2805/5716A, DT2808, DT2818, DT2809, DT01-EZ
649
650 This driver can autoprobe the type of board.
651
652 Configuration options:
653   [0] - I/O port base address
654   [1] - unused
655   [2] - A/D reference 0=differential, 1=single-ended
656   [3] - A/D range
657           0 = [-10,10]
658           1 = [0,10]
659   [4] - D/A 0 range
660           0 = [-10,10]
661           1 = [-5,5]
662           2 = [-2.5,2.5]
663           3 = [0,10]
664           4 = [0,5]
665   [5] - D/A 1 range (same choices)
666
667
668
669 Driver: dt2811.o
670 Description: Data Translation DT2811
671 Author: ds
672 Devices: [Data Translation] DT2811-PGL (dt2811-pgl), DT2811-PGH (dt2811-pgh)
673 Status: works
674
675 Configuration options:
676   [0] - I/O port base address
677   [1] - IRQ, although this is currently unused
678   [2] - A/D reference
679           0 = signle-ended
680           1 = differential
681           2 = pseudo-differential (common reference)
682   [3] - A/D range
683           0 = [-5,5]
684           1 = [-2.5,2.5]
685           2 = [0,5]
686   [4] - D/A 0 range (same choices)
687   [4] - D/A 1 range (same choices)
688
689
690
691 Driver: dt2814.o
692 Description: Data Translation DT2814
693 Author: ds
694 Status: complete
695 Devices: [Data Translation] DT2814 (dt2814)
696
697 Configuration options:
698   [0] - I/O port base address
699   [1] - IRQ
700
701 This card has 16 analog inputs multiplexed onto a 12 bit ADC.  There
702 is a minimally useful onboard clock.  The base frequency for the
703 clock is selected by jumpers, and the clock divider can be selected
704 via programmed I/O.  Unfortunately, the clock divider can only be
705 a power of 10, from 1 to 10^7, of which only 3 or 4 are useful.  In
706 addition, the clock does not seem to be very accurate.
707
708
709
710 Driver: dt2815.o
711 Description: Data Translation DT2815
712 Author: ds
713 Status: mostly complete, untested
714 Devices: [Data Translation] DT2815 (dt2815)
715
716 I'm not sure anyone has ever tested this board.  If you have information
717 contrary, please update.
718
719 Configuration options:
720   [0] - I/O port base base address
721   [1] - IRQ (unused)
722   [2] - Voltage unipolar/bipolar configuration
723           0 == unipolar 5V  (0V -- +5V)
724           1 == bipolar 5V  (-5V -- +5V)
725   [3] - Current offset configuration
726           0 == disabled  (0mA -- +32mAV)
727           1 == enabled  (+4mA -- +20mAV)
728   [4] - Firmware program configuration
729           0 == program 1 (see manual table 5-4)
730           1 == program 2 (see manual table 5-4)
731           2 == program 3 (see manual table 5-4)
732           3 == program 4 (see manual table 5-4)
733   [5] - Analog output 0 range configuration
734           0 == voltage
735           1 == current
736   [6] - Analog output 1 range configuration (same options)
737   [7] - Analog output 2 range configuration (same options)
738   [8] - Analog output 3 range configuration (same options)
739   [9] - Analog output 4 range configuration (same options)
740   [10] - Analog output 5 range configuration (same options)
741   [11] - Analog output 6 range configuration (same options)
742   [12] - Analog output 7 range configuration (same options)
743
744
745
746 Driver: dt2817.o
747 Description: Data Translation DT2817
748 Author: ds
749 Status: complete
750 Devices: [Data Translation] DT2817 (dt2817)
751
752 A very simple digital I/O card.  Four banks of 8 lines, each bank
753 is configurable for input or output.  One wonders why it takes a
754 50 page manual to describe this thing.
755
756 The driver (which, btw, is much less than 50 pages) has 1 subdevice
757 with 32 channels, configurable in groups of 8.
758
759 Configuration options:
760   [0] - I/O port base base address
761
762
763
764 Driver: dt282x.o
765 Description: Data Translation DT2821 series (including DT-EZ)
766 Author: ds
767 Devices: [Data Translation] DT2821 (dt2821), DT2823 (dt2823),
768   DT2824-PGH (dt2824-pgh), DT2824-PGL (dt2824-pgl), DT2825 (dt2825),
769   DT2827 (dt2827), DT2828 (dt2828), DT21-EZ (dt21-ez), DT23-EZ (dt23-ez),
770   DT24-EZ (dt24-ez), DT24-EZ-PGL (dt24-ez-pgl)
771 Status: complete
772 Updated: Wed, 22 Aug 2001 17:11:34 -0700
773
774 Configuration options:
775   [0] - I/O port base address
776   [1] - IRQ
777   [2] - DMA 1
778   [3] - DMA 2
779   [4] - AI jumpered for 0=single ended, 1=differential
780   [5] - AI jumpered for 0=straight binary, 1=2's complement
781   [6] - AO 0 jumpered for 0=straight binary, 1=2's complement
782   [7] - AO 1 jumpered for 0=straight binary, 1=2's complement
783   [8] - AI jumpered for 0=[-10,10]V, 1=[0,10], 2=[-5,5], 3=[0,5]
784   [9] - AO 0 jumpered for 0=[-10,10]V, 1=[0,10], 2=[-5,5], 3=[0,5],
785         4=[-2.5,2.5]
786   [10]- A0 1 jumpered for 0=[-10,10]V, 1=[0,10], 2=[-5,5], 3=[0,5],
787         4=[-2.5,2.5]
788
789 Notes:
790   - AO commands might be broken.
791   - If you try to run a command on both the AI and AO subdevices
792     simultaneously, bad things will happen.  The driver needs to
793     be fixed to check for this situation and return an error.
794
795
796
797 Driver: dt3000.o
798 Description: Data Translation DT3000 series
799 Author: ds
800 Devices: [Data Translation] DT3001 (dt3000), DT3001-PGL, DT3002, DT3003,
801   DT3003-PGL, DT3004, DT3005, DT3004-200
802 Status: works
803
804 There is code to support AI commands, but it may not work.
805
806 AO commands are not supported.
807
808
809
810 Driver: fl512.o
811 Description: unknown
812 Author: unknown
813 Devices: [unknown] FL512 (fl512)
814 Status: unknown
815
816 Digital I/O is not supported.
817
818 Configuration options:
819   [0] - I/O port base address
820
821
822
823 Driver: icp_multi.o
824 Description: Inova ICP_MULTI
825 Author: Anne Smorthit <anne.smorthit@sfwte.ch>
826 Devices: [Inova] ICP_MULTI (icp_multi)
827 Status: unknown
828
829 Options:
830  [0] - PCI bus number - if bus number and slot number are 0, 
831                         then driver search for first unused card
832  [1] - PCI slot number 
833
834
835
836 Driver: ii_pci20kc.o
837 Description: Intelligent Instruments PCI-20001C carrier board
838 Author: Markus Kempf <kempf@matsci.uni-sb.de>
839 Devices: [Intelligent Instrumentation] PCI-20001C (ii_pci20kc)
840 Status: works
841
842 Supports the PCI-20001 C-2a Carrier board, and could probably support
843 the other carrier boards with small modifications.  Modules supported
844 are:
845         PCI-20006 M-2 16-bit analog output module
846         PCI-20341 M-1A 16-bit analog input module
847
848 Options:
849   0   Board base address
850   1   IRQ
851   2   first option for module 1
852   3   second option for module 1
853   4   first option for module 2
854   5   second option for module 2
855   6   first option for module 3
856   7   second option for module 3
857
858 options for PCI-20006M:
859   first:   Analog output channel 0 range configuration
860              0  bipolar 10  (-10V -- +10V)
861              1  unipolar 10  (0V -- +10V)
862              2  bipolar 5  (-5V -- 5V)
863   second:  Analog output channel 1 range configuration
864
865 options for PCI-20341M:
866   first:   Analog input gain configuration
867              0  1
868              1  10
869              2  100
870              3  200
871
872
873
874 Driver: ke_counter.o
875 Description: Driver for Kolter Electronic Counter Card
876 Devices: (Kolter Electronic) PCI Counter Card [ke_counter]
877 Author: mh
878 Updated: 11.4.2002
879 Status: tested
880
881 This driver is a simple driver to read the counter values from
882 Kolter Electronic PCI Counter Card.
883
884
885
886 Driver: me_daq.o
887 Description: Driver for the Meilhaus PCI data acquisition cards.
888 Author: Michael Hillmann <hillmann@syscongroup.de>
889 Devices: [Meilhaus] ME-2600i, ME-2000i (me_daq)
890 Status: experimental
891
892 Supports:
893
894     Analog Output
895
896 Configuration options:
897
898     [0] - PCI bus number (optional)
899     [1] - PCI slot number (optional)
900
901     If bus/slot is not specified, the first available PCI
902     device will be used.
903
904
905
906 Driver: mpc8260cpm.o
907 Description: MPC8260 CPM module generic digital I/O lines
908 Devices: [Motorola] MPC8260 CPM (mpc8260cpm)
909 Author: ds
910 Status: experimental
911 Updated: Sat, 16 Mar 2002 17:34:48 -0800
912
913 This driver is specific to the Motorola MPC8260 processor, allowing
914 you to access the processor's generic digital I/O lines.
915
916 It is apparently missing some code.
917
918
919
920 Driver: multiq3.o
921 Description: Quanser Consulting MultiQ-3
922 Author: Anders Blomdell <anders.blomdell@control.lth.se>
923 Status: works
924 Devices: [Quanser Consulting] MultiQ-3 (multiq3)
925
926
927
928
929 Driver: ni_670x.o
930 Description: National Instruments 670x
931 Author: Bart Joris <bjoris@advalvas.be>
932 Updated: Wed, 22 Aug 2001 22:47:32 -0700
933 Devices: [National Instruments] PCI-6703 (ni_670x), PCI-6704
934 Status: unknown
935
936 The driver currently does not recognize the 6704, because the PCI
937 ID is not known.
938
939 Commands are not supported.
940
941
942
943 Driver: ni_at_a2150.o
944 Description: National Instruments AT-A2150
945 Author: Frank Mori Hess
946 Status: works
947 Devices: [National Instruments] AT-A2150C (at_a2150c), AT-2150S (at_a2150s)
948
949 If you want to ac couple the board's inputs, use AREF_OTHER.
950
951 Configuration options:
952   [0] - I/O port base address
953   [1] - IRQ (optional, required for timed conversions)
954   [2] - DMA (optional, required for timed conversions)
955
956
957
958
959 Driver: ni_at_ao.o
960 Description: National Instruments AT-AO-6/10
961 Devices: [National Instruments] AT-AO-6 (at-ao-6), AT-AO-10 (at-ao-10)
962 Status: untested
963 Author: ds
964 Updated: Fri,  7 Jun 2002 13:20:30 -0700
965
966 This driver has not been tested, but should work.
967
968
969
970
971 Driver: ni_atmio.o
972 Description: National Instruments AT-MIO-E series
973 Author: ds
974 Devices: [National Instruments] AT-MIO-16E-1 (ni_atmio),
975   AT-MIO-16E-2, AT-MIO-16E-10, AT-MIO-16DE-10, AT-MIO-64E-3,
976   AT-MIO-16XE-50, AT-MIO-16XE-10, AT-AI-16XE-10
977 Status: works
978 Updated: Sat, 16 Mar 2002 17:34:48 -0800
979
980 The isapnptools package is required to use this board.  Use isapnp to
981 configure the I/O base for the board, and then pass the same value as
982 a parameter in comedi_config.  A sample isapnp.conf file is included
983 in the etc/ directory of Comedilib.
984
985 Comedilib includes a utility to autocalibrate these boards.  The
986 boards seem to boot into a state where the all calibration DACs
987 are at one extreme of their range, thus the default calibration
988 is terrible.  Calibration at boot is strongly encouraged.
989
990 To use the extended digital I/O on some of the boards, enable the
991 8255 driver when configuring the Comedi source tree.
992
993 External triggering is supported for some events.  The channel index
994 (scan_begin_arg, etc.) maps to PFI0 - PFI9.
995
996 Some of the more esoteric triggering possibilities of these boards
997 are not supported.
998
999
1000
1001 Driver: ni_atmio16d.o
1002 Description: National Instruments AT-MIO-16D
1003 Author: Chris R. Baugher <baugher@enteract.com>
1004 Status: unknown
1005 Devices: [National Instruments] AT-MIO-16 (atmio16), AT-MIO-16D (atmio16d)
1006
1007
1008
1009 Driver: ni_daq_dio24.o
1010 Description: National Instruments PCMCIA DAQ-Card DIO-24
1011 Author: Daniel Vecino Castel <dvecino@able.es>
1012 Devices: National Instruments PCMCIA DAQ-Card DIO-24
1013 Status: ?
1014
1015
1016
1017 Driver: ni_labpc.o
1018 Description: National Instruments Lab-PC (& compatibles)
1019 Author: Frank Mori Hess <fmhess@users.sourceforge.net>
1020 Devices: [National Instruments] DAQCard-1200 (daqcard-1200), Lab-PC-1200 (labpc-1200),
1021   Lab-PC-1200AI (labpc-1200ai), Lab-PC+ (lab-pc+), PCI-1200 (pci-1200)
1022 Status: works
1023
1024 Tested with lab-pc-1200.  For the older Lab-PC+, not all input ranges
1025 and analog references will work, the available ranges/arefs will
1026 depend on how you have configured the jumpers on your board
1027 (see your owner's manual).
1028
1029 Configuration options - ISA boards:
1030   [0] - I/O port base address
1031   [1] - IRQ (optional, required for timed or externally triggered conversions)
1032   [2] - DMA channel (optional)
1033
1034 Configuration options - PCI boards:
1035   [0] - bus (optional)
1036   [1] - slot (optional)
1037
1038 Configuration options - PCMCIA boards:
1039   none
1040
1041 Lab-pc+ has quirky chanlist when scanning multiple channels.  Scan
1042 sequence must start at highest channel, then decrement down to
1043 channel 0.  1200 series cards can scan down like lab-pc+ or scan
1044 up from channel zero.
1045
1046
1047
1048
1049 Driver: ni_mio_cs.o
1050 Description: National Instruments DAQCard E series
1051 Author: ds
1052 Status: works
1053 Devices: [National Instruments] DAQCard-AI-16XE-50 (ni_mio_cs),
1054   DAQCard-AI-16E-4, DAQCard-6062E, DAQCard-6024E
1055
1056 See the notes in the ni_atmio.o driver.
1057
1058
1059
1060 Driver: ni_pcidio.o
1061 Description: National Instruments PCI-DIO32HS, PCI-DIO96, PCI-6533, PCI-6503
1062 Author: ds
1063 Status: works
1064 Devices: [National Instruments] PCI-DIO-32HS (ni_pcidio), PXI-6533,
1065   PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503, PCI-6503B, PCI-6503X,
1066   PXI-6503, PCI-6534, PCI-6533
1067 Updated: Sun, 21 Apr 2002 21:03:38 -0700
1068
1069 The DIO-96 appears as four 8255 subdevices.  See the 8255
1070 driver notes for details.
1071
1072 The DIO32HS board appears as one subdevice, with 32 channels.
1073 Each channel is individually I/O configurable.  The channel order
1074 is 0=A0, 1=A1, 2=A2, ... 8=B0, 16=C0, 24=D0.  The driver only
1075 supports simple digital I/O; no handshaking is supported.
1076
1077 DMA mostly works for the PCI-DIO32HS, but only in timed input mode.
1078
1079 This driver could be easily modified to support AT-MIO32HS and
1080 AT-MIO96.
1081
1082
1083
1084 Driver: ni_pcimio.o
1085 Description: National Instruments PCI-MIO-E series (all boards)
1086 Author: ds
1087 Status: works
1088 Devices: [National Instruments] PCI-MIO-16XE-50 (ni_pcimio),
1089   PCI-MIO-16XE-10, PXI-6030E, PCI-MIO-16E-1, PCI-MIO-16E-4, PCI-6040E,
1090   PXI-6040E, PCI-6031E, PCI-6032E, PCI-6033E, PCI-6071E, PCI-6023E,
1091   PCI-6024E, PCI-6025E, PXI-6025E, PCI-6034E, PCI-6035E, PCI-6052E,
1092   PCI-6110, PCI-6111, PCI-6711, PCI-6713, PXI-6071E, PXI-6070E,
1093   PXI-6052E, PCI-6036E, PCI-6731, PCI-6733
1094 Updated: Sat, 16 Mar 2002 17:34:48 -0800
1095
1096 These boards are almost identical to the AT-MIO E series, except that
1097 they use the PCI bus instead of ISA (i.e., AT).  See the notes for
1098 the ni_atmio.o driver for additional information about these boards.
1099
1100 Autocalibration is supported on many of the devices, using the
1101 calibration utility in Comedilib.
1102
1103 By default, the driver uses DMA to transfer analog input data to
1104 memory.  When DMA is enabled, not all triggering features are
1105 supported.
1106
1107 Streaming analog output is not supported on PCI-671x and PCI-673x.
1108
1109 PCI IDs are not known for PCI-6731 and PCI-6733.  Digital I/O may not
1110 work on 673x.
1111
1112 Information (number of channels, bits, etc.) for some devices may be
1113 incorrect.  Please check this and submit a bug if there are problems
1114 for your device.
1115
1116 Bugs:
1117  - When DMA is enabled, COMEDI_EV_SCAN_END and COMEDI_EV_CONVERT do
1118    not work correctly.
1119  - There are reported problems with the 61xx and 67xx boards.
1120
1121
1122
1123
1124 Driver: pcl711.o
1125 Description: Advantech PCL-711 and 711b, ADLink ACL-8112
1126 Author: ds, Janne Jalkanen <jalkanen@cs.hut.fi>, Eric Bunn <ebu@cs.hut.fi>
1127 Status: mostly complete
1128 Devices: [Advantech] PCL-711 (pcl711), PCL-711B (pcl711b),
1129   [AdLink] ACL-8112HG (acl8112hg), ACL-8112DG (acl8112dg)
1130
1131 Since these boards do not have DMA or FIFOs, only immediate mode is
1132 supported.
1133
1134
1135
1136
1137 Driver: pcl724.o
1138 Description: Advantech PCL-724, PCL-722, PCL-731 ADLink ACL-7122, ACL-7124,
1139   PET-48DIO
1140 Author: Michal Dobes <majkl@tesnet.cz>
1141 Devices: [Advantech] PCL-724 (pcl724), PCL-722 (pcl722), PCL-731 (pcl731),
1142   [ADLink] ACL-7122 (acl7122), ACL-7124 (acl7124), PET-48DIO (pet48dio)
1143 Status: untested
1144
1145 This is driver for digital I/O boards PCL-722/724/731 with 144/24/48 DIO
1146 and for digital I/O boards ACL-7122/7124/PET-48DIO with 144/24/48 DIO.
1147 It need 8255.o for operations and only immediate mode is supported.
1148 See the source for configuration details.
1149
1150
1151
1152 Driver: pcl725.o
1153 Description: Advantech PCL-725 (& compatibles)
1154 Author: ds
1155 Status: unknown
1156 Devices: [Advantech] PCL-725 (pcl725)
1157
1158
1159
1160 Driver: pcl726.o
1161 Description: Advantech PCL-726 & compatibles
1162 Author: ds
1163 Status: untested
1164 Devices: [Advantech] PCL-726 (pcl726), PCL-727 (pcl727), PCL-728 (pcl728),
1165   [ADLink] ACL-6126 (acl6126), ACL-6128 (acl6128)
1166
1167 Interrupts are not supported.
1168
1169     Options for PCL-726:
1170      [0] - IO Base
1171      [2]...[7] - D/A output range for channel 1-6: 
1172                0: 0-5V, 1: 0-10V, 2: +/-5V, 3: +/-10V, 
1173                4: 4-20mA, 5: unknown (external reference)
1174                
1175     Options for PCL-727:
1176      [0] - IO Base
1177      [2]...[13] - D/A output range for channel 1-12: 
1178                0: 0-5V, 1: 0-10V, 2: +/-5V, 
1179                3: 4-20mA
1180                
1181     Options for PCL-728 and ACL-6128:
1182      [0] - IO Base
1183      [2], [3] - D/A output range for channel 1 and 2: 
1184                0: 0-5V, 1: 0-10V, 2: +/-5V, 3: +/-10V, 
1185                4: 4-20mA, 5: 0-20mA
1186                
1187     Options for ACL-6126:
1188      [0] - IO Base
1189      [1] - IRQ (0=disable, 3, 5, 6, 7, 9, 10, 11, 12, 15) (currently ignored)
1190      [2]...[7] - D/A output range for channel 1-6: 
1191                0: 0-5V, 1: 0-10V, 2: +/-5V, 3: +/-10V, 
1192                4: 4-20mA
1193
1194
1195
1196 Driver: pcl812.o
1197 Description: Advantech PCL-812/PG, PCL-813/B,
1198              ADLink ACL-8112DG/HG/PG, ACL-8113, ACL-8216,
1199              ICP DAS A-821PGH/PGL/PGL-NDA, A-822PGH/PGL, A-823PGH/PGL, A-826PG,
1200              ICP DAS ISO-813
1201 Author: Michal Dobes <majkl@tesnet.cz>
1202 Devices: [Advantech] PCL-812 (pcl812), PCL-812PG (pcl812pg),
1203   PCL-813 (pcl813), PCL-813B (pcl813b), [ADLink] ACL-8112DG (acl8112dg),
1204   ACL-8112HG (acl8112hg), ACL-8113 (acl-8113), ACL-8216 (acl8216),
1205   [ICP] ISO-813 (iso813), A-821PGH (a821pgh), A-821PGL (a821pgl),
1206   A-821PGL-NDA (a821pclnda), A-822PGH (a822pgh), A-822PGL (a822pgl),
1207   A-823PGH (a823pgh), A-823PGL (a823pgl), A-826PG (a826pg)
1208 Status: works (I hope. My board fire up under my hands
1209                and I cann't test all features.)
1210
1211 This driver supports insn and cmd interfaces. Some boards support only insn
1212 becouse their hardware don't allow more (PCL-813/B, ACL-8113, ISO-813).
1213 Data transfer over DMA is supported only when you measure only one
1214 channel, this is too hardware limitation of these boards.
1215 See the head of the source file pcl812.c for configuration options.
1216
1217
1218
1219 Driver: pcl816.o
1220 Description: Advantech PCL-816 cards, PCL-814
1221 Author: Juan Grigera <juan@grigera.com.ar>
1222 Devices: [Advantech] PCL-816 (pcl816), PCL-814B (pcl814b)
1223 Status: works
1224 Updated: Tue,  2 Apr 2002 23:15:21 -0800
1225
1226 PCL 816 and 814B have 16 SE/DIFF ADCs, 16 DACs, 16 DI and 16 DO.
1227 Differences are at resolution (16 vs 12 bits).
1228
1229 The driver support AI command mode, other subdevices not written.
1230
1231 Analog output and digital input and output are not supported.
1232
1233 Configuration Options:
1234   [0] - IO Base
1235   [1] - IRQ     (0=disable, 2, 3, 4, 5, 6, 7)
1236   [2] - DMA     (0=disable, 1, 3)
1237   [3] - 0, 10=10MHz clock for 8254
1238             1= 1MHz clock for 8254
1239
1240
1241
1242
1243 Driver: pcl818.o
1244 Description: Advantech PCL-818 cards, PCL-718
1245 Author: Michal Dobes <majkl@tesnet.cz>
1246 Devices: [Advantech] PCL-818L (pcl818l), PCL-818H (pcl818h),
1247   PCL-818HD (pcl818hd), PCL-818HG (pcl818hg), PCL-818 (pcl818),
1248   PCL-718 (pcl718)
1249 Status: works
1250
1251 All cards have 16 SE/8 DIFF ADCs, one or two DACs, 16 DI and 16 DO.
1252 Differences are only at maximal sample speed, range list and FIFO
1253 support.
1254 The driver support AI mode 0, 1, 3 other subdevices (AO, DI, DO) support
1255 only mode 0. If DMA/FIFO/INT are disabled then AI support only mode 0.
1256 PCL-818HD and PCL-818HG support 1kword FIFO. Driver support this FIFO
1257 but this code is untested.
1258 A word or two about DMA. Driver support DMA operations at two ways:
1259 1) DMA uses two buffers and after one is filled then is generated
1260    INT and DMA restart with second buffer. With this mode I'm unable run
1261    more that 80Ksamples/secs without data dropouts on K6/233.
1262 2) DMA uses one buffer and run in autoinit mode and the data are
1263    from DMA buffer moved on the fly with 2kHz interrupts from RTC.
1264    This mode is used if the interrupt 8 is available for allocation.
1265    If not, then first DMA mode is used. With this I can run at
1266    full speed one card (100ksamples/secs) or two cards with
1267    60ksamples/secs each (more is problem on account of ISA limitations).
1268    To use this mode you must have compiled  kernel with disabled
1269    "Enhanced Real Time Clock Support".
1270    Maybe you can have problems if you use xntpd or similar.
1271    If you've data dropouts with DMA mode 2 then:
1272     a) disable IDE DMA
1273     b) switch text mode console to fb.
1274
1275    Options for PCL-818L:
1276     [0] - IO Base
1277     [1] - IRQ   (0=disable, 2, 3, 4, 5, 6, 7)
1278     [2] - DMA   (0=disable, 1, 3)
1279     [3] - 0, 10=10MHz clock for 8254
1280               1= 1MHz clock for 8254
1281     [4] - 0,  5=A/D input  -5V.. +5V
1282           1, 10=A/D input -10V..+10V
1283     [5] - 0,  5=D/A output 0-5V  (internal reference -5V)
1284           1, 10=D/A output 0-10V (internal reference -10V)
1285           2    =D/A output unknow (external reference)
1286        
1287    Options for PCL-818, PCL-818H:
1288     [0] - IO Base
1289     [1] - IRQ   (0=disable, 2, 3, 4, 5, 6, 7)
1290     [2] - DMA   (0=disable, 1, 3)
1291     [3] - 0, 10=10MHz clock for 8254
1292               1= 1MHz clock for 8254
1293     [4] - 0,  5=D/A output 0-5V  (internal reference -5V)
1294           1, 10=D/A output 0-10V (internal reference -10V)
1295           2    =D/A output unknow (external reference)
1296
1297    Options for PCL-818HD, PCL-818HG:
1298     [0] - IO Base
1299     [1] - IRQ   (0=disable, 2, 3, 4, 5, 6, 7)
1300     [2] - DMA/FIFO  (-1=use FIFO, 0=disable both FIFO and DMA, 
1301                       1=use DMA ch 1, 3=use DMA ch 3)
1302     [3] - 0, 10=10MHz clock for 8254
1303               1= 1MHz clock for 8254
1304     [4] - 0,  5=D/A output 0-5V  (internal reference -5V)
1305           1, 10=D/A output 0-10V (internal reference -10V)
1306           2    =D/A output unknow (external reference)
1307
1308    Options for PCL-718:
1309     [0] - IO Base
1310     [1] - IRQ   (0=disable, 2, 3, 4, 5, 6, 7)
1311     [2] - DMA   (0=disable, 1, 3)
1312     [3] - 0, 10=10MHz clock for 8254
1313               1= 1MHz clock for 8254
1314     [4] -     0=A/D Range is +/-10V
1315               1=             +/-5V
1316               2=             +/-2.5V
1317               3=             +/-1V
1318               4=             +/-0.5V 
1319               5=             user defined bipolar
1320               6=             0-10V
1321               7=             0-5V
1322               8=             0-2V
1323               9=             0-1V
1324              10=             user defined unipolar
1325     [5] - 0,  5=D/A outputs 0-5V  (internal reference -5V)
1326           1, 10=D/A outputs 0-10V (internal reference -10V)
1327               2=D/A outputs unknow (external reference)
1328     [6] - 0, 60=max  60kHz A/D sampling
1329           1,100=max 100kHz A/D sampling (PCL-718 with Option 001 installed)
1330
1331
1332
1333
1334 Driver: pcm3730.o
1335 Description: PCM3730
1336 Author: Blaine Lee
1337 Devices: [Advantech] PCM-3730 (pcm3730)
1338 Status: unknown
1339
1340 Configuration options:
1341   [0] - I/O port base
1342
1343
1344
1345 Driver: pcmad.o
1346 Description: Winsystems PCM-A/D12, PCM-A/D16
1347 Author: ds
1348 Devices: [Winsystems] PCM-A/D12 (pcmad12), PCM-A/D16 (pcmad16)
1349 Status: untested
1350
1351 This driver was written on a bet that I couldn't write a driver
1352 in less than 2 hours.  I won the bet, but never got paid.  =(
1353
1354 Configuration options:
1355   [0] - I/O port base
1356   [1] - unused
1357   [2] - Analog input reference
1358           0 = single ended
1359           1 = differential
1360   [3] - Analog input encoding (must match jumpers)
1361           0 = straight binary
1362           1 = two's complement
1363
1364
1365
1366 Driver: poc.o
1367 Description: Generic driver for very simple devices
1368 Device names: dac02
1369 Author: ds
1370 Devices: [Keithley Metrabyte] DAC-02 (dac02), [Advantech] PCL-733 (pcl733),
1371   PCL-734 (pcl734)
1372 Updated: Sat, 16 Mar 2002 17:34:48 -0800
1373 Status: unknown
1374
1375 This driver is indended to support very simple ISA-based devices,
1376 including:
1377   dac02 - Keithley DAC-02 analog output board
1378   pcl733 - Advantech PCL-733
1379   pcl734 - Advantech PCL-734
1380
1381 Configuration options:
1382   [0] - I/O port base
1383
1384
1385
1386 Driver: quatech_daqp_cs.o
1387 Description: Quatech DAQP PCMCIA data capture cards
1388 Author: Brent Baccala <baccala@freesoft.org>
1389 Status: unkown
1390 Devices: [Quatech] DAQP-208 (daqp), DAQP-308
1391
1392
1393
1394 Driver: rtd520.o
1395 Description: Real Time Devices PCI4520/DM7520
1396 Author: Dan Christian
1397 Devices: [Real Time Devices] DM7520HR-1 (DM7520), DM7520HR-8 (DM7520-8),
1398   PCI4520 (PCI4520), PCI4520-8 (PCI4520-8)
1399 Status: Works.  Only tested on DM7520-8.  Not SMP safe.
1400
1401 Configuration options:
1402   [0] - PCI bus of device (optional)
1403           If bus/slot is not specified, the first available PCI
1404           device will be used.
1405   [1] - PCI slot of device (optional)
1406
1407
1408
1409 Driver: rti800.o
1410 Description: Analog Devices RTI-800/815
1411 Author: ds
1412 Status: unknown
1413 Devices: [Analog Devices] RTI-800 (rti800), RTI-815 (rti815)
1414
1415 Configuration options:
1416   [0] - I/O port base address
1417   [1] - IRQ
1418   [2] - A/D reference
1419           0 = differential
1420           1 = pseudodifferential (common)
1421           2 = single-ended
1422   [3] - A/D range
1423           0 = [-10,10]
1424           1 = [-5,5]
1425           2 = [0,10]
1426   [4] - A/D encoding
1427           0 = two's complement
1428           1 = straight binary
1429   [5] - DAC 0 range
1430           0 = [-10,10]
1431           1 = [0,10]
1432   [5] - DAC 0 encoding
1433           0 = two's complement
1434           1 = straight binary
1435   [6] - DAC 1 range (same as DAC 0)
1436   [7] - DAC 1 encoding (same as DAC 0)
1437
1438
1439
1440 Driver: rti802.o
1441 Description: Analog Devices RTI-802
1442 Author: Anders Blomdell <anders.blomdell@control.lth.se>
1443 Devices: [Analog Devices] RTI-802 (rti802)
1444 Status: works
1445
1446 Configuration Options:
1447     [0] - i/o base
1448     [1] - unused
1449     [2] - dac#0  0=two's comp, 1=straight
1450     [3] - dac#0  0=bipolar, 1=unipolar
1451     [4] - dac#1 ...
1452     ...
1453     [17] - dac#7 ...
1454
1455
1456
1457 Driver: serial2002.o
1458 Description: Driver for serial connected hardware
1459 Devices:
1460 Author: Anders Blomdell
1461 Updated: Fri,  7 Jun 2002 12:56:45 -0700
1462 Status: in development
1463
1464
1465
1466
1467 Driver: skel.o
1468 Description: Skeleton driver, an example for driver writers
1469 Devices:
1470 Author: ds
1471 Updated: Mon, 18 Mar 2002 15:34:01 -0800
1472 Status: works
1473
1474 This driver is a documented example on how Comedi drivers are
1475 written.
1476
1477 Configuration Options:
1478   none
1479
1480
1481
1482 Driver: ssv_dnp.o
1483 Description: SSV Embedded Systems DIL/Net-PC
1484 Author: Robert Schwebel <robert@schwebel.de>
1485 Devices: [SSV Embedded Systems] DIL/Net-PC 1486 (dnp-1486)
1486 Status: unknown
1487
1488
1489