From e293baa9b5cfbd8971b9361a0a24b9c6d8b10cde Mon Sep 17 00:00:00 2001 From: hades Date: Tue, 21 Nov 2000 12:04:57 +0000 Subject: [PATCH] some optimization, status of nov00 beam time end --- hadaq/hwmdc.c | 6 +++--- hadaq/hwsam.c | 12 ++++++++++++ hadaq/hwship.c | 4 ++++ hadaq/hwshow.c | 8 +++++--- hadaq/hwtip.c | 18 +++++++++--------- hadaq/hwtof.c | 8 +++++--- hadaq/hwtrig.c | 4 ++++ hadaq/param.tcl | 6 +++--- 8 files changed, 45 insertions(+), 21 deletions(-) diff --git a/hadaq/hwmdc.c b/hadaq/hwmdc.c index 6d49270..32682d3 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.7 2000-11-12 14:40:20 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwmdc.c,v 6.8 2000-11-21 12:08:20 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -39,7 +39,7 @@ Hardware *newHardware(void) int i; if (0 > conParam(param)) { - msglog(LOG_DEBUG, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); + msglog(LOG_ERR, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); return NULL; } my = allocMem(sizeof(Hardware)); @@ -52,7 +52,7 @@ Hardware *newHardware(void) my->sam[i] = allocMem(sizeof(HwSam)); sprintf(buf, "sam%d", i); if (0 > conHwSam(my->sam[i], buf, param)) { - msglog(LOG_DEBUG, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); + msglog(LOG_ERR, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); return NULL; } } diff --git a/hadaq/hwsam.c b/hadaq/hwsam.c index 73521a5..c711a8e 100644 --- a/hadaq/hwsam.c +++ b/hadaq/hwsam.c @@ -68,7 +68,9 @@ void desHwSam(HwSam * my) void HwSam_requestBuffer(HwSam *my) { int i; +#ifndef NDEBUG msglog(LOG_DEBUG, "requestBuffer in\n"); +#endif i = bankRequested(my) == 1 ? 0 : 1; do { if (i == 1) { @@ -79,7 +81,9 @@ void HwSam_requestBuffer(HwSam *my) { } while (LVme_tstBitL(my->cram, CRR, 0) != i); my->currAddr = BUFSIZE * bankRequested(my) + 8; +#ifndef NDEBUG msglog(LOG_DEBUG, "requestBuffer out\n"); +#endif } int HwSam_isBusy(HwSam *my) { @@ -95,9 +99,13 @@ void *HwSam_readSubEvt(HwSam *my, void *subEvt) { int firstAddr; int size; +#ifndef NDEBUG msglog(LOG_DEBUG, "readSubEvt in\n"); +#endif size = LVme_getL(my->cram, my->currAddr); +#ifndef NDEBUG msglog(LOG_DEBUG, "readSubEvt currAddr: 0x%08x\n", my->currAddr); +#endif if (my->currAddr + size > endOfData(my)) { msglog(LOG_CRIT,"subEvt throw away : %d, %d\n", size, endOfData(my) - my->currAddr); @@ -112,9 +120,13 @@ void *HwSam_readSubEvt(HwSam *my, void *subEvt) { for (firstAddr = my->currAddr; my->currAddr - firstAddr < size; my->currAddr += 4) { *data++ = LVme_getL(my->cram, my->currAddr); } +#ifndef NDEBUG msglog(LOG_DEBUG, "readSubEvt subevt: %s\n", SubEvt_2charP(subEvt)); +#endif } +#ifndef NDEBUG msglog(LOG_DEBUG, "readSubEvt out\n"); +#endif return 0; } diff --git a/hadaq/hwship.c b/hadaq/hwship.c index d879354..3ee2edb 100644 --- a/hadaq/hwship.c +++ b/hadaq/hwship.c @@ -133,7 +133,9 @@ void HwShip_requestBuffer(HwShip *my) { my->oldBankConfirmed = bankConfirmed(my); #endif +#ifndef NDEBUG msglog(LOG_DEBUG, "wait for data\n"); +#endif while ((LVme_getW(my->lvme, LVL2_STAT_READ) >> 9 & 0x7f) == 0) { #if 1 struct timespec tS, *t = &tS; @@ -142,8 +144,10 @@ void HwShip_requestBuffer(HwShip *my) { nanosleep(t, NULL); #endif } +#ifndef NDEBUG msglog(LOG_DEBUG, "%d evts available\n", LVme_getW(my->lvme, LVL2_STAT_READ) >> 9 & 0x7f); +#endif i = bankRequested(my) == 1 ? 0 : 1; LVme_setW(my->lvme, LVL2_STAT_WRITE, (i << 1) | ZEROSUP); diff --git a/hadaq/hwshow.c b/hadaq/hwshow.c index 3b28161..ac8bddb 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.12 2000-11-17 13:17:59 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwshow.c,v 6.13 2000-11-21 12:04:57 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -40,7 +40,7 @@ Hardware *newHardware(void) int i; if (0 > conParam(param)) { - msglog(LOG_DEBUG, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); + msglog(LOG_ERR, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); return NULL; } my = allocMem(sizeof(Hardware)); @@ -54,7 +54,7 @@ Hardware *newHardware(void) my->ship[i] = allocMem(sizeof(HwShip)); sprintf(buf, "ipc%d", i); if (0 > conHwShip(my->ship[i], buf, param)) { - msglog(LOG_DEBUG, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); + msglog(LOG_ERR, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); return NULL; } } @@ -110,5 +110,7 @@ void Hardware_readout(Hardware *my, void *partEvt) SubEvt_setSize(partEvt, (char *)subEvt - (char *)partEvt); SubEvt_setId(partEvt, 0); +#ifndef NDEBUG msglog(LOG_DEBUG, "partEvt: %s\n", SubEvt_2charP(partEvt)); +#endif } diff --git a/hadaq/hwtip.c b/hadaq/hwtip.c index 2d20a09..1cf172d 100644 --- a/hadaq/hwtip.c +++ b/hadaq/hwtip.c @@ -6,9 +6,6 @@ #include #include -#if 1 -#include "subevt.h" -#endif #include #include "tof_defs.h" @@ -26,6 +23,7 @@ void sigbusHandler(int sig) nanosleep(t, NULL); } +#if 0 static LVme_L berrGetL(LVme * my, unsigned long offset) { volatile LVme_L retVal; @@ -75,6 +73,7 @@ static void berrSetL(LVme * my, unsigned long offset, LVme_L v) LVme_setL(my, offset, v); } while (!ourVmeAccessOK); } +#endif static int bankRequested(HwTip * my) { @@ -97,7 +96,7 @@ static int bankConfirmed(HwTip * my) static int endOfData(HwTip * my) { - return berrGetL(my->lvme, my->fifo) + my->fifo; + return LVme_getL(my->lvme, my->fifo) + my->fifo; } int conHwTip(HwTip * my, const char *name, const Param *param) @@ -166,7 +165,9 @@ void HwTip_requestBuffer(HwTip * my) my->daqGr = _LVL2_PIPE1_GR; my->fifo = MEMBASE; } +#ifndef NDEBUG msglog(LOG_DEBUG, "wait for data\n"); +#endif while (!LVme_tstBitL(my->lvme, CONFIG1BASE + CFG_MASTER_STATUS, my->pipeFull)) { #if 1 struct timespec tS, *t = &tS; @@ -175,7 +176,9 @@ void HwTip_requestBuffer(HwTip * my) nanosleep(t, NULL); #endif } +#ifndef NDEBUG msglog(LOG_DEBUG, "data available\n"); +#endif LVme_setBitL(my->lvme, CONFIG1BASE + CFG_MASTER_CONTROL, my->daqRq); my->currAddr = my->fifo + 0x4; @@ -197,10 +200,7 @@ int HwTip_readSubEvt(HwTip * my, void *subEvt) int firstAddr; size_t size; - do { - size = berrGetL(my->lvme, my->currAddr); - msglog(LOG_DEBUG, "size: 0x%08x\n", size); - } while(size > 2250); + size = LVme_getL(my->lvme, my->currAddr); /* copy one sub evt from RC to memory */ firstAddr = my->currAddr; @@ -208,7 +208,7 @@ int HwTip_readSubEvt(HwTip * my, void *subEvt) *data++ = size; my->currAddr += 4; for (; my->currAddr - firstAddr < size; my->currAddr += 4) { - *data++ = berrGetL(my->lvme, my->currAddr); + *data++ = LVme_getL(my->lvme, my->currAddr); } return 0; diff --git a/hadaq/hwtof.c b/hadaq/hwtof.c index c3ecf7c..404d26f 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.16 2000-11-11 19:43:02 hades Exp $"; +static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtof.c,v 1.17 2000-11-21 12:06:03 hades Exp $"; #define _POSIX_C_SOURCE 199309L #include @@ -41,7 +41,7 @@ Hardware *newHardware(void) int i; if (0 > conParam(param)) { - msglog(LOG_DEBUG, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); + msglog(LOG_ERR, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); return NULL; } my = allocMem(sizeof(Hardware)); @@ -55,7 +55,7 @@ Hardware *newHardware(void) my->tip[i] = allocMem(sizeof(HwTip)); sprintf(buf, "tip%d", i); if (0 > conHwTip(my->tip[i], buf, param)) { - msglog(LOG_DEBUG, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); + msglog(LOG_ERR, "%s:%d:%s\n", __FILE__, __LINE__, strerror(errno)); return NULL; } } @@ -113,5 +113,7 @@ void Hardware_readout(Hardware *my, void *partEvt) SubEvt_setTrigNr(partEvt, (trigNr << 8) | trigTag); SubEvt_setId(partEvt, 0); trigNr++; +#ifndef NDEBUG msglog(LOG_DEBUG, "partEvt: %s\n", SubEvt_2charP(partEvt)); +#endif } diff --git a/hadaq/hwtrig.c b/hadaq/hwtrig.c index bc33188..13506e2 100644 --- a/hadaq/hwtrig.c +++ b/hadaq/hwtrig.c @@ -141,7 +141,9 @@ void readoutTrig(Hardware *my, void *subEvt) *data++ = LVme_getW(my->lvme4, MU_FIFO) & 0xffff; } +#ifndef NDEBUG msglog(LOG_DEBUG, "subEvt: %s\n", SubEvt_2charP(subEvt)); +#endif } void Hardware_readout(Hardware *my, void *partEvt) @@ -160,7 +162,9 @@ void Hardware_readout(Hardware *my, void *partEvt) SubEvt_setId(partEvt, 0); SubEvt_setTrigNr(partEvt, (trigNr << 8) | trigTag); trigNr++; +#ifndef NDEBUG msglog(LOG_DEBUG, "partEvt: %s\n", SubEvt_2charP(partEvt)); +#endif } diff --git a/hadaq/param.tcl b/hadaq/param.tcl index 0481bf7..d054830 100644 --- a/hadaq/param.tcl +++ b/hadaq/param.tcl @@ -21,9 +21,9 @@ set readout(stndln) 0 set readout(priority) -2 set sam0(cardbase) 0x1C000000 -set sam1(cardbase) 0x2C000000 -set sam2(cardbase) 0x3C000000 -set sam3(cardbase) 0x5C000000 +set sam1(cardbase) 0x3C000000 +set sam2(cardbase) 0x5C000000 +set sam3(cardbase) 0x7C000000 set sam4(cardbase) 0x8C000000 set sam5(cardbase) 0x9C000000 set sam6(cardbase) 0xaC000000 -- 2.43.0