From 843fc4f5609c9eebe8026aa2d2d0b419dfc4a2f9 Mon Sep 17 00:00:00 2001 From: hadaq Date: Tue, 1 Oct 2002 09:07:26 +0000 Subject: [PATCH] introduced more debuginformation, mt --- hadaq/hwship.c | 45 ++++++++++++++++++++++++++++++++++++++++++--- hadaq/hwshow.c | 12 ++++++++---- 2 files changed, 50 insertions(+), 7 deletions(-) diff --git a/hadaq/hwship.c b/hadaq/hwship.c index cc3325d..ff626a4 100644 --- a/hadaq/hwship.c +++ b/hadaq/hwship.c @@ -1,4 +1,4 @@ -static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwship.c,v 6.20 2002-05-23 16:53:27 hadaq Exp $"; +static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwship.c,v 6.21 2002-10-01 09:07:26 hadaq Exp $"; #include #include @@ -82,23 +82,62 @@ int HwShip_readSubEvt(HwShip *my, void *subEvt) uint32_t * data = (uint32_t *)subEvt; int lastAddr; int currAddr = my->currAddr; - int size; + int size, i; + char str[200], buff[200]; + unsigned long *tempPtr; size = LVme_getL(my->lvme, currAddr); + lastAddr = currAddr + size; my->currAddr = lastAddr; /* skip empty subevent, nobody will realize this */ +#if 0 if (size <= SHIP_NODATASIZE) return 1; +#endif /* copy one sub evt from RC to memory */ *data++ = size; - while ((currAddr+=4) < lastAddr) { + i=0; + while ( ( (currAddr+=4) < lastAddr) && ( i < 400 ) ) { *data++ = LVme_getL(my->lvme, currAddr); + i++; + } + + if(size > 0x1900) { + syslog(LOG_ERR,"Error, size too large: %.8x", size); + + tempPtr = data-400; + + str[0] = 0; + for(i=0;i < 400; i++) { + sprintf(buff, "%.8x ", tempPtr[i]); + strcpy((char *) ((unsigned int)str + strlen(str)) , buff); + if( ((i+1)%4) == 0) { + syslog(LOG_ERR, str); + str[0] = 0; + } + } + if( (i%4)) { + syslog(LOG_ERR, str); + str[0] = 0; + } + + + + } + + + #ifndef NDEBUG syslog(LOG_DEBUG, "subEvt: %s", SubEvt_2charP(subEvt)); #endif return 0; } + + + + + diff --git a/hadaq/hwshow.c b/hadaq/hwshow.c index bebf105..ee292f0 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.21 2002-05-23 16:51:37 hadaq Exp $"; +static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwshow.c,v 6.22 2002-10-01 09:07:26 hadaq Exp $"; #define _POSIX_C_SOURCE 199309L @@ -47,7 +47,11 @@ Hardware *newHardware(void) } my = malloc(sizeof(Hardware)); - my->maxSubEvtSize = SubEvt_hdrSize() + (NSHIPS * 1600 * sizeof(uint32_t)); + /*my->maxSubEvtSize = SubEvt_hdrSize() + (NSHIPS * 1600 * sizeof(uint32_t));*/ + my->maxSubEvtSize = SubEvt_hdrSize() + (NSHIPS * 1900 * sizeof(uint32_t)); + + syslog(LOG_WARNING, "max subevent size: %.8x", my->maxSubEvtSize ); + for (i = 0; i < NSHIPS; i++) { char buf[12]; @@ -145,9 +149,9 @@ void Hardware_readout(Hardware *my, void *partEvt) } } - SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag); + SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag); SubEvt_setSize(partEvt, (char *)subEvt - (char *)partEvt); - trigNr++; + trigNr++; assert(SubEvt_size(partEvt) <= my->maxSubEvtSize); #ifndef NDEBUG -- 2.43.0