size_t size;
UInt1 trigTag;
- size = berrGetL(my->lvme, my->currAddr);
- msglog(LOG_DEBUG, "size: 0x%08x\n", size);
+ do {
+ size = berrGetL(my->lvme, my->currAddr);
+ msglog(LOG_DEBUG, "size: 0x%08x\n", size);
+ } while(size > 2250);
+#if 0
if (size > 2400) {
msglog(LOG_ERR, "size too large: 0x%08x on 0x%08x\n", size, my->currAddr);
}
+#endif
/* copy one sub evt from RC to memory */
- for (firstAddr = my->currAddr; my->currAddr - firstAddr < size; my->currAddr += 4) {
+ firstAddr = my->currAddr;
+ /* take the size from above to use the check */
+ *data++ = size;
+ my->currAddr += 4;
+ for (; my->currAddr - firstAddr < size; my->currAddr += 4) {
*data++ = berrGetL(my->lvme, my->currAddr);
}
-static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtof.c,v 1.10 2000-05-09 12:24:22 hades Exp $";
+static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtof.c,v 1.11 2000-06-01 08:39:32 hades Exp $";
#define _POSIX_C_SOURCE 199309L
#include <unistd.h>
}
my = allocMem(sizeof(Hardware));
- my->maxSubEvtSize = SubEvt_hdrSize() + (800 * sizeof(UInt4));
+ my->maxSubEvtSize = SubEvt_hdrSize() + (560 * sizeof(UInt4));
my->tipToRead = 0;
for (i = 0; i < NTIPS; i++) {