-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtip.c,v 1.19 2001-08-30 16:37:37 hades Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtip.c,v 1.20 2001-08-31 11:17:31 hades Exp $";
#include <assert.h>
#include <string.h>
void HwTip_requestBuffer(HwTip * my)
{
+ LVme_clrBitL(my->lvme, CONFIG1BASE + CFG_MASTER_CONTROL, my->daqRq);
+
+ while (LVme_tstBitL(my->lvme, CONFIG1BASE + CFG_MASTER_STATUS, my->daqGr)) {
+#if 1
+ struct timespec tS, *t = &tS;
+ t->tv_sec = 0;
+ t->tv_nsec = 020000000;
+ nanosleep(t, NULL);
+#endif
+ }
if (my->bankRequested == 0) {
my->bankRequested = 1;
my->pipeFull = _LVL2_PIPE2_FULL;
my->daqGr = _LVL2_PIPE1_GR;
my->fifo = MEMBASE;
}
-#ifndef NDEBUG
- msglog(LOG_DEBUG, "wait for data\n");
-#endif
-
-#if 0
- while (!LVme_tstBitL(my->lvme, CONFIG1BASE + CFG_MASTER_STATUS, my->pipeFull)) {
-#if 1
- struct timespec tS, *t = &tS;
- t->tv_sec = 0;
- t->tv_nsec = 020000000;
- nanosleep(t, NULL);
-#endif
- }
-#endif
LVme_setBitL(my->lvme, CONFIG1BASE + CFG_MASTER_CONTROL, my->daqRq);
int HwTip_isBusy(HwTip * my)
{
- int isGranted;
-
- isGranted = LVme_tstBitL(my->lvme, CONFIG1BASE + CFG_MASTER_STATUS, my->daqGr);
-
- if (isGranted) {
-#ifndef NDEBUG
- msglog(LOG_DEBUG, "data available\n");
-#endif
- LVme_clrBitL(my->lvme, CONFIG1BASE + CFG_MASTER_CONTROL, my->daqRq);
-
- while (LVme_tstBitL(my->lvme, CONFIG1BASE + CFG_MASTER_STATUS, my->daqGr)) {
- #if 1
- struct timespec tS, *t = &tS;
- t->tv_sec = 0;
- t->tv_nsec = 020000000;
- nanosleep(t, NULL);
- #endif
- }
- }
- return !isGranted;
+ return !LVme_tstBitL(my->lvme, CONFIG1BASE + CFG_MASTER_STATUS, my->daqGr);
}
int HwTip_isEmpty(HwTip * my)
size = LVme_getL(my->lvme, my->currAddr);
if (size > 0x40000) {
msglog(LOG_ERR, "found size: %.8x , address: %.8x, too long, fatal! \n", size, my->currAddr);
- exit(-1);
+ exit(1);
}
/* copy one sub evt from RC to memory */
firstAddr = my->currAddr;