From 960688939866afeb1ab43f95a58613e811b701a0 Mon Sep 17 00:00:00 2001 From: hades Date: Thu, 21 Sep 2000 09:28:47 +0000 Subject: [PATCH] Now using the parameter library from Benjamin Sailer to be found on ftp.e12.physik.tu-muenchen.de --- hadaq/Makefile | 37 +++++++++++++------------- hadaq/daq_lib.c | 71 ++++++++++++++++++++++++++++++++----------------- hadaq/daq_lib.h | 2 +- hadaq/daqctrl.c | 4 +-- hadaq/hwdtu.c | 13 ++++++--- hadaq/hwdtu.h | 2 +- hadaq/hwmdc.c | 4 +-- hadaq/hwrace.c | 13 ++++++--- hadaq/hwrace.h | 2 +- hadaq/hwrich.c | 4 +-- hadaq/hwsam.c | 9 ++++++- hadaq/hwsam.h | 2 +- hadaq/hwship.c | 11 ++++++-- hadaq/hwship.h | 2 +- hadaq/hwshow.c | 4 +-- hadaq/hwsoft.c | 13 +++++++-- hadaq/hwtbus.c | 4 +-- hadaq/hwtip.c | 11 ++++++-- hadaq/hwtip.h | 2 +- hadaq/hwtof.c | 4 +-- hadaq/hwtrig.c | 11 ++++++-- hadaq/makeenv | 8 +++--- hadaq/param.c | 59 ---------------------------------------- hadaq/param.h | 15 ----------- hadaq/param.tcl | 2 +- 25 files changed, 154 insertions(+), 155 deletions(-) delete mode 100644 hadaq/param.c delete mode 100644 hadaq/param.h diff --git a/hadaq/Makefile b/hadaq/Makefile index 979d181..7373d0b 100644 --- a/hadaq/Makefile +++ b/hadaq/Makefile @@ -14,7 +14,7 @@ COPTS = -g CFLAGS = $(COPTS) $(INCLUDES) $(DEFINES) -DAQCTRL_OBJS = daqctrl.o daq_lib.o param.o \ +DAQCTRL_OBJS = daqctrl.o daq_lib.o \ worker.o psxshm.o mman.o DAQ_XMANAGE_OBJS = tcldaq.o tkAppInit.o \ agent_clnt.o agent_xdr.o worker.o psxshm.o mman.o @@ -24,7 +24,7 @@ DAQ_AGENT_OBJS = agent.o agent_svc.o agent_xdr.o \ worker.o psxshm.o mman.o DAQ_READOUT_OBJS = readout.o \ worker.o \ - $(HW_OBJS) param.o subevt.o \ + $(HW_OBJS) subevt.o \ shmtrans.o semaphore.o hadtuqueue.o \ psxshm.o mman.o \ hadtu.o @@ -145,22 +145,22 @@ evtbuild.o: evtbuild.c worker.h psxshm.h evt.h hadtu.h subevt.h \ hadtu.o: hadtu.c hadtu.h hadtuqueue.o: hadtuqueue.c hadtu.h hadtuqueue.h hldread.o: hldread.c evt.h hadtu.h subevt.h hldread.h -hwdtu.o: hwdtu.c subevt.h hadtu.h param.h hwdtu.h rc.h -hwmdc.o: hwmdc.c param.h subevt.h hadtu.h hwsam.h hardware.h -hwrace.o: hwrace.c subevt.h hadtu.h param.h rc.h hwrace.h -hwrich.o: hwrich.c param.h subevt.h hadtu.h hwrace.h rc.h hardware.h -hwsam.o: hwsam.c subevt.h hadtu.h sam_defs.h hwsam.h param.h -hwship.o: hwship.c param.h ipc_basis.h hwship.h -hwshow.o: hwshow.c param.h subevt.h hadtu.h hwship.h hardware.h -hwsis3801.o: hwsis3801.c subevt.h hadtu.h param.h hwsis3801.h rc.h -hwsoft.o: hwsoft.c subevt.h hadtu.h param.h hardware.h -hwtbus.o: hwtbus.c param.h subevt.h hadtu.h hwdtu.h rc.h hardware.h -hwtip.o: hwtip.c subevt.h hadtu.h param.h tof_defs.h hwtip.h -hwtof.o: hwtof.c param.h subevt.h hadtu.h hwtip.h hardware.h -hwtrig.o: hwtrig.c subevt.h hadtu.h param.h hardware.h -hwv488.o: hwv488.c subevt.h hadtu.h param.h hwv488.h rc.h -hwv775.o: hwv775.c subevt.h hadtu.h param.h hwv775.h rc.h -hwv878.o: hwv878.c subevt.h hadtu.h param.h hwv878.h rc.h +hwdtu.o: hwdtu.c subevt.h hadtu.h hwdtu.h rc.h +hwmdc.o: hwmdc.c subevt.h hadtu.h hwsam.h hardware.h +hwrace.o: hwrace.c subevt.h hadtu.h rc.h hwrace.h +hwrich.o: hwrich.c subevt.h hadtu.h hwrace.h rc.h hardware.h +hwsam.o: hwsam.c subevt.h hadtu.h sam_defs.h hwsam.h +hwship.o: hwship.c ipc_basis.h hwship.h +hwshow.o: hwshow.c subevt.h hadtu.h hwship.h hardware.h +hwsis3801.o: hwsis3801.c subevt.h hadtu.h hwsis3801.h rc.h +hwsoft.o: hwsoft.c subevt.h hadtu.h hardware.h +hwtbus.o: hwtbus.c subevt.h hadtu.h hwdtu.h rc.h hardware.h +hwtip.o: hwtip.c subevt.h hadtu.h tof_defs.h hwtip.h +hwtof.o: hwtof.c subevt.h hadtu.h hwtip.h hardware.h +hwtrig.o: hwtrig.c subevt.h hadtu.h hardware.h +hwv488.o: hwv488.c subevt.h hadtu.h hwv488.h rc.h +hwv775.o: hwv775.c subevt.h hadtu.h hwv775.h rc.h +hwv878.o: hwv878.c subevt.h hadtu.h hwv878.h rc.h memnet.o: memnet.c shmtrans.h semaphore.h psxshm.h hadtuqueue.h \ hadtu.h nettrans.h worker.h mman.o: mman.c mman.h @@ -172,7 +172,6 @@ online.o: online.c evt.h hadtu.h subevt.h online.h online_clnt.o: online_clnt.c online.h online_svc.o: online_svc.c online.h online_xdr.o: online_xdr.c online.h -param.o: param.c param.h psxshm.o: psxshm.c mman.h psxshm.h rc.o: rc.c rc.h readout.o: readout.c grmblfx.h hardware.h shmtrans.h semaphore.h \ diff --git a/hadaq/daq_lib.c b/hadaq/daq_lib.c index 0b422a8..b91c86c 100644 --- a/hadaq/daq_lib.c +++ b/hadaq/daq_lib.c @@ -1,70 +1,93 @@ -static char rcsId[] = "$Id: daq_lib.c,v 6.1 2000-07-18 14:24:36 hades Exp $"; +static char rcsId[] = "$Id: daq_lib.c,v 6.2 2000-09-21 09:28:47 hades Exp $"; #include #include #include #include -#include "param.h" +#include #include "worker.h" #include "daq_lib.h" -int Daq_reset(const char *name, const Param *param) +typedef struct OurParamsS { + char file[PARAM_MAX_VALUE_LEN]; + char args[PARAM_MAX_VALUE_LEN]; +} OurParams; + +static OurParams *getParams(const char *n, const Param *p) { + static OurParams *pa = NULL; + + if (pa == NULL) { + int i; + + pa = malloc(sizeof(OurParams)); + + if (pa == NULL + || -1 == Param_getString(p, n, "file", &i, pa->file) || i == 0 + || -1 == Param_getString(p, n, "args", &i, pa->args) || i == 0 + ) { + free(pa); + pa = NULL; + } + } + + return pa; +} + +int Daq_reset(const char *n, const Param *p) { - Daq_stop(name, param); + Daq_stop(n, p); return 0; } -int Daq_init(const char *name, const Param *param) +int Daq_init(const char *n, const Param *p) { - Daq_reset(name, param); + Daq_reset(n, p); return 0; } -int Daq_start(const char *name, const Param *param) +int Daq_start(const char *n, const Param *p) { - const char *file; - const char *args; char *argv[512]; int i; char *s; + OurParams *pa; - file = Param_getString(param, name, "file"); - args = Param_getString(param, name, "args"); + pa = getParams(n, p); i = 0; - s = malloc(strlen(args)); - strcpy(s, args); + s = malloc(strlen(pa->args) + 1); + strcpy(s, pa->args); while((argv[i++] = strtok(s, " \t\n")) != NULL) { s = NULL; } free(s); - return Worker_start(file, argv); + return Worker_start(pa->file, argv); } -int Daq_stop(const char *name, const Param *param) +int Daq_stop(const char *n, const Param *p) { - const char *args; char *s; + OurParams *pa; - args = Param_getString(param, name, "args"); - s = malloc(strlen(args)); - strcpy(s, args); + pa = getParams(n, p); + s = malloc(strlen(pa->args) + 1); + strcpy(s, pa->args); strtok(s, " \t\n"); Worker_stop(s, 15); free(s); return 0; } -int Daq_status(const char *name, const Param *param) +int Daq_status(const char *n, const Param *p) { - const char *args; char *s; + OurParams *pa; - args = Param_getString(param, name, "args"); - s = malloc(strlen(args)); - strcpy(s, args); + pa = getParams(n, p); + s = malloc(strlen(pa->args) + 1); + strcpy(s, pa->args); strtok(s, " \t\n"); puts(Worker_status(s)); free(s); diff --git a/hadaq/daq_lib.h b/hadaq/daq_lib.h index dace452..1a3b2eb 100644 --- a/hadaq/daq_lib.h +++ b/hadaq/daq_lib.h @@ -1,7 +1,7 @@ #ifndef Daq_LIB_H #define Daq_LIB_H -#include "param.h" +#include int Daq_init(const char *name, const Param *param); int Daq_reset(const char *name, const Param *param); diff --git a/hadaq/daqctrl.c b/hadaq/daqctrl.c index a944fcc..c42244e 100644 --- a/hadaq/daqctrl.c +++ b/hadaq/daqctrl.c @@ -1,4 +1,4 @@ -static char rcsId[] = "$Id: daqctrl.c,v 6.1 2000-07-18 14:24:36 hades Exp $"; +static char rcsId[] = "$Id: daqctrl.c,v 6.2 2000-09-21 09:28:47 hades Exp $"; #include #include @@ -7,7 +7,7 @@ static char rcsId[] = "$Id: daqctrl.c,v 6.1 2000-07-18 14:24:36 hades Exp $"; #include #include -#include "param.h" +#include #include "daq_lib.h" diff --git a/hadaq/hwdtu.c b/hadaq/hwdtu.c index 0f370a7..a43e5f1 100644 --- a/hadaq/hwdtu.c +++ b/hadaq/hwdtu.c @@ -1,4 +1,4 @@ -static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwdtu.c,v 1.3 2000-07-18 14:24:36 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwdtu.c,v 1.4 2000-09-21 09:28:47 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -13,12 +13,13 @@ static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/had #include "subevt.h" -#include "param.h" +#include #include "hwdtu.h" int conHwDtu(HwDtu *my, const char *name, const Param *param) { unsigned long cardBase; + int paramWasFound; int i; assert(my != NULL); @@ -26,7 +27,13 @@ int conHwDtu(HwDtu *my, const char *name, const Param *param) strcpy(my->name, name); my->trigNr = 0; - cardBase = Param_getInt(param, my->name, "cardbase"); + Param_getInt(param, my->name, "cardbase", ¶mWasFound, &cardBase); + if (!paramWasFound) { + msglog(LOG_WARNING, + "Parameter %s(%s) not found, default = 0\n", my->name, "cardbase"); + cardBase = 0; + } + my->lvme = allocMem(sizeof(LVme)); if (0 > conLVme(my->lvme, cardBase, 0x10000, 0x09, DTU_MAGIC, 1)) { diff --git a/hadaq/hwdtu.h b/hadaq/hwdtu.h index 2c33159..14ad5bd 100644 --- a/hadaq/hwdtu.h +++ b/hadaq/hwdtu.h @@ -4,7 +4,7 @@ #include #include "rc.h" -#include "param.h" +#include typedef struct HwDtuS { char name[16]; diff --git a/hadaq/hwmdc.c b/hadaq/hwmdc.c index 4219151..d215461 100644 --- a/hadaq/hwmdc.c +++ b/hadaq/hwmdc.c @@ -1,4 +1,4 @@ -static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwmdc.c,v 6.4 2000-07-18 14:24:36 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwmdc.c,v 6.5 2000-09-21 09:28:47 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -8,7 +8,7 @@ static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/had #include #include -#include "param.h" +#include #include "subevt.h" #include "hwsam.h" diff --git a/hadaq/hwrace.c b/hadaq/hwrace.c index 9acc891..6569ecc 100644 --- a/hadaq/hwrace.c +++ b/hadaq/hwrace.c @@ -1,4 +1,4 @@ -static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrace.c,v 6.7 2000-07-18 14:24:36 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrace.c,v 6.8 2000-09-21 09:28:47 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -14,7 +14,7 @@ static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/had #include "subevt.h" -#include "param.h" +#include #include "rc.h" #include "hwrace.h" @@ -38,6 +38,7 @@ static int endOfData(HwRace *my) int conHwRace(HwRace *my, const char *name, const Param *param) { unsigned long cardBase; + int paramWasFound; int i; assert(my != NULL); @@ -46,7 +47,13 @@ int conHwRace(HwRace *my, const char *name, const Param *param) my->trigNr = 0; - cardBase = Param_getInt(param, my->name, "cardbase"); + Param_getInt(param, my->name, "cardbase", ¶mWasFound, &cardBase); + if (!paramWasFound) { + msglog(LOG_WARNING, + "Parameter %s(%s) not found, default = 0\n", my->name, "cardbase"); + cardBase = 0; + } + my->rc = allocMem(sizeof(Rc)); if (0 > conRc(my->rc, "rc", cardBase)) { diff --git a/hadaq/hwrace.h b/hadaq/hwrace.h index 3818ea5..250200a 100644 --- a/hadaq/hwrace.h +++ b/hadaq/hwrace.h @@ -4,7 +4,7 @@ #include #include "rc.h" -#include "param.h" +#include typedef struct HwRaceS { char name[16]; diff --git a/hadaq/hwrich.c b/hadaq/hwrich.c index a271782..7d32615 100644 --- a/hadaq/hwrich.c +++ b/hadaq/hwrich.c @@ -1,4 +1,4 @@ -static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrich.c,v 6.8 2000-07-18 14:24:36 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrich.c,v 6.9 2000-09-21 09:28:47 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -16,7 +16,7 @@ static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/had #include "dtu_defs.h" #endif -#include "param.h" +#include #include "subevt.h" #include "hwrace.h" diff --git a/hadaq/hwsam.c b/hadaq/hwsam.c index 9d512b7..41f610d 100644 --- a/hadaq/hwsam.c +++ b/hadaq/hwsam.c @@ -42,13 +42,20 @@ static void acquireMode(HwSam *my) { int conHwSam(HwSam * my, const char *name, const Param *param) { unsigned long cardBase; + int paramWasFound; int i; assert(my != NULL); strcpy(my->name, name); - cardBase = Param_getInt(param, my->name, "cardbase"); + Param_getInt(param, my->name, "cardbase", ¶mWasFound, &cardBase); + if (!paramWasFound) { + msglog(LOG_WARNING, + "Parameter %s(%s) not found, default = 0\n", my->name, "cardbase"); + cardBase = 0; + } + my->cram = allocMem(sizeof(LVme)); if (0 > conLVme(my->cram, cardBase, 0x10000L, 0x09, 0x0, 4)) { msglog(LOG_ERR, "HwSam on %p not found\n", cardBase); diff --git a/hadaq/hwsam.h b/hadaq/hwsam.h index 1ec60ab..7830b3f 100644 --- a/hadaq/hwsam.h +++ b/hadaq/hwsam.h @@ -3,7 +3,7 @@ #include -#include "param.h" +#include typedef struct HwSamS { char name[16]; diff --git a/hadaq/hwship.c b/hadaq/hwship.c index b93779c..83679a4 100644 --- a/hadaq/hwship.c +++ b/hadaq/hwship.c @@ -5,7 +5,7 @@ #include #include -#include "param.h" +#include #include "ipc_basis.h" #include "hwship.h" @@ -90,13 +90,20 @@ static void acquireMode(HwShip *my) { int conHwShip(HwShip * my, const char *name, const Param *param) { unsigned long cardBase; + int paramWasFound; int i; assert(my != NULL); strcpy(my->name, name); - cardBase = Param_getInt(param, my->name, "cardbase"); + Param_getInt(param, my->name, "cardbase", ¶mWasFound, &cardBase); + if (!paramWasFound) { + msglog(LOG_WARNING, + "Parameter %s(%s) not found, default = 0\n", my->name, "cardbase"); + cardBase = 0; + } + my->lvme = allocMem(sizeof(LVme)); if (0 > conLVme(my->lvme, cardBase, 0x400000UL, 0x39UL, 0, 0)) { msglog(LOG_ERR, "HwShip on %p not found\n", cardBase); diff --git a/hadaq/hwship.h b/hadaq/hwship.h index f64826f..923742c 100644 --- a/hadaq/hwship.h +++ b/hadaq/hwship.h @@ -3,7 +3,7 @@ #include -#include "param.h" +#include typedef struct HwShipS { char name[16]; diff --git a/hadaq/hwshow.c b/hadaq/hwshow.c index 4a5cda8..391bd43 100644 --- a/hadaq/hwshow.c +++ b/hadaq/hwshow.c @@ -1,4 +1,4 @@ -static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwshow.c,v 6.7 2000-07-18 14:24:36 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwshow.c,v 6.8 2000-09-21 09:28:47 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -8,7 +8,7 @@ static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/had #include #include -#include "param.h" +#include #include "subevt.h" #include "hwship.h" diff --git a/hadaq/hwsoft.c b/hadaq/hwsoft.c index 2de1b46..9a03ad6 100644 --- a/hadaq/hwsoft.c +++ b/hadaq/hwsoft.c @@ -4,8 +4,9 @@ #include +#include + #include "subevt.h" -#include "param.h" struct HardwareS { size_t maxSubEvtSize; @@ -29,13 +30,21 @@ Hardware *newHardware(void) { Hardware *my; Param *param; + int paramWasFound; + unsigned long size; my = allocMem(sizeof(Hardware)); my->maxSubEvtSize = 2 * SubEvt_hdrSize() + 5004 * sizeof(UInt4); param = allocMem(sizeof(Param)); conParam(param); - printf("%d\n", Param_getInt(param, "soft", "size")); + Param_getInt(param, "soft", "size", ¶mWasFound, &size); + if (!paramWasFound) { + msglog(LOG_WARNING, + "Parameter %s(%s) not found, defaulting to 0\n", "soft", "size"); + size = 0; + } + printf("size: %d\n", size); desParam(param); return my; } diff --git a/hadaq/hwtbus.c b/hadaq/hwtbus.c index c09a5b7..3521c06 100644 --- a/hadaq/hwtbus.c +++ b/hadaq/hwtbus.c @@ -1,4 +1,4 @@ -static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtbus.c,v 1.3 2000-07-18 14:24:36 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtbus.c,v 1.4 2000-09-21 09:28:47 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -8,7 +8,7 @@ static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/had #include #include -#include "param.h" +#include #include "subevt.h" #include "hwdtu.h" diff --git a/hadaq/hwtip.c b/hadaq/hwtip.c index 1769b54..f01cc02 100644 --- a/hadaq/hwtip.c +++ b/hadaq/hwtip.c @@ -9,7 +9,7 @@ #if 1 #include "subevt.h" #endif -#include "param.h" +#include #include "tof_defs.h" #include "hwtip.h" @@ -103,6 +103,7 @@ static int endOfData(HwTip * my) int conHwTip(HwTip * my, const char *name, const Param *param) { unsigned long cardBase; + int paramWasFound; int i; assert(my != NULL); @@ -110,7 +111,13 @@ int conHwTip(HwTip * my, const char *name, const Param *param) signal(SIGBUS, sigbusHandler); strcpy(my->name, name); - cardBase = Param_getInt(param, my->name, "cardbase"); + Param_getInt(param, my->name, "cardbase", ¶mWasFound, &cardBase); + if (!paramWasFound) { + msglog(LOG_WARNING, + "Parameter %s(%s) not found, default = 0\n", my->name, "cardbase"); + cardBase = 0; + } + my->lvme = allocMem(sizeof(LVme)); if (0 > conLVme(my->lvme, cardBase, 0x2000000UL, 0x09UL, 0, 0)) { msglog(LOG_ERR, "HwTip on %p not found\n", cardBase); diff --git a/hadaq/hwtip.h b/hadaq/hwtip.h index 84930e1..23178dd 100644 --- a/hadaq/hwtip.h +++ b/hadaq/hwtip.h @@ -3,7 +3,7 @@ #include -#include "param.h" +#include typedef struct HwTipS { char name[16]; diff --git a/hadaq/hwtof.c b/hadaq/hwtof.c index 04160f5..7f5785e 100644 --- a/hadaq/hwtof.c +++ b/hadaq/hwtof.c @@ -1,4 +1,4 @@ -static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtof.c,v 1.12 2000-07-18 14:24:36 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtof.c,v 1.13 2000-09-21 09:28:47 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -8,7 +8,7 @@ static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/had #include #include -#include "param.h" +#include #include "subevt.h" #include "hwtip.h" diff --git a/hadaq/hwtrig.c b/hadaq/hwtrig.c index f5477e5..3c5bee2 100644 --- a/hadaq/hwtrig.c +++ b/hadaq/hwtrig.c @@ -6,7 +6,7 @@ #include #include "subevt.h" -#include "param.h" +#include #define MU_EVT_COUNT 0x0e8014UL #define MU_FIFO 0x0000UL @@ -39,6 +39,7 @@ Hardware *newHardware(void) { Hardware *my; unsigned long cardBase; + int paramWasFound; Param *param; my = allocMem(sizeof(Hardware)); @@ -49,7 +50,13 @@ Hardware *newHardware(void) param = allocMem(sizeof(Param)); conParam(param); - cardBase = Param_getInt(param, "mu", "cardbase"); + Param_getInt(param, "mu", "cardbase", ¶mWasFound, &cardBase); + if (!paramWasFound) { + msglog(LOG_WARNING, + "Parameter %s(%s) not found, default = 0\n", "mu", "cardbase"); + cardBase = 0; + } + desParam(param); my->lvme0 = allocMem(sizeof(LVme)); diff --git a/hadaq/makeenv b/hadaq/makeenv index caa0b3d..bae2a75 100644 --- a/hadaq/makeenv +++ b/hadaq/makeenv @@ -26,15 +26,15 @@ elif test $HADAQ_CONF = "LINUX" then export CC="gcc" export RPCGEN="rpcgen" - export LOADLIBES="-L$HOME/lib/$SYSTYPE -lhadesstd -llatm -llvme -ltk -L/usr/X11R6/lib -lX11 -ltcl -lm -ldl -latm" - export INCLUDES="-I$HOME/include" + export LOADLIBES="-L$HOME/lib/$SYSTYPE -lhadesstd -llatm -llvme -ltclParam -ltk -L/usr/X11R6/lib -lX11 -ltcl -lm -ldl -latm" + export INCLUDES="-I$HOME/include -I$HOME/include/tcl" export DEFINES="-UNDEBUG -DHADESSTD_NEXITSTAT -DHADESSTD_NGETOPT" elif test $HADAQ_CONF = "LINUX_NOATM" then export CC="gcc" export RPCGEN="rpcgen" - export LOADLIBES="-L$HOME/lib/$SYSTYPE -lhadesstd -llatm -llvme -ltk -L/usr/X11R6/lib -lX11 -ltcl -lm -ldl" - export INCLUDES="-I$HOME/include" + export LOADLIBES="-L$HOME/lib/$SYSTYPE -lhadesstd -llatm -llvme -ltclParam -ltk -L/usr/X11R6/lib -lX11 -ltcl -lm -ldl" + export INCLUDES="-I$HOME/include -I$HOME/include/tcl" export DEFINES="-UNDEBUG -DHADESSTD_NEXITSTAT -DHADESSTD_NGETOPT -DNOATM" elif test $HADAQ_CONF = "LINUX_E128" then diff --git a/hadaq/param.c b/hadaq/param.c deleted file mode 100644 index eca5028..0000000 --- a/hadaq/param.c +++ /dev/null @@ -1,59 +0,0 @@ -static char rcsId[] = "$Id: param.c,v 6.3 2000-07-18 14:24:36 hades Exp $"; - -#include - -#include -#include -#include -#include -#include - -#include "param.h" - -int conParam(Param *my) -{ - int retVal; - char *fileName; - int code; - - fileName = getenv("DAQSLOW_PARAM_FILE"); - if (fileName == NULL) { - fileName = "param.tcl"; - } - my->interp = Tcl_CreateInterp(); - code = Tcl_EvalFile(my->interp, fileName); - if (*my->interp->result != 0) { - fprintf(stderr, "opening param file: %s\n", my->interp->result); - retVal = -1; - } else { - if (code != TCL_OK) { - retVal = -1; - } else { - retVal = 0; - } - } - return retVal; -} - -void desParam(Param *my) -{ - Tcl_DeleteInterp(my->interp); -} - -const char *Param_getString(const Param *my, const char *name, const char *idx) -{ - const char *val; - - val = Tcl_GetVar2(my->interp, name, idx, 0); - if (val == NULL) { - val = ""; - fprintf(stderr, - "Parameter %s(%s) not found, default is \"\"\n", name, idx); - } - return val; -} - -unsigned long Param_getInt(const Param *my, const char *name, const char *idx) -{ - return strtoul(Param_getString(my, name, idx), NULL, 0); -} diff --git a/hadaq/param.h b/hadaq/param.h deleted file mode 100644 index fced49a..0000000 --- a/hadaq/param.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef PARAM_H -#define PARAM_H - -#include - -typedef struct ParamS { - Tcl_Interp *interp; -} Param; - -int conParam(Param *my); -void desParam(Param *my); -const char *Param_getString(const Param *my, const char *name, const char *idx); -unsigned long Param_getInt(const Param *my, const char *name, const char *idx); - -#endif diff --git a/hadaq/param.tcl b/hadaq/param.tcl index 147d891..da92502 100644 --- a/hadaq/param.tcl +++ b/hadaq/param.tcl @@ -1,5 +1,5 @@ set evtbuild(file) ./daq_evtbuild -set evtbuild(args) "daq_evtbuild -s 1 -m 1 -a" +set evtbuild(args) "daq_evtbuild -s 1 -a" set netmem(file) ./daq_netmem set netmem(args) "daq_netmem -a -i UDP:0.0.0.0:3000 -m 1" set memnet(file) ./daq_memnet -- 2.43.0