From: hadaq Date: Mon, 27 May 2002 21:25:29 +0000 (+0000) Subject: new version of readoutTrig return code changed to trigCode instead of void. X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=4215e5174df7bc8392bd5b18f4f65bf3545bb3fd;p=daqdata.git new version of readoutTrig return code changed to trigCode instead of void. W. Koenig --- diff --git a/hadaq/hwtrig.c b/hadaq/hwtrig.c index 13a3fd2..e59dcd5 100644 --- a/hadaq/hwtrig.c +++ b/hadaq/hwtrig.c @@ -1,4 +1,4 @@ -static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtrig.c,v 6.27 2002-05-25 09:20:38 hadaq Exp $"; +static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtrig.c,v 6.28 2002-05-27 21:25:29 hadaq Exp $"; /* modified MU readout producing a dense pack of 16 Bit words. 15-March-2002, W. Koenig */ #define _POSIX_C_SOURCE 199309L @@ -173,20 +173,20 @@ void Hardware_waitForTrigger(Hardware *my, void *partEvt) /* wait for some time for not disturbing the DSP */ struct timespec tS, *t = &tS; t->tv_sec = 0; - t->tv_nsec = 20000000; + t->tv_nsec = 10000000; nanosleep(t, NULL); } + HwTip_getEndOfData(my->tip); } #endif } -void readoutTrig(Hardware *my, void *subEvt) +int readoutTrig(Hardware *my, void *subEvt) { - uint32_t *header = (uint32_t *) subEvt; - uint16_t *data; - uint16_t *dataEnd; - + uint32_t * header = (uint32_t *)subEvt; + uint16_t * data; + uint16_t * dataEnd; if (! ((LVme_getW(my->lvme6, MU_FIFO_STATUS) >> 3) &0x1) ) { LVme_getW(my->lvme4, MU_FIFO); @@ -196,7 +196,10 @@ void readoutTrig(Hardware *my, void *subEvt) This is not the case, see SubEvt_setDecoding(..) */ *header =((LVme_getW(my->lvme4, MU_FIFO) & 0xffff)>>1) + 8; - + /* + *header contains subevent size in char's. + It is added to the pointer to evt begin. + */ dataEnd=(uint16_t *)((uint32_t)header + *header); *++header = LVme_getW(my->lvme4, MU_FIFO) & 0xffff; @@ -213,6 +216,7 @@ void readoutTrig(Hardware *my, void *subEvt) #ifndef NDEBUG syslog(LOG_DEBUG, "subEvt: %s", SubEvt_2charP(subEvt)); #endif + return *(uint16_t *)header; } void Hardware_readout(Hardware *my, void *partEvt) @@ -229,11 +233,9 @@ void Hardware_readout(Hardware *my, void *partEvt) * read out MU */ - readoutTrig(my, subEvt); + trigTag = readoutTrig(my, subEvt); trigTag = SubEvt_trigNr(subEvt) & 0xff; - - trigCode = SubEvt_dataValue(subEvt, 0); subEvt = SubEvt_next(partEvt, subEvt); #ifdef TOF_READOUT @@ -243,7 +245,7 @@ void Hardware_readout(Hardware *my, void *partEvt) for (i = 0; i < NCRATES; i++) { - if(HwTip_readSubEvt(my->tip, subEvt) == 0) { + if( HwTip_readSubEvt(my->tip, subEvt)==0) { if (trigTag != (SubEvt_trigNr(subEvt) & 0xff)) { SubEvt_setId(subEvt, SubEvt_id(subEvt) | 0x80000000UL); SubEvt_setId(partEvt, SubEvt_id(partEvt) | 0x80000000UL);