]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
Forward sub event data errors to crate event -- mm
authorhadaq <hadaq>
Tue, 29 Oct 2002 17:43:38 +0000 (17:43 +0000)
committerhadaq <hadaq>
Tue, 29 Oct 2002 17:43:38 +0000 (17:43 +0000)
hadaq/Makefile.in
hadaq/configure
hadaq/configure.in
hadaq/hwmdc.c
hadaq/hwrich.c
hadaq/hwshow.c
hadaq/hwtrig.c

index 1006e703995d12e3d1f6b17462503b604d8bb568..e69025657b0efe84b4695c39a55ad59be2cb4baa 100644 (file)
@@ -162,7 +162,7 @@ DIST_COMMON =  Makefile.am Makefile.in aclocal.m4 configure configure.in
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 DEP_FILES =  .deps/agent.P .deps/agent_clnt.P .deps/agent_svc.P \
 .deps/agent_xdr.P .deps/ansiTape.P .deps/ansiTapeChar.P \
index 563b520c71dfb2a945caaaeb2cae523663bc02a2..b09c0ee0f54182cd002908c83a7717b4e81e9922 100644 (file)
@@ -2050,6 +2050,72 @@ if test "$ac_cv_search_conLVme" != "no"; then
   
 else :
   
+fi
+if test "x$ac_cv_search_conLVme" = "xno"
+then
+unset ac_cv_search_conLVme
+
+echo $ac_n "checking for library containing conLVme""... $ac_c" 1>&6
+echo "configure:2060: checking for library containing conLVme" >&5
+if eval "test \"`echo '$''{'ac_cv_search_conLVme'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_func_search_save_LIBS="$LIBS"
+ac_cv_search_conLVme="no"
+cat > conftest.$ac_ext <<EOF
+#line 2067 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char conLVme();
+
+int main() {
+conLVme()
+; return 0; }
+EOF
+if { (eval echo configure:2078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_search_conLVme="none required"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+test "$ac_cv_search_conLVme" = "no" && for i in lvme; do
+LIBS="-l$i -llynx $ac_func_search_save_LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 2089 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char conLVme();
+
+int main() {
+conLVme()
+; return 0; }
+EOF
+if { (eval echo configure:2100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_search_conLVme="-l$i"
+break
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+done
+LIBS="$ac_func_search_save_LIBS"
+fi
+
+echo "$ac_t""$ac_cv_search_conLVme" 1>&6
+if test "$ac_cv_search_conLVme" != "no"; then
+  test "$ac_cv_search_conLVme" = "none required" || LIBS="$ac_cv_search_conLVme $LIBS"
+  LIBS="-llvme -llynx $LIBS"
+else :
+  
+fi
 fi
 if test x$ac_cv_search_conLVme = xno
 then
@@ -2057,14 +2123,14 @@ unset ac_cv_search_conLVme
 LIBS="-L/lib/ces $LIBS"
 
 echo $ac_n "checking for library containing conLVme""... $ac_c" 1>&6
-echo "configure:2061: checking for library containing conLVme" >&5
+echo "configure:2127: checking for library containing conLVme" >&5
 if eval "test \"`echo '$''{'ac_cv_search_conLVme'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_func_search_save_LIBS="$LIBS"
 ac_cv_search_conLVme="no"
 cat > conftest.$ac_ext <<EOF
-#line 2068 "configure"
+#line 2134 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2075,7 +2141,7 @@ int main() {
 conLVme()
 ; return 0; }
 EOF
-if { (eval echo configure:2079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_conLVme="none required"
 else
@@ -2086,7 +2152,7 @@ rm -f conftest*
 test "$ac_cv_search_conLVme" = "no" && for i in lvme; do
 LIBS="-l$i -lvme -lbma -luio $ac_func_search_save_LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2090 "configure"
+#line 2156 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2097,7 +2163,7 @@ int main() {
 conLVme()
 ; return 0; }
 EOF
-if { (eval echo configure:2101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_conLVme="-l$i"
 break
@@ -2125,7 +2191,7 @@ fi
 
 
 echo $ac_n "checking for SYSLOG_syslog in -lcompat""... $ac_c" 1>&6
-echo "configure:2129: checking for SYSLOG_syslog in -lcompat" >&5
+echo "configure:2195: checking for SYSLOG_syslog in -lcompat" >&5
 ac_lib_var=`echo compat'_'SYSLOG_syslog | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2133,7 +2199,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcompat  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2137 "configure"
+#line 2203 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2144,7 +2210,7 @@ int main() {
 SYSLOG_syslog()
 ; return 0; }
 EOF
-if { (eval echo configure:2148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
index b406008899fb6cca910fe3866b4fc0b1394ac57b..805b6520cd8ed460db0a6e1bf44146910c3c0429 100644 (file)
@@ -72,6 +72,11 @@ AC_ERROR([ATM library not found])
 fi
 
 AC_SEARCH_LIBS(conLVme, lvme)
+if test "x$ac_cv_search_conLVme" = "xno"
+then
+unset ac_cv_search_conLVme
+AC_SEARCH_LIBS(conLVme, lvme, LIBS="-llvme -llynx $LIBS",, -llynx)
+fi
 if test x$ac_cv_search_conLVme = xno
 then
 unset ac_cv_search_conLVme
index 008548c3131f4fe2ffb3d5a6290a9ec02f268244..f3306eb492dc11b0d7048caa3ca7acb5ed92d0a9 100644 (file)
@@ -1,4 +1,4 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwmdc.c,v 6.26 2002-10-29 17:35:46 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwmdc.c,v 6.27 2002-10-29 17:43:38 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
@@ -103,9 +103,11 @@ void Hardware_waitForTrigger(Hardware *my, void *partEvt)
        void *subEvt = SubEvt_data(partEvt);
        static unsigned long trigNr = 0;
        unsigned trigTag;
+       int dataError;
 
        /* init partial event, necessary for  SubEvt_next() */
        SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
+       dataError = 0;
        SubEvt_setId(partEvt, 0);
 
        for (i = 0; i < my->nSams; i++) {
@@ -121,13 +123,15 @@ void Hardware_waitForTrigger(Hardware *my, void *partEvt)
                                if (!HwSam_isBusy(my->sam[i])) {
                                        HwSam_getEndOfData(my->sam[i]);
                                        if (HwSam_readSubEvt(my->sam[i], subEvt) == 0) {
+                                               if (SubEvt_dataError(subEvt)) {
+                                                       dataError = 1;
+                                               }
                                                if (firstSam < 0) {
                                                        trigTag = SubEvt_trigNr(subEvt) & 0xff;
                                                        firstSam = i;
                                                } else {
                                                        if (trigTag != (SubEvt_trigNr(subEvt) & 0xff)) {
-                                                               SubEvt_setDataError(subEvt);
-                                                               SubEvt_setDataError(partEvt);
+                                                               dataError = 1;
                                                                syslog(LOG_ERR, "(%s)Trigger tag mismatch: 0x%08x (%d) != 0x%08x",
                                                                           my->sam[i]->name, trigTag, firstSam, SubEvt_trigNr(subEvt));
                                                        }
@@ -153,6 +157,9 @@ void Hardware_waitForTrigger(Hardware *my, void *partEvt)
 #endif
        } while (nRequests);
 
+       if (dataError) {
+               SubEvt_setDataError(partEvt);
+       }
        SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag);
        SubEvt_setSize(partEvt, (char *) subEvt - (char *) partEvt);
        trigNr++;
index b124bcef7168050890c761b4ef95b53b312cc92d..9d861964d5be1168b13f32ed290f449ecc4c287a 100644 (file)
@@ -1,4 +1,4 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrich.c,v 6.33 2002-10-27 09:11:14 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrich.c,v 6.34 2002-10-29 17:43:48 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
@@ -119,21 +119,25 @@ void Hardware_readout(Hardware *my, void *partEvt)
        void *subEvt = SubEvt_data(partEvt);
        static unsigned long trigNr = 0;
        unsigned trigTag;
+       int dataError;
 
        /* init partial event, necessary for  SubEvt_next() */
        SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
+       dataError = 0;
        SubEvt_setId(partEvt, 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)) {
+                               dataError = 1;
+                       }
                        if (firstRace < 0) {
                                trigTag = SubEvt_trigNr(subEvt) & 0xff;
                                firstRace = i;
                        } else {
                                if (trigTag != (SubEvt_trigNr(subEvt) & 0xff)) {
-                                       SubEvt_setDataError(subEvt);
-                                       SubEvt_setDataError(partEvt);
+                                       dataError = 1;
                                        syslog(LOG_ERR, "(%s)Trigger tag mismatch: 0x%08x (%d) != 0x%08x",
                                                   my->race[i]->name, trigTag, firstRace, SubEvt_trigNr(subEvt));
                                }
@@ -142,6 +146,9 @@ void Hardware_readout(Hardware *my, void *partEvt)
                }
        }
 
+       if (dataError) {
+               SubEvt_setDataError(partEvt);
+       }
        SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag);
        SubEvt_setSize(partEvt, (char *) subEvt - (char *) partEvt);
        trigNr++;
index b284c9e567692ce87ef94e5aba0208d4953df543..7e1ef92d775759836c880a35ba039a9ea9efe7ca 100644 (file)
@@ -1,4 +1,4 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwshow.c,v 6.31 2002-10-27 12:26:33 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwshow.c,v 6.32 2002-10-29 17:44:06 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
@@ -143,21 +143,25 @@ void Hardware_readout(Hardware *my, void *partEvt)
        void *subEvt = SubEvt_data(partEvt);
        static unsigned long trigNr = 0;
        unsigned trigTag;
+       int dataError;
 
        /* init partial event, necessary for  SubEvt_next() */
        SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
+       dataError = 0;
        SubEvt_setId(partEvt, 0);
 
        /* read all ships, check for common trigger tag */
        for (i = 0; i < my->nShips; i++) {
                if (HwShip_readSubEvt(my->ship[i], subEvt) == 0) {
+                       if (SubEvt_dataError(subEvt)) {
+                               dataError = 1;
+                       }
                        if (firstShip < 0) {
                                trigTag = SubEvt_trigNr(subEvt) & 0xff;
                                firstShip = i;
                        } else {
                                if (trigTag != (SubEvt_trigNr(subEvt) & 0xff)) {
-                                       SubEvt_setDataError(subEvt);
-                                       SubEvt_setDataError(partEvt);
+                                       dataError = 1;
                                        syslog(LOG_ERR, "(%s)Trigger tag mismatch: 0x%08x (%d) != 0x%08x",
                                                   my->ship[i]->name, trigTag, firstShip, SubEvt_trigNr(subEvt));
                                }
@@ -166,6 +170,9 @@ void Hardware_readout(Hardware *my, void *partEvt)
                }
        }
 
+       if (dataError) {
+               SubEvt_setDataError(partEvt);
+       }
        SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag);
        SubEvt_setSize(partEvt, (char *) subEvt - (char *) partEvt);
        trigNr++;
index d6023f7a75c30b28d2593caccfe94bc4289979eb..42c234d1cf2116562a59f6a3a6702cfc3600a0ab 100644 (file)
@@ -1,4 +1,4 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtrig.c,v 6.32 2002-10-25 10:04:15 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtrig.c,v 6.33 2002-10-29 17:44:44 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
@@ -230,11 +230,16 @@ void Hardware_readout(Hardware *my, void *partEvt)
        unsigned trigTag;
        int trigCode;
        int i;
+       int dataError;
 
        SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
+       dataError = 0;
 
        syslog(LOG_DEBUG, "read out MU");
        trigCode = readoutTrig(my, subEvt);
+       if (SubEvt_dataError(subEvt)) {
+               dataError = 1;
+       }
 
        SubEvt_setId(partEvt, trigCode);
        trigTag = SubEvt_trigNr(subEvt) & 0xff;
@@ -255,9 +260,11 @@ void Hardware_readout(Hardware *my, void *partEvt)
 
                for (i = 0; i < NCRATES; i++) {
                        header = HwTip_readSubEvt(my->tip, data);
+                       if (SubEvt_dataError(subEvt)) {
+                               dataError = 1;
+                       }
                        if (trigTag != ((header >> 16) & 0xff)) {
-                               SubEvt_setDataError(subEvt);
-                               SubEvt_setDataError(partEvt);
+                               dataError = 1;
                                syslog(LOG_ERR, "(%s)Trigger tag mismatch: (crate: %d) 0x%08x (MU) != 0x%08x",
                                           my->tip->name, i, trigTag, (header >> 16) & 0xff);
                        }
@@ -269,6 +276,9 @@ void Hardware_readout(Hardware *my, void *partEvt)
                subEvt = SubEvt_next(partEvt, subEvt);
        }
 
+       if (dataError) {
+               SubEvt_setDataError(partEvt);
+       }
        SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag);
        SubEvt_setSize(partEvt, (char *) subEvt - (char *) partEvt);
        trigNr++;