-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtip.c,v 1.22 2002-05-19 23:17:03 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtip.c,v 1.23 2002-05-25 09:22:06 hadaq Exp $";
#include <assert.h>
#include <string.h>
return val;
}
-#if 0
-static int bankConfirmed(HwTip * my)
-{
- uint16_t val;
-
- val = -1;
- return val;
-}
-
-#endif
static int endOfData(HwTip * my)
{
{
return my->currAddr >= endOfData(my);
}
+
#define TIP_NODATASIZE 20
int HwTip_readSubEvt(HwTip * my, void *subEvt)
{
uint32_t *data = (uint32_t *) subEvt;
int lastAddr;
+ int currAddr = my->currAddr;
size_t size;
size = LVme_getL(my->lvme, my->currAddr);
- lastAddr = my->currAddr + size;
+ lastAddr = currAddr + size;
+ my->currAddr = lastAddr;
if (size > TIP_BUFSIZE) {
syslog(LOG_ERR, "found size: %.8x , address: %.8x, too long, fatal! ", size, my->currAddr);
- my->currAddr = lastAddr;
return -1;
}
- if( size <= TIP_NODATASIZE ) {
- my->currAddr = lastAddr;
- return 1;
- }
+ if( size <= TIP_NODATASIZE ) return 1;
+
/* copy one sub evt from RC to memory */
*data++ = size;
- while ((my->currAddr+=4) < lastAddr) {
- *data++ = LVme_getL(my->lvme, my->currAddr);
+ while ((currAddr+=4) < lastAddr) {
+ *data++ = LVme_getL(my->lvme, currAddr);
}
return 0;