]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
Status during beam taking this night -- mm
authorhadaq <hadaq>
Tue, 19 Nov 2002 02:32:14 +0000 (02:32 +0000)
committerhadaq <hadaq>
Tue, 19 Nov 2002 02:32:14 +0000 (02:32 +0000)
hadaq/hwrace.c
hadaq/hwrich.c
hadaq/hwsam.c

index e37284f902d4239e7c3690cb3fe41c32090098c8..de40613fe052b49cffdf81b29bab25108bae194b 100644 (file)
@@ -1,4 +1,4 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrace.c,v 6.24 2002-10-17 08:20:40 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrace.c,v 6.25 2002-11-19 02:32:53 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
@@ -71,7 +71,7 @@ void HwRace_requestBuffer(HwRace *my)
        my->endOfData = 0;
 }
 
-#define RACE_NODATASIZE 0x10
+#define RACE_NODATASIZE 0x00
 int HwRace_readSubEvt(HwRace *my, void *subEvt)
 {
        int readSubEvtR;
index ba8b0ac19ee092fde6d86b5ab562db794d6a5ee5..d9cb53afce3307a2b1c1ebcb049c270297092218 100644 (file)
@@ -1,4 +1,4 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrich.c,v 6.35 2002-11-18 18:39:40 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrich.c,v 6.36 2002-11-19 02:32:53 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
@@ -120,16 +120,22 @@ void Hardware_readout(Hardware *my, void *partEvt)
        static unsigned long trigNr = 0;
        unsigned trigTag;
        int dataError;
+       int nErr;
+       uint32_t errList[32];
+
 
        /* init partial event, necessary for  SubEvt_next() */
        SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
        dataError = 0;
        SubEvt_setId(partEvt, 0);
 
+       nErr = 0;
+
        /* read all races, check for common trigger tag */
        for (i = 0; i < my->nRaces; i++) {
                if (HwRace_readSubEvt(my->race[i], subEvt) == 0) {
                        if (SubEvt_dataError(subEvt)) {
+                               errList[nErr++] = SubEvt_id(subEvt);
                                dataError = 1;
                        } else {
                                if (firstRace < 0) {
@@ -147,6 +153,22 @@ void Hardware_readout(Hardware *my, void *partEvt)
                }
        }
 
+       if (nErr > 0) {
+               int i;
+               uint32_t *data = SubEvt_data(subEvt);
+
+               SubEvt_setSize(subEvt, SubEvt_hdrSize() + (nErr + 1) * 4);
+               SubEvt_setDecoding(subEvt, SubEvtDecoding_32bitData);
+               SubEvt_setId(subEvt, 600);
+               SubEvt_setTrigNr(subEvt, trigTag);
+
+               *data++ = nErr;
+               for (i = 0; i < nErr; i++) {
+                       *data++ = errList[i];
+               }
+               subEvt = SubEvt_next(partEvt, subEvt);
+       }
+
        if (dataError) {
                SubEvt_setDataError(partEvt);
        }
index a956acecb3c7a845210f9f042639204ccfc00812..00dedb23f637e0f15705984392f405d6b6a62cc4 100644 (file)
@@ -1,4 +1,4 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwsam.c,v 6.15 2002-11-06 18:36:04 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwsam.c,v 6.16 2002-11-19 02:32:14 hadaq Exp $";
 
 #include <assert.h>
 #include <string.h>
@@ -95,8 +95,8 @@ void HwSam_getEndOfData(HwSam *my)
        my->endOfData = 1;
 }
 
-/* 5 RC Headers + Subevent Header + some data */
-#define SAM_NODATASIZE 0
+/* Subevent Header + some data */
+#define SAM_NODATASIZE 16 
 int HwSam_readSubEvt(HwSam *my, void *subEvt)
 {
        uint32_t * data = (uint32_t *) subEvt;