]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
Code for Error bits info. Sergey.
authorhadaq <hadaq>
Mon, 16 Aug 2010 12:37:44 +0000 (12:37 +0000)
committerhadaq <hadaq>
Mon, 16 Aug 2010 12:37:44 +0000 (12:37 +0000)
ebctrl/ioc/ebctrlApp/src/errbit.c [new file with mode: 0644]

diff --git a/ebctrl/ioc/ebctrlApp/src/errbit.c b/ebctrl/ioc/ebctrlApp/src/errbit.c
new file mode 100644 (file)
index 0000000..16759f6
--- /dev/null
@@ -0,0 +1,56 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+
+#include <dbDefs.h>
+#include <registryFunction.h>
+#include <subRecord.h>
+#include <epicsExport.h>
+#include <genSubRecord.h>
+#include <stringinRecord.h>
+
+#include "worker.h"
+
+int errbitDebug;
+
+long errbit_init( struct genSubRecord *pgsub )
+{
+  return(0);
+}
+
+long errbit_proc( struct genSubRecord *pgsub )
+{
+  char *out[5];
+  int i;
+
+  out[0]  = (char *)pgsub->vala;   /* errbit1 */
+  out[1]  = (char *)pgsub->valb;   /* errbit2 */
+  out[2]  = (char *)pgsub->valc;   /* errbit3 */
+  out[3]  = (char *)pgsub->vald;   /*   ...   */
+  out[4]  = (char *)pgsub->vale;
+
+  for( i=0; i<5; i++ )
+    *out[i] = 0;
+
+  char buf[_POSIX_PATH_MAX];
+  sprintf( buf, "%s%s", "daq_evtbuild", getenv("EBNUM") );
+
+  if( Worker_getStatistic( buf, "errBit0", out[0] ) == -1) {
+
+    if(errbitDebug)
+      printf("<E> errbit.c: Worker_getStatistic failed for errBit0!\n");
+  }
+  else{
+    if(errbitDebug)
+      printf("<I> errbit.c: Worker_getStatistic::errBit0 = %s\n", out[0]);
+  }
+
+  return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, errbitDebug);
+epicsRegisterFunction(errbit_init);
+epicsRegisterFunction(errbit_proc);