]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
*** empty log message ***
authorhadaq <hadaq>
Thu, 19 Aug 2010 13:27:32 +0000 (13:27 +0000)
committerhadaq <hadaq>
Thu, 19 Aug 2010 13:27:32 +0000 (13:27 +0000)
ebctrl/ioc/ebctrlApp/src/portnr1.c [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/portnr1.dbd [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/portnr2.c [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/portnr2.dbd [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/trignr1.c [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/trignr1.dbd [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/trignr2.c [new file with mode: 0644]
ebctrl/ioc/ebctrlApp/src/trignr2.dbd [new file with mode: 0644]

diff --git a/ebctrl/ioc/ebctrlApp/src/portnr1.c b/ebctrl/ioc/ebctrlApp/src/portnr1.c
new file mode 100644 (file)
index 0000000..2a06975
--- /dev/null
@@ -0,0 +1,91 @@
+#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 portnr1Debug;
+
+long portnr1_init( struct genSubRecord *pgsub )
+{
+  return(0);
+}
+
+long portnr1_proc( struct genSubRecord *pgsub )
+{
+  uint32_t *out[21];
+  unsigned long tmp;
+  unsigned long nrOfMsgs = 0;
+  int i;
+
+  out[0]  = (uint32_t *)pgsub->vala;   /* portnr0 */
+  out[1]  = (uint32_t *)pgsub->valb;   /* portnr1 */
+  out[2]  = (uint32_t *)pgsub->valc;   /* portnr2 */
+  out[3]  = (uint32_t *)pgsub->vald;   /*   ...   */
+  out[4]  = (uint32_t *)pgsub->vale;
+  out[5]  = (uint32_t *)pgsub->valf;
+  out[6]  = (uint32_t *)pgsub->valg;
+  out[7]  = (uint32_t *)pgsub->valh;
+  out[8]  = (uint32_t *)pgsub->vali;
+  out[9]  = (uint32_t *)pgsub->valj;
+  out[10]  = (uint32_t *)pgsub->valk;
+  out[11]  = (uint32_t *)pgsub->vall;
+  out[12]  = (uint32_t *)pgsub->valm;
+  out[13]  = (uint32_t *)pgsub->valn;
+  out[14]  = (uint32_t *)pgsub->valo;
+  out[15]  = (uint32_t *)pgsub->valp;
+  out[16]  = (uint32_t *)pgsub->valq;
+  out[17]  = (uint32_t *)pgsub->valr;
+  out[18]  = (uint32_t *)pgsub->vals;
+  out[19]  = (uint32_t *)pgsub->valt;
+  out[20]  = (uint32_t *)pgsub->valu;
+  
+  for( i=0; i<21; i++ )
+    *out[i] = 0;
+
+  char buf[_POSIX_PATH_MAX];
+  sprintf( buf, "%s%s", "daq_netmem", getenv("EBNUM") );
+  
+  if( Worker_getStatistic( buf, "nrOfMsgs", &nrOfMsgs ) == -1) {
+    if(portnr1Debug)
+      printf("<E> portnr1.c: Worker_getStatistic failed for nrOfMsgs!\n");
+  }
+  else{
+    if(nrOfMsgs > 21)
+      nrOfMsgs = 21;
+  }
+  
+  char portnrbuf[100];
+  
+  for( i=0; i<nrOfMsgs; i++ ) {
+    sprintf( portnrbuf, "portNr%d", i );
+    
+    if( Worker_getStatistic( buf, portnrbuf, &tmp ) == -1) {
+      
+      if(portnr1Debug)
+       printf("<E> portnr1.c: Worker_getStatistic failed for %s!\n", portnrbuf);
+    }
+    else{
+      *out[i] = (uint32_t)tmp;
+      
+      if(portnr1Debug)
+       printf("<I> portnr1.c: Worker_getStatistic::%s = %lu\n", portnrbuf, tmp);
+    }
+  }
+  return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, portnr1Debug);
+epicsRegisterFunction(portnr1_init);
+epicsRegisterFunction(portnr1_proc);
diff --git a/ebctrl/ioc/ebctrlApp/src/portnr1.dbd b/ebctrl/ioc/ebctrlApp/src/portnr1.dbd
new file mode 100644 (file)
index 0000000..ca6dbef
--- /dev/null
@@ -0,0 +1,3 @@
+variable(portnr1Debug)
+function(portnr1_init)
+function(portnr1_proc)
diff --git a/ebctrl/ioc/ebctrlApp/src/portnr2.c b/ebctrl/ioc/ebctrlApp/src/portnr2.c
new file mode 100644 (file)
index 0000000..a94a6c3
--- /dev/null
@@ -0,0 +1,88 @@
+#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 portnr2Debug;
+
+long portnr2_init( struct genSubRecord *pgsub )
+{
+  return(0);
+}
+
+long portnr2_proc( struct genSubRecord *pgsub )
+{
+  int shift = 21;
+  uint32_t *out[21];
+  unsigned long tmp;
+  unsigned long nrOfMsgs = 0;
+  int i;
+
+  out[0]  = (uint32_t *)pgsub->vala;   /* portnr1 */
+  out[1]  = (uint32_t *)pgsub->valb;   /* portnr2 */
+  out[2]  = (uint32_t *)pgsub->valc;   /* portnr3 */
+  out[3]  = (uint32_t *)pgsub->vald;   /*   ...   */
+  out[4]  = (uint32_t *)pgsub->vale;
+  out[5]  = (uint32_t *)pgsub->valf;
+  out[6]  = (uint32_t *)pgsub->valg;
+  out[7]  = (uint32_t *)pgsub->valh;
+  out[8]  = (uint32_t *)pgsub->vali;
+  out[9]  = (uint32_t *)pgsub->valj;
+  out[10]  = (uint32_t *)pgsub->valk;
+  out[11]  = (uint32_t *)pgsub->vall;
+  out[12]  = (uint32_t *)pgsub->valm;
+  out[13]  = (uint32_t *)pgsub->valn;
+  out[14]  = (uint32_t *)pgsub->valo;
+  out[15]  = (uint32_t *)pgsub->valp;
+  out[16]  = (uint32_t *)pgsub->valq;
+  out[17]  = (uint32_t *)pgsub->valr;
+  out[18]  = (uint32_t *)pgsub->vals;
+  out[19]  = (uint32_t *)pgsub->valt;
+  out[20]  = (uint32_t *)pgsub->valu;
+  
+  for( i=0; i<21; i++ )
+    *out[i] = 0;
+
+  char buf[_POSIX_PATH_MAX];
+  sprintf( buf, "%s%s", "daq_netmem", getenv("EBNUM") );
+  
+  if( Worker_getStatistic( buf, "nrOfMsgs", &nrOfMsgs ) == -1) {
+    if(portnr2Debug)
+      printf("<E> portnr2.c: Worker_getStatistic failed for nrOfMsgs!\n");
+  }
+  
+  char portnrbuf[100];
+  
+  for( i=shift; i<nrOfMsgs; i++ ) {
+    sprintf( portnrbuf, "portNr%d", i );
+    
+    if( Worker_getStatistic( buf, portnrbuf, &tmp ) == -1) {
+      
+      if(portnr2Debug)
+       printf("<E> portnr2.c: Worker_getStatistic failed for %s!\n", portnrbuf);
+    }
+    else{
+      *out[i-shift] = (uint32_t)tmp;
+      
+      if(portnr2Debug)
+       printf("<I> portnr2.c: Worker_getStatistic::%s = %lu\n", portnrbuf, tmp);
+    }
+  }
+  return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, portnr2Debug);
+epicsRegisterFunction(portnr2_init);
+epicsRegisterFunction(portnr2_proc);
diff --git a/ebctrl/ioc/ebctrlApp/src/portnr2.dbd b/ebctrl/ioc/ebctrlApp/src/portnr2.dbd
new file mode 100644 (file)
index 0000000..2fa17f3
--- /dev/null
@@ -0,0 +1,3 @@
+variable(portnr2Debug)
+function(portnr2_init)
+function(portnr2_proc)
diff --git a/ebctrl/ioc/ebctrlApp/src/trignr1.c b/ebctrl/ioc/ebctrlApp/src/trignr1.c
new file mode 100644 (file)
index 0000000..9b680f1
--- /dev/null
@@ -0,0 +1,91 @@
+#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 trignr1Debug;
+
+long trignr1_init( struct genSubRecord *pgsub )
+{
+  return(0);
+}
+
+long trignr1_proc( struct genSubRecord *pgsub )
+{
+  uint32_t *out[21];
+  unsigned long tmp;
+  unsigned long nrOfMsgs = 0;
+  int i;
+
+  out[0]  = (uint32_t *)pgsub->vala;   /* trignr0 */
+  out[1]  = (uint32_t *)pgsub->valb;   /* trignr1 */
+  out[2]  = (uint32_t *)pgsub->valc;   /* trignr2 */
+  out[3]  = (uint32_t *)pgsub->vald;   /*   ...   */
+  out[4]  = (uint32_t *)pgsub->vale;
+  out[5]  = (uint32_t *)pgsub->valf;
+  out[6]  = (uint32_t *)pgsub->valg;
+  out[7]  = (uint32_t *)pgsub->valh;
+  out[8]  = (uint32_t *)pgsub->vali;
+  out[9]  = (uint32_t *)pgsub->valj;
+  out[10]  = (uint32_t *)pgsub->valk;
+  out[11]  = (uint32_t *)pgsub->vall;
+  out[12]  = (uint32_t *)pgsub->valm;
+  out[13]  = (uint32_t *)pgsub->valn;
+  out[14]  = (uint32_t *)pgsub->valo;
+  out[15]  = (uint32_t *)pgsub->valp;
+  out[16]  = (uint32_t *)pgsub->valq;
+  out[17]  = (uint32_t *)pgsub->valr;
+  out[18]  = (uint32_t *)pgsub->vals;
+  out[19]  = (uint32_t *)pgsub->valt;
+  out[20]  = (uint32_t *)pgsub->valu;
+  
+  for( i=0; i<21; i++ )
+    *out[i] = 0;
+
+  char buf[_POSIX_PATH_MAX];
+  sprintf( buf, "%s%s", "daq_evtbuild", getenv("EBNUM") );
+  
+  if( Worker_getStatistic( buf, "nrOfMsgs", &nrOfMsgs ) == -1) {
+    if(trignr1Debug)
+      printf("<E> trignr1.c: Worker_getStatistic failed for nrOfMsgs!\n");
+  }
+  else{
+    if(nrOfMsgs > 21)
+      nrOfMsgs = 21;
+  }
+  
+  char trignrbuf[100];
+  
+  for( i=0; i<nrOfMsgs; i++ ) {
+    sprintf( trignrbuf, "trigNr%d", i );
+    
+    if( Worker_getStatistic( buf, trignrbuf, &tmp ) == -1) {
+      
+      if(trignr1Debug)
+       printf("<E> trignr1.c: Worker_getStatistic failed for %s!\n", trignrbuf);
+    }
+    else{
+      *out[i] = (uint32_t)tmp;
+      
+      if(trignr1Debug)
+       printf("<I> trignr1.c: Worker_getStatistic::%s = %lu\n", trignrbuf, tmp);
+    }
+  }
+  return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, trignr1Debug);
+epicsRegisterFunction(trignr1_init);
+epicsRegisterFunction(trignr1_proc);
diff --git a/ebctrl/ioc/ebctrlApp/src/trignr1.dbd b/ebctrl/ioc/ebctrlApp/src/trignr1.dbd
new file mode 100644 (file)
index 0000000..c536dd2
--- /dev/null
@@ -0,0 +1,3 @@
+variable(trignr1Debug)
+function(trignr1_init)
+function(trignr1_proc)
diff --git a/ebctrl/ioc/ebctrlApp/src/trignr2.c b/ebctrl/ioc/ebctrlApp/src/trignr2.c
new file mode 100644 (file)
index 0000000..dadd323
--- /dev/null
@@ -0,0 +1,88 @@
+#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 trignr2Debug;
+
+long trignr2_init( struct genSubRecord *pgsub )
+{
+  return(0);
+}
+
+long trignr2_proc( struct genSubRecord *pgsub )
+{
+  int shift = 21;
+  uint32_t *out[21];
+  unsigned long tmp;
+  unsigned long nrOfMsgs = 0;
+  int i;
+
+  out[0]  = (uint32_t *)pgsub->vala;   /* trignr1 */
+  out[1]  = (uint32_t *)pgsub->valb;   /* trignr2 */
+  out[2]  = (uint32_t *)pgsub->valc;   /* trignr3 */
+  out[3]  = (uint32_t *)pgsub->vald;   /*   ...   */
+  out[4]  = (uint32_t *)pgsub->vale;
+  out[5]  = (uint32_t *)pgsub->valf;
+  out[6]  = (uint32_t *)pgsub->valg;
+  out[7]  = (uint32_t *)pgsub->valh;
+  out[8]  = (uint32_t *)pgsub->vali;
+  out[9]  = (uint32_t *)pgsub->valj;
+  out[10]  = (uint32_t *)pgsub->valk;
+  out[11]  = (uint32_t *)pgsub->vall;
+  out[12]  = (uint32_t *)pgsub->valm;
+  out[13]  = (uint32_t *)pgsub->valn;
+  out[14]  = (uint32_t *)pgsub->valo;
+  out[15]  = (uint32_t *)pgsub->valp;
+  out[16]  = (uint32_t *)pgsub->valq;
+  out[17]  = (uint32_t *)pgsub->valr;
+  out[18]  = (uint32_t *)pgsub->vals;
+  out[19]  = (uint32_t *)pgsub->valt;
+  out[20]  = (uint32_t *)pgsub->valu;
+  
+  for( i=0; i<21; i++ )
+    *out[i] = 0;
+
+  char buf[_POSIX_PATH_MAX];
+  sprintf( buf, "%s%s", "daq_evtbuild", getenv("EBNUM") );
+  
+  if( Worker_getStatistic( buf, "nrOfMsgs", &nrOfMsgs ) == -1) {
+    if(trignr2Debug)
+      printf("<E> trignr2.c: Worker_getStatistic failed for nrOfMsgs!\n");
+  }
+  
+  char trignrbuf[100];
+  
+  for( i=shift; i<nrOfMsgs; i++ ) {
+    sprintf( trignrbuf, "trigNr%d", i );
+    
+    if( Worker_getStatistic( buf, trignrbuf, &tmp ) == -1) {
+      
+      if(trignr2Debug)
+       printf("<E> trignr2.c: Worker_getStatistic failed for %s!\n", trignrbuf);
+    }
+    else{
+      *out[i-shift] = (uint32_t)tmp;
+      
+      if(trignr2Debug)
+       printf("<I> trignr2.c: Worker_getStatistic::%s = %lu\n", trignrbuf, tmp);
+    }
+  }
+  return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, trignr2Debug);
+epicsRegisterFunction(trignr2_init);
+epicsRegisterFunction(trignr2_proc);
diff --git a/ebctrl/ioc/ebctrlApp/src/trignr2.dbd b/ebctrl/ioc/ebctrlApp/src/trignr2.dbd
new file mode 100644 (file)
index 0000000..fda6143
--- /dev/null
@@ -0,0 +1,3 @@
+variable(trignr2Debug)
+function(trignr2_init)
+function(trignr2_proc)