From 093d51abbb68f97092b281fab00e4836fae11c9e Mon Sep 17 00:00:00 2001 From: hadaq Date: Thu, 19 Aug 2010 13:27:32 +0000 Subject: [PATCH] *** empty log message *** --- ebctrl/ioc/ebctrlApp/src/portnr1.c | 91 ++++++++++++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/portnr1.dbd | 3 + ebctrl/ioc/ebctrlApp/src/portnr2.c | 88 +++++++++++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/portnr2.dbd | 3 + ebctrl/ioc/ebctrlApp/src/trignr1.c | 91 ++++++++++++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/trignr1.dbd | 3 + ebctrl/ioc/ebctrlApp/src/trignr2.c | 88 +++++++++++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/trignr2.dbd | 3 + 8 files changed, 370 insertions(+) create mode 100644 ebctrl/ioc/ebctrlApp/src/portnr1.c create mode 100644 ebctrl/ioc/ebctrlApp/src/portnr1.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/portnr2.c create mode 100644 ebctrl/ioc/ebctrlApp/src/portnr2.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/trignr1.c create mode 100644 ebctrl/ioc/ebctrlApp/src/trignr1.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/trignr2.c create mode 100644 ebctrl/ioc/ebctrlApp/src/trignr2.dbd diff --git a/ebctrl/ioc/ebctrlApp/src/portnr1.c b/ebctrl/ioc/ebctrlApp/src/portnr1.c new file mode 100644 index 0000000..2a06975 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/portnr1.c @@ -0,0 +1,91 @@ +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#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(" portnr1.c: Worker_getStatistic failed for nrOfMsgs!\n"); + } + else{ + if(nrOfMsgs > 21) + nrOfMsgs = 21; + } + + char portnrbuf[100]; + + for( i=0; i portnr1.c: Worker_getStatistic failed for %s!\n", portnrbuf); + } + else{ + *out[i] = (uint32_t)tmp; + + if(portnr1Debug) + printf(" 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 index 0000000..ca6dbef --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/portnr1.dbd @@ -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 index 0000000..a94a6c3 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/portnr2.c @@ -0,0 +1,88 @@ +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#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(" portnr2.c: Worker_getStatistic failed for nrOfMsgs!\n"); + } + + char portnrbuf[100]; + + for( i=shift; i portnr2.c: Worker_getStatistic failed for %s!\n", portnrbuf); + } + else{ + *out[i-shift] = (uint32_t)tmp; + + if(portnr2Debug) + printf(" 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 index 0000000..2fa17f3 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/portnr2.dbd @@ -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 index 0000000..9b680f1 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/trignr1.c @@ -0,0 +1,91 @@ +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#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(" trignr1.c: Worker_getStatistic failed for nrOfMsgs!\n"); + } + else{ + if(nrOfMsgs > 21) + nrOfMsgs = 21; + } + + char trignrbuf[100]; + + for( i=0; i trignr1.c: Worker_getStatistic failed for %s!\n", trignrbuf); + } + else{ + *out[i] = (uint32_t)tmp; + + if(trignr1Debug) + printf(" 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 index 0000000..c536dd2 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/trignr1.dbd @@ -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 index 0000000..dadd323 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/trignr2.c @@ -0,0 +1,88 @@ +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#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(" trignr2.c: Worker_getStatistic failed for nrOfMsgs!\n"); + } + + char trignrbuf[100]; + + for( i=shift; i trignr2.c: Worker_getStatistic failed for %s!\n", trignrbuf); + } + else{ + *out[i-shift] = (uint32_t)tmp; + + if(trignr2Debug) + printf(" 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 index 0000000..fda6143 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/trignr2.dbd @@ -0,0 +1,3 @@ +variable(trignr2Debug) +function(trignr2_init) +function(trignr2_proc) -- 2.43.0