-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 <assert.h>
#include <string.h>
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;
}
+
+
+
+
+
-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
}
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];
}
}
- 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