From 7db2496edd2002eefa9f0a68ddb0601d9f9e4b6d Mon Sep 17 00:00:00 2001 From: David Schleef Date: Sat, 3 Jun 2000 19:57:41 +0000 Subject: [PATCH] moved stuff from comedi --- comedi_config/Makefile | 12 +++ comedi_config/comedi_config.c | 169 ++++++++++++++++++++++++++++++++ man/comedi.7 | 59 ++++++++++++ man/comedi_config.8 | 177 ++++++++++++++++++++++++++++++++++ 4 files changed, 417 insertions(+) create mode 100644 comedi_config/Makefile create mode 100644 comedi_config/comedi_config.c create mode 100644 man/comedi.7 create mode 100644 man/comedi_config.8 diff --git a/comedi_config/Makefile b/comedi_config/Makefile new file mode 100644 index 0000000..1fe9eee --- /dev/null +++ b/comedi_config/Makefile @@ -0,0 +1,12 @@ + +CFLAGS=-Wall -O2 -I../include +#LDFLAGS=-L../lib/ -lcomedi +LDFLAGS= + +OBJS=comedi_config.o + +comedi_config: $(OBJS) + $(CC) -o comedi_config $(OBJS) $(LDFLAGS) + +clean: + rm -f comedi_config *.o diff --git a/comedi_config/comedi_config.c b/comedi_config/comedi_config.c new file mode 100644 index 0000000..da4e90b --- /dev/null +++ b/comedi_config/comedi_config.c @@ -0,0 +1,169 @@ +/* + comedi_config/comedi_config.c + configuration program for comedi kernel module + + COMEDI - Linux Control and Measurement Device Interface + Copyright (C) 1998 David A. Schleef + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#define CC_VERSION "0.6.13" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +int quiet=0,verbose=0,script=0; + +void do_script(void); + +void do_help(int i) +{ + fputs( +"comedi_config version " CC_VERSION "\n" +"usage: comedi_config [-[vVq]] ,,...\n" +"where are integers (or blank) whose interpretation depends on\n" +"the driver. In general, however, option1 refers to the I/O port address\n" +"and option2 refers to IRQ number to be used by the driver\n" + ,stderr); + exit(i); +} + +int main(int argc,char *argv[]) +{ + comedi_devconfig it; + int fd; + int c,i,num,k; + char *opts; + char *fn,*driver; + struct stat statbuf; + int ret; + int remove=0; + + while(1){ + c=getopt(argc,argv,"rvVq"); + if(c==-1)break; + switch(c){ + case 'v': + verbose=1; + break; + case 'V': + fputs("comedi_config version " CC_VERSION "\n",stderr); + exit(0); + break; + case 'q': + quiet=1; + break; + case 'a': + script=1; + break; + case 'r': + remove=1; + break; + default: + do_help(1); + } + } + + if(script){ + if( (argc-optind)>0 ){ + do_help(1); + }else{ + do_script(); + } + } + + if((argc-optind)!=2 && (argc-optind)!=3){ + do_help(1); + } + + fn=argv[optind]; + + driver=argv[optind+1]; + strncpy(it.board_name,driver,COMEDI_NAMELEN-1); + + for(i=0;i=COMEDI_NDEVCONFOPTS) + do_help(1); + continue; + } + if(sscanf(opts,"%i%n",&num,&k)>0){ + it.options[i]=num; + opts+=k; + continue; + } + do_help(1); + } + } + + ret=stat(fn,&statbuf); + if(ret<0){ + perror(fn); + exit(1); + } +#if 0 + /* this appears to be broken */ + if( !(S_ISCHR(statbuf.st_mode)) || + major(statbuf.st_dev)!=COMEDI_MAJOR){ + if(!quiet) + fprintf(stderr,"warning: %s might not be a comedi device\n",fn); + } +#endif + + fd=open(fn,O_RDWR); + if(fd<0){ + perror(fn); + exit(1); + } + + /* add: sanity check for device */ + + if(verbose){ + printf("configuring driver=%s ",it.board_name); + for(i=0;i\fR +.br +.SH DESCRIPTION +The \fBcomedi\fR package is a collection of hardware drivers and +library routines that can be used to communicate with a variety of +data acquisition boards, including A/D converters, D/A converters, +digital I/O and timers. + +The hardware drivers that are installed on your system may include +one or more of the following: + + \fB8255\fR - Generic 8255 support +.br + \fBdas08\fR - Keithley DAS08 and compatibles +.br + \fBdt2811\fR - Data Translation DT2811 +.br + \fBdt2814\fR - Data Translation DT2814 +.br + \fBdt2817\fR - Data Translation DT2817 +.br + \fBdt282x\fR - Data Translation DT2821 series +.br + \fBni_E\fR - National Instruments AT-MIO E series +.br + \fBni_E\fR - National Instruments AT-MIO (Am9513 based) +.br + \fBparport\fR - Standard PC parallel port digital I/O +.br + \fBpcl711\fR - PC-LabCard PCL-711, 711B +.br + \fBpcl711\fR - PC-LabCard PCL-725 +.br + \fBpcl711\fR - PC-LabCard PCL-726 +.br + \fBrti800\fR - Analog Devices RTI-800/815 + +.SH OTHER DOCUMENTATION + +The following man pages may be useful: + +\fBcomedi_config\fR(8), + +Additional text documentation is located in /usr/doc/comedi-0.5.0. + +.SH VERSION + +0.5.0 + +The current version can be found at ftp://stm.lbl.gov/pub/comedi. + +.SH AUTHOR + +David Schleef, + diff --git a/man/comedi_config.8 b/man/comedi_config.8 new file mode 100644 index 0000000..9296475 --- /dev/null +++ b/man/comedi_config.8 @@ -0,0 +1,177 @@ +.TH comedi_config 8 "" +.SH NAME +\fBcomedi_config\fR - COMEDI configuration utility +.SH SYNOPSIS +\fB/usr/sbin/comedi_config\fR [-vVq] /dev/comediN +[,...] +.br +.SH DESCRIPTION +\fBcomedi_config\fR is a utility designed to configure +control and measurement hardware associated with a particular +\fBcomedi\fR device. You must have the \fBcomedi\fR module installed +in the kernel to use this utility. + +Each control and measurement card in your computer is associated +with an individual comedi device; to a user, these appear as the +files \fB/dev/comedi\fRN, with N being 0,1,2,3,etc. To configure +\fBcomedi\fR to use a particular hardware driver for your card, +you would use this utility with the device file, driver name, and +other vital parameters (I/O base address, IRQ, etc.) on the +command line. + +As an example, the command line used to tell the comedi module that +you want to access a National Instruments AT-MIO E series board as +\fB/dev/comedi0\fR would be: + + /usr/sbin/comedi_config /dev/comedi0 atmio-E 0x220,3 + +This tells the driver that the board is configured +for I/O base 0x220 and IRQ 3. In general, I/O base is listed first +and IRQ, if necessary, is listed second. Additional parameters +vary, so see the information below for the particular driver. + +Parameters can be expressed in either decimal or hexadecimal, with +a 0x prefix. + + +.SH OPTIONS + +\fBcomedi_config\fR recognizes the following options: + +\fB-a\fR obtain configuration information from the file +/fB/etc/comedi.conf/fR. + +\fB-q\fR don't print output while running. + +\fB-v\fR print verbose output while running. + +\fB-V\fR print version number and exit. + +.SH HARDWARE DRIVERS + +Additional information pertaining to each hardware driver is +available in \fB/usr/doc/comedi-0.5.0\fR. Unless noted, +the names below are the same as the driver names given on +the command line. + +\fB8255\fR Generic 8255 support +.br + + +\fBdas08\fR - Keithley DAS08 and compatibles +.br + + +\fBdt2811\fR - Data Translation DT2811 +.br + +.br + Interrupts are not used with this board. + +\fBdt2814\fR - Data Translation DT2814 +.br + , +.br + Set IRQ to -1 to probe for IRQ. + +\fBdt2817\fR - Data Translation DT2817 +.br + + +\fBdt282x\fR - Data Translation DT2821 series +.br + ,,,, +, +, +, +, +, +, +. +.br + Valid values for analog reference are 0=single ended, +1=differential. +Valid values for encoding are +[0=straight or offset binary, 1=two's complement]. +Valid values for voltage range are +0=(-10,10), 1=(0,10), 2=(-5,+5), 3=(0,5), +4=(-2.5,2.5). +Options must agree with how your board is +configured. +.br + The driver recognizes the following names: +\fBdt2821\fR, +\fBdt2823\fR, +\fBdt2824-pgh\fR, +\fBdt2824-pgl\fR, +\fBdt2825\fR, +\fBdt2827\fR, +\fBdt2828\fR. +Use the name that best represents your board. + +\fBatmio-E\fR - National Instruments AT-MIO E series +.br + , +.br + This driver automatically detects which board is installed +in your computer. The E-series boards are plug-and-play, so use +\fBisapnptools\fR to tell the board which I/O port to use before +running \fBcomedi_config\fR. In a random fit of stupidity, the +E-series boards ignore the IRQ which PnP assigns to it. + +\fBparport\fR - Standard PC parallel port digital I/O +.br + +.br + This driver does not work with the new parallel port sharing +capabilities of Linux. + +\fBpcl711\fR - PC-LabCard PCL-711, 711B, ACL-8112 +.br + +.br + Use the driver name \fBpcl711b\fR to configure for a 711B board. + +\fBpcl725\fR - PC-LabCard PCL-725 +.br + +.br + +\fBpcl726\fR - PC-LabCard PCL-726 +.br + +.br + +\fBrti800\fR - Analog Devices RTI-800/815 +.br + + +.SH CONFIGURATION FILE + +[This section has not been implemented yet.] + +A list of device configurations can be put into the file +\fB/etc/comedi.conf\fR. This file takes the form + + ,,... + +These configurations will be read and performed when the +switch \fB-a\fR is used. This is potentially useful when +run from an initialization script. + +.SH OTHER DOCUMENTATION + +\fBcomedi\fR(7), + +Additional text documentation is located in /usr/doc/comedi-0.5.0. + +.SH VERSION + +0.5.0 + +The current version can be obtained from ftp://stm.lbl.gov/pub/comedi. + +.SH AUTHOR + +David Schleef, + -- 2.26.2