From 4899cea61c28e7139155754478710c84116cda28 Mon Sep 17 00:00:00 2001 From: hadaq Date: Fri, 19 Nov 2010 16:08:05 +0000 Subject: [PATCH] New PVs for main total EB screen. Sergey. --- ebctrl/ioc/ebctrlApp/src/totalbytewrate.c | 54 ++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/totalbytewrate.dbd | 3 + ebctrl/ioc/ebctrlApp/src/totalbytewrit.c | 54 ++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/totalbytewrit.dbd | 3 + ebctrl/ioc/ebctrlApp/src/totalevtcrate.c | 54 ++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/totalevtcrate.dbd | 3 + ebctrl/ioc/ebctrlApp/src/totalevtdataerr.c | 54 ++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/totalevtdataerr.dbd | 3 + ebctrl/ioc/ebctrlApp/src/totalevtdisc.c | 58 ++++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/totalevtdisc.dbd | 3 + ebctrl/ioc/ebctrlApp/src/totalevtdrate.c | 58 ++++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/totalevtdrate.dbd | 3 + ebctrl/ioc/ebctrlApp/src/totalevtscomp.c | 58 ++++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/totalevtscomp.dbd | 3 + ebctrl/ioc/ebctrlApp/src/totalevttagerr.c | 58 ++++++++++++++++++++ ebctrl/ioc/ebctrlApp/src/totalevttagerr.dbd | 3 + 16 files changed, 472 insertions(+) create mode 100644 ebctrl/ioc/ebctrlApp/src/totalbytewrate.c create mode 100644 ebctrl/ioc/ebctrlApp/src/totalbytewrate.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/totalbytewrit.c create mode 100644 ebctrl/ioc/ebctrlApp/src/totalbytewrit.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtcrate.c create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtcrate.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtdataerr.c create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtdataerr.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtdisc.c create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtdisc.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtdrate.c create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtdrate.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtscomp.c create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevtscomp.dbd create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevttagerr.c create mode 100644 ebctrl/ioc/ebctrlApp/src/totalevttagerr.dbd diff --git a/ebctrl/ioc/ebctrlApp/src/totalbytewrate.c b/ebctrl/ioc/ebctrlApp/src/totalbytewrate.c new file mode 100644 index 0000000..0f251c1 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalbytewrate.c @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +int totalbytewrateDebug; + +long totalByteWRate_init( struct genSubRecord *psub ) +{ + return(0); +} + +long totalByteWRate_proc( struct genSubRecord *psub ) +{ + int i = 0; + uint32_t totalByteWRate = 0; + uint32_t input[16]; + + input[0] = *(uint32_t *)psub->a; + input[1] = *(uint32_t *)psub->b; + input[2] = *(uint32_t *)psub->c; + input[3] = *(uint32_t *)psub->d; + input[4] = *(uint32_t *)psub->e; + input[5] = *(uint32_t *)psub->f; + input[6] = *(uint32_t *)psub->g; + input[7] = *(uint32_t *)psub->h; + input[8] = *(uint32_t *)psub->i; + input[9] = *(uint32_t *)psub->j; + input[10] = *(uint32_t *)psub->k; + input[11] = *(uint32_t *)psub->l; + input[12] = *(uint32_t *)psub->m; + input[13] = *(uint32_t *)psub->n; + input[14] = *(uint32_t *)psub->o; + input[15] = *(uint32_t *)psub->p; + + for(i=0; i<16; i++){ + totalByteWRate = totalByteWRate + input[i]; + } + + *(uint32_t *)psub->vala = (uint32_t)totalByteWRate; + + return(0); +} + +epicsExportAddress(int, totalbytewrateDebug); +epicsRegisterFunction(totalByteWRate_init); +epicsRegisterFunction(totalByteWRate_proc); diff --git a/ebctrl/ioc/ebctrlApp/src/totalbytewrate.dbd b/ebctrl/ioc/ebctrlApp/src/totalbytewrate.dbd new file mode 100644 index 0000000..5df7382 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalbytewrate.dbd @@ -0,0 +1,3 @@ +variable(totalbytewrateDebug) +function(totalByteWRate_init) +function(totalByteWRate_proc) diff --git a/ebctrl/ioc/ebctrlApp/src/totalbytewrit.c b/ebctrl/ioc/ebctrlApp/src/totalbytewrit.c new file mode 100644 index 0000000..60c89e1 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalbytewrit.c @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +int totalbytewritDebug; + +long totalByteWrit_init( struct genSubRecord *psub ) +{ + return(0); +} + +long totalByteWrit_proc( struct genSubRecord *psub ) +{ + int i = 0; + uint32_t totalByteWrit = 0; + uint32_t input[16]; + + input[0] = *(uint32_t *)psub->a; + input[1] = *(uint32_t *)psub->b; + input[2] = *(uint32_t *)psub->c; + input[3] = *(uint32_t *)psub->d; + input[4] = *(uint32_t *)psub->e; + input[5] = *(uint32_t *)psub->f; + input[6] = *(uint32_t *)psub->g; + input[7] = *(uint32_t *)psub->h; + input[8] = *(uint32_t *)psub->i; + input[9] = *(uint32_t *)psub->j; + input[10] = *(uint32_t *)psub->k; + input[11] = *(uint32_t *)psub->l; + input[12] = *(uint32_t *)psub->m; + input[13] = *(uint32_t *)psub->n; + input[14] = *(uint32_t *)psub->o; + input[15] = *(uint32_t *)psub->p; + + for(i=0; i<16; i++){ + totalByteWrit = totalByteWrit + input[i]; + } + + *(uint32_t *)psub->vala = (uint32_t)totalByteWrit; + + return(0); +} + +epicsExportAddress(int, totalbytewritDebug); +epicsRegisterFunction(totalByteWrit_init); +epicsRegisterFunction(totalByteWrit_proc); diff --git a/ebctrl/ioc/ebctrlApp/src/totalbytewrit.dbd b/ebctrl/ioc/ebctrlApp/src/totalbytewrit.dbd new file mode 100644 index 0000000..2655cc9 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalbytewrit.dbd @@ -0,0 +1,3 @@ +variable(totalbytewritDebug) +function(totalByteWrit_init) +function(totalByteWrit_proc) \ No newline at end of file diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtcrate.c b/ebctrl/ioc/ebctrlApp/src/totalevtcrate.c new file mode 100644 index 0000000..ea28475 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtcrate.c @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +int totalevtcrateDebug; + +long totalEvtCRate_init( struct genSubRecord *psub ) +{ + return(0); +} + +long totalEvtCRate_proc( struct genSubRecord *psub ) +{ + int i = 0; + uint32_t totalEvtCRate = 0; + uint32_t input[16]; + + input[0] = *(uint32_t *)psub->a; + input[1] = *(uint32_t *)psub->b; + input[2] = *(uint32_t *)psub->c; + input[3] = *(uint32_t *)psub->d; + input[4] = *(uint32_t *)psub->e; + input[5] = *(uint32_t *)psub->f; + input[6] = *(uint32_t *)psub->g; + input[7] = *(uint32_t *)psub->h; + input[8] = *(uint32_t *)psub->i; + input[9] = *(uint32_t *)psub->j; + input[10] = *(uint32_t *)psub->k; + input[11] = *(uint32_t *)psub->l; + input[12] = *(uint32_t *)psub->m; + input[13] = *(uint32_t *)psub->n; + input[14] = *(uint32_t *)psub->o; + input[15] = *(uint32_t *)psub->p; + + for(i=0; i<16; i++){ + totalEvtCRate = totalEvtCRate + input[i]; + } + + *(uint32_t *)psub->vala = (uint32_t)totalEvtCRate; + + return(0); +} + +epicsExportAddress(int, totalevtcrateDebug); +epicsRegisterFunction(totalEvtCRate_init); +epicsRegisterFunction(totalEvtCRate_proc); diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtcrate.dbd b/ebctrl/ioc/ebctrlApp/src/totalevtcrate.dbd new file mode 100644 index 0000000..b7dcb60 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtcrate.dbd @@ -0,0 +1,3 @@ +variable(totalevtcrateDebug) +function(totalEvtCRate_init) +function(totalEvtCRate_proc) diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtdataerr.c b/ebctrl/ioc/ebctrlApp/src/totalevtdataerr.c new file mode 100644 index 0000000..e55d7e3 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtdataerr.c @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +int totalevtdataerrDebug; + +long totalEvtDataErr_init( struct genSubRecord *pgsub ) +{ + return(0); +} + +long totalEvtDataErr_proc( struct genSubRecord *psub ) +{ + int i = 0; + uint32_t totalEvtDataErr = 0; + uint32_t input[16]; + + input[0] = *(uint32_t *)psub->a; + input[1] = *(uint32_t *)psub->b; + input[2] = *(uint32_t *)psub->c; + input[3] = *(uint32_t *)psub->d; + input[4] = *(uint32_t *)psub->e; + input[5] = *(uint32_t *)psub->f; + input[6] = *(uint32_t *)psub->g; + input[7] = *(uint32_t *)psub->h; + input[8] = *(uint32_t *)psub->i; + input[9] = *(uint32_t *)psub->j; + input[10] = *(uint32_t *)psub->k; + input[11] = *(uint32_t *)psub->l; + input[12] = *(uint32_t *)psub->m; + input[13] = *(uint32_t *)psub->n; + input[14] = *(uint32_t *)psub->o; + input[15] = *(uint32_t *)psub->p; + + for(i=0; i<16; i++){ + totalEvtDataErr = totalEvtDataErr + input[i]; + } + + *(uint32_t *)psub->vala = (uint32_t)totalEvtDataErr; + + return(0); +} + +epicsExportAddress(int, totalevtdataerrDebug); +epicsRegisterFunction(totalEvtDataErr_init); +epicsRegisterFunction(totalEvtDataErr_proc); diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtdataerr.dbd b/ebctrl/ioc/ebctrlApp/src/totalevtdataerr.dbd new file mode 100644 index 0000000..d2da9f5 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtdataerr.dbd @@ -0,0 +1,3 @@ +variable(totalevtdataerrDebug) +function(totalEvtDataErr_init) +function(totalEvtDataErr_proc) diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtdisc.c b/ebctrl/ioc/ebctrlApp/src/totalevtdisc.c new file mode 100644 index 0000000..b268811 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtdisc.c @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +int totalevtdiscDebug; + +long totalEvtDisc_init( struct genSubRecord *pgsub ) +{ + return(0); +} + +long totalEvtDisc_proc( struct genSubRecord *psub ) +{ + int i = 0; + uint32_t totalEvtDisc = 0; + uint32_t input[16]; + + input[0] = *(uint32_t *)psub->a; + input[1] = *(uint32_t *)psub->b; + input[2] = *(uint32_t *)psub->c; + input[3] = *(uint32_t *)psub->d; + input[4] = *(uint32_t *)psub->e; + input[5] = *(uint32_t *)psub->f; + input[6] = *(uint32_t *)psub->g; + input[7] = *(uint32_t *)psub->h; + input[8] = *(uint32_t *)psub->i; + input[9] = *(uint32_t *)psub->j; + input[10] = *(uint32_t *)psub->k; + input[11] = *(uint32_t *)psub->l; + input[12] = *(uint32_t *)psub->m; + input[13] = *(uint32_t *)psub->n; + input[14] = *(uint32_t *)psub->o; + input[15] = *(uint32_t *)psub->p; + + for(i=0; i<16; i++){ + totalEvtDisc = totalEvtDisc + input[i]; + } + + if(totalevtdiscDebug){ + printf(" totalevtdisc.c: total Evts Discarded: %lu\n", (unsigned long)totalEvtDisc); + } + + *(uint32_t *)psub->vala = (uint32_t)totalEvtDisc; + + return(0); +} + +epicsExportAddress(int, totalevtdiscDebug); +epicsRegisterFunction(totalEvtDisc_init); +epicsRegisterFunction(totalEvtDisc_proc); diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtdisc.dbd b/ebctrl/ioc/ebctrlApp/src/totalevtdisc.dbd new file mode 100644 index 0000000..8a77aff --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtdisc.dbd @@ -0,0 +1,3 @@ +variable(totalevtdiscDebug) +function(totalEvtDisc_init) +function(totalEvtDisc_proc) \ No newline at end of file diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtdrate.c b/ebctrl/ioc/ebctrlApp/src/totalevtdrate.c new file mode 100644 index 0000000..715f36d --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtdrate.c @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +int totalevtdrateDebug; + +long totalEvtDRate_init( struct genSubRecord *pgsub ) +{ + return(0); +} + +long totalEvtDRate_proc( struct genSubRecord *psub ) +{ + int i = 0; + uint32_t totalEvtDRate = 0; + uint32_t input[16]; + + input[0] = *(uint32_t *)psub->a; + input[1] = *(uint32_t *)psub->b; + input[2] = *(uint32_t *)psub->c; + input[3] = *(uint32_t *)psub->d; + input[4] = *(uint32_t *)psub->e; + input[5] = *(uint32_t *)psub->f; + input[6] = *(uint32_t *)psub->g; + input[7] = *(uint32_t *)psub->h; + input[8] = *(uint32_t *)psub->i; + input[9] = *(uint32_t *)psub->j; + input[10] = *(uint32_t *)psub->k; + input[11] = *(uint32_t *)psub->l; + input[12] = *(uint32_t *)psub->m; + input[13] = *(uint32_t *)psub->n; + input[14] = *(uint32_t *)psub->o; + input[15] = *(uint32_t *)psub->p; + + for(i=0; i<16; i++){ + totalEvtDRate = totalEvtDRate + input[i]; + } + + if(totalevtdrateDebug){ + printf(" totalevtdrate.c: total Evts Discarded Rate: %lu\n", (unsigned long)totalEvtDRate); + } + + *(uint32_t *)psub->vala = (uint32_t)totalEvtDRate; + + return(0); +} + +epicsExportAddress(int, totalevtdrateDebug); +epicsRegisterFunction(totalEvtDRate_init); +epicsRegisterFunction(totalEvtDRate_proc); diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtdrate.dbd b/ebctrl/ioc/ebctrlApp/src/totalevtdrate.dbd new file mode 100644 index 0000000..9ca64f1 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtdrate.dbd @@ -0,0 +1,3 @@ +variable(totalevtdrateDebug) +function(totalEvtDRate_init) +function(totalEvtDRate_proc) \ No newline at end of file diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtscomp.c b/ebctrl/ioc/ebctrlApp/src/totalevtscomp.c new file mode 100644 index 0000000..692a08c --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtscomp.c @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +int totalevtscompDebug; + +long totalEvtsComp_init(struct genSubRecord *psub ) +{ + return(0); +} + +long totalEvtsComp_proc(struct genSubRecord *psub ) +{ + int i = 0; + uint32_t totalEvtsComp = 0; + uint32_t input[16]; + + input[0] = *(uint32_t *)psub->a; + input[1] = *(uint32_t *)psub->b; + input[2] = *(uint32_t *)psub->c; + input[3] = *(uint32_t *)psub->d; + input[4] = *(uint32_t *)psub->e; + input[5] = *(uint32_t *)psub->f; + input[6] = *(uint32_t *)psub->g; + input[7] = *(uint32_t *)psub->h; + input[8] = *(uint32_t *)psub->i; + input[9] = *(uint32_t *)psub->j; + input[10] = *(uint32_t *)psub->k; + input[11] = *(uint32_t *)psub->l; + input[12] = *(uint32_t *)psub->m; + input[13] = *(uint32_t *)psub->n; + input[14] = *(uint32_t *)psub->o; + input[15] = *(uint32_t *)psub->p; + + for(i=0; i<16; i++){ + totalEvtsComp = totalEvtsComp + input[i]; + } + + if(totalevtscompDebug){ + printf(" totalevtscomp.c: total Evts Complete: %lu\n", (unsigned long)totalEvtsComp); + } + + *(uint32_t *)psub->vala = (uint32_t)totalEvtsComp; + + return(0); +} + +epicsExportAddress(int, totalevtscompDebug); +epicsRegisterFunction(totalEvtsComp_init); +epicsRegisterFunction(totalEvtsComp_proc); diff --git a/ebctrl/ioc/ebctrlApp/src/totalevtscomp.dbd b/ebctrl/ioc/ebctrlApp/src/totalevtscomp.dbd new file mode 100644 index 0000000..4db08c6 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevtscomp.dbd @@ -0,0 +1,3 @@ +variable(totalevtscompDebug) +function(totalEvtsComp_init) +function(totalEvtsComp_proc) \ No newline at end of file diff --git a/ebctrl/ioc/ebctrlApp/src/totalevttagerr.c b/ebctrl/ioc/ebctrlApp/src/totalevttagerr.c new file mode 100644 index 0000000..609d287 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevttagerr.c @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +int totalevttagerrDebug; + +long totalEvtTagErr_init( struct genSubRecord *pgsub ) +{ + return(0); +} + +long totalEvtTagErr_proc( struct genSubRecord *psub ) +{ + int i = 0; + uint32_t totalEvtTagErr = 0; + uint32_t input[16]; + + input[0] = *(uint32_t *)psub->a; + input[1] = *(uint32_t *)psub->b; + input[2] = *(uint32_t *)psub->c; + input[3] = *(uint32_t *)psub->d; + input[4] = *(uint32_t *)psub->e; + input[5] = *(uint32_t *)psub->f; + input[6] = *(uint32_t *)psub->g; + input[7] = *(uint32_t *)psub->h; + input[8] = *(uint32_t *)psub->i; + input[9] = *(uint32_t *)psub->j; + input[10] = *(uint32_t *)psub->k; + input[11] = *(uint32_t *)psub->l; + input[12] = *(uint32_t *)psub->m; + input[13] = *(uint32_t *)psub->n; + input[14] = *(uint32_t *)psub->o; + input[15] = *(uint32_t *)psub->p; + + for(i=0; i<16; i++){ + totalEvtTagErr = totalEvtTagErr + input[i]; + } + + if(totalevttagerrDebug){ + printf(" totalevttagerr.c: total Evts Tag Error: %lu\n", (unsigned long)totalEvtTagErr); + } + + *(uint32_t *)psub->vala = (uint32_t)totalEvtTagErr; + + return(0); +} + +epicsExportAddress(int, totalevttagerrDebug); +epicsRegisterFunction(totalEvtTagErr_init); +epicsRegisterFunction(totalEvtTagErr_proc); diff --git a/ebctrl/ioc/ebctrlApp/src/totalevttagerr.dbd b/ebctrl/ioc/ebctrlApp/src/totalevttagerr.dbd new file mode 100644 index 0000000..5e22d2d --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/totalevttagerr.dbd @@ -0,0 +1,3 @@ +variable(totalevttagerrDebug) +function(totalEvtTagErr_init) +function(totalEvtTagErr_proc) \ No newline at end of file -- 2.43.0