From 8bc49ef1450f530e8642ab4ebd9e15808954afeb Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Wed, 26 Aug 1992 08:31:33 +0000 Subject: [PATCH] getting in sync with LANL --- src/drv/drvComet.c | 31 +++++++++++++++++++++-- src/drv/drvXy240.c | 62 +++++++++++++++++++++++++++++++--------------- 2 files changed, 71 insertions(+), 22 deletions(-) diff --git a/src/drv/drvComet.c b/src/drv/drvComet.c index 6744ed480..74df6c5b6 100644 --- a/src/drv/drvComet.c +++ b/src/drv/drvComet.c @@ -46,6 +46,7 @@ * and cometDoneTask to allow an external routine * to control hardware scan mode. Added variable * scan_control to flag operating mode. + * .09 mrk 082692 added DSET */ static char *sccsID = "$Id$\t$Date$"; @@ -71,13 +72,39 @@ static char *sccsID = "$Id$\t$Date$"; #include #include #include +#include + +static long report(); +static long init(); +struct { + long number; + DRVSUPFUN report; + DRVSUPFUN init; +} drvComet={ + 2, + report, + init}; + +static long report(level) + int level; +{ + comet_io_report(level); + return(0); +} + +static long init() +{ + + comet_init(); + return(0); +} + #define COMET_NCHAN 4 #define COMET_CHANNEL_MEM_SIZE 0x20000 /* bytes */ #define COMET_DATA_MEM_SIZE (COMET_CHANNEL_MEM_SIZE*COMET_NCHAN) static char *shortaddr; static short scan_control; /* scan type/rate (if >0 normal, <=0 external control) */ - /* comet conrtol register map */ struct comet_cr{ unsigned char csrh; /* control and status register - high byte */ @@ -305,7 +332,7 @@ register unsigned short card; register unsigned int *pcbroutine; register unsigned int *parg; /* number of values read */ { - register struct comet_cr *pcomet_csr; + register struct comet_cr *pcomet_csr=0; register unsigned short *pcomet_data; /* check for valid card number */ diff --git a/src/drv/drvXy240.c b/src/drv/drvXy240.c index f4b7a6579..6f36ee37b 100644 --- a/src/drv/drvXy240.c +++ b/src/drv/drvXy240.c @@ -36,12 +36,41 @@ * should have been used * .04 08-11-92 joh now allows for runtime reconfiguration of * the addr map + * .05 08-25-92 mrk added DSET; made masks a macro */ #include "vxWorks.h" #include "taskLib.h" #include "vme.h" #include "module_types.h" +#include + +static long report(); +static long init(); + +struct { + long number; + DRVSUPFUN report; + DRVSUPFUN init; +} drvXy240={ + 2, + report, + init}; +static long report(level) + int level; +{ + xy240_io_report(level); + return(0); +} + +static long init() +{ + + xy240_init(); + return(0); +} + + #define XY240_ADDR0 (bi_addrs[XY240_BI]) #define XY240_MAX_CARDS (bi_num_cards[XY240_BI]) @@ -188,11 +217,7 @@ register initialization if (taskSpawn(name,111,VX_SUPERVISOR_MODE|VX_STDIO,1000,dio_scan) == ERROR) printf("Unable to create scan task\n"); } - - - - - + return(0); } /* @@ -265,6 +290,7 @@ xy240_bo_driver(card,val,mask) dio[card].dptr->port6_7 = (unsigned short)(work >> 16); dio[card].dptr->port4_5 = (unsigned short)work; + return(0); } @@ -312,7 +338,7 @@ else if (port == 7) dio[card].dptr->port6_7 = val; return -7; } - + return(0); } /*XY240_WRITE @@ -326,10 +352,8 @@ xy240_write(card,val) { return xy240_bo_driver(card,val,0xffffffff); } - - - - + +#define masks(K) ((1<