-static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtof.c,v 1.14 2000-11-08 07:53:23 hades Exp $";
+static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtof.c,v 1.15 2000-11-11 11:32:54 hades Exp $";
#define _POSIX_C_SOURCE 199309L
#include <unistd.h>
#include "hwtip.h"
/* Set number of RCs here */
+#define NCRATES 2
#define NTIPS 1
struct HardwareS {
}
my = allocMem(sizeof(Hardware));
- my->maxSubEvtSize = SubEvt_hdrSize() + (560 * sizeof(UInt4));
+ my->maxSubEvtSize = SubEvt_hdrSize() + (NCRATES * 620 * sizeof(UInt4));
my->tipToRead = 0;
for (i = 0; i < NTIPS; i++) {
}
}
-void Hardware_readout(Hardware *my, void *subEvt)
+void Hardware_readout(Hardware *my, void *partEvt)
{
- HwTip_readSubEvt(my->tip[my->tipToRead], subEvt);
- if (++my->tipToRead == NTIPS ) {
- my->tipToRead = 0;
+ static UInt4 trigNr = 0;
+ UInt1 trigTag;
+ void *subEvt = SubEvt_data(partEvt);
+ int i;
+
+ SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
+
+ for (i = 0; i < NCRATES; i++) {
+ HwTip_readSubEvt(my->tip[my->tipToRead], subEvt);
+ if (i == 0) {
+ trigTag == SubEvt_trigNr(subEvt);
+ }
+ subEvt = SubEvt_next(partEvt, subEvt);
}
+
+ SubEvt_setSize(partEvt, (char *)subEvt - (char *)partEvt);
+ SubEvt_setTrigNr(partEvt, (trigNr++ << 8) | trigTag);
+ SubEvt_setId(partEvt, 0);
+ msglog(LOG_DEBUG, "partEvt: %s\n", SubEvt_2charP(partEvt));
}