#include "exlib.conf"
#include "daclib.conf"
#include "exlib.h"
#include "daclib.h"
#include "ms2.h"
Data Structures | |
union | SPCHDR |
Defines | |
#define | CPNAME "MS2" |
#define | CPTITL "Multi Scaling Program" |
#define | CPDATE "(15Jan03/Hu)" |
#define | CIDPRG "MS2 " |
#define | CVERSION "09jul02" |
#define | MFILNA 70 |
#define | useDATAROUT |
#define | CLKRATE sysClkRateGet() |
#define | BASEPRIO 40 |
#define | MAXLEN 0x10000 |
#define | INISTACK 5000 |
#define | INICHCK VX_FP_TASK |
#define | INIOPT VX_FP_TASK |
#define | MSTRTASK "tMs2Mstr" |
#define | MSTRPRIO (BASEPRIO+1) |
#define | MSTRSTACK 7000 |
#define | MSTROPT VX_FP_TASK |
#define | MSTROPT VX_FP_TASK |
#define | RLTTASK "tMs2Rlt" |
#define | RLTPRIO (BASEPRIO+0) |
#define | RLTSTACK 5000 |
#define | RLTOPT 0 |
#define | DATATASK "tMs2Data" |
#define | DATAPRIO (BASEPRIO+2) |
#define | DATASTACK 5000 |
#define | DATAOPT VX_FP_TASK |
#define | DATATIME 9 |
#define | DATAPAUSE 1 |
#define | CTRLTASK "tMs2Ctrl" |
#define | CTRLPRIO (BASEPRIO+2) |
#define | CTRLSTACK 5000 |
#define | CTRLOPT 0 |
#define | CTRLPAUSE 1 |
#define | CTRLECF ".ecf" |
#define | SAVBGDATA |
#define | CBGTASK "tMs2Bg" |
#define | CBGPRIO 100 |
#define | CBGFILE "~/ex_home/ex_prog/peakv.o" |
#define | CBGSYM "_peak" |
#define | CBGSTACK 11000 |
#define | CBGOPT VX_FP_TASK |
#define | CBGARG1 ",,\"peak_ms2.vxw\",,'M'" |
#define | BGARGS |
#define | CBGCHECK FALSE |
#define | CBGUNLD TRUE |
#define | CIDPAR "STRZ-VXW" |
#define | CPARNA "bootHost:/ex_home/ex_param/ms2par.vxw" |
#define | CDFNAM "data:/spectrum.ms2" |
#define | CHLPNA "bootHost:/ex_home/ex_help/ms2.txt" |
#define | CISERV "servix" |
#define | CIUSER "vme-info" |
#define | CIFILE "ms2/ms2.info" |
#define | ffPARFILE parfile |
#define | ffPARMTR parfile.parmtr |
#define | ffROUTPAR parfile.routpar |
#define | ffDACLIBPAR parfile.daclibpar |
#define | ffEXLIBPAR parfile.exlibpar |
#define | HEADER0 parfile.header0 |
#define | ccCOMMON common |
#define | ccPARMTR common.parmtr |
#define | ccDACLIBCOM common.daclibcom |
#define | ccEXLIBCOM common.exlibcom |
#define | IDPAR ffPARMTR.idpar |
#define | PIDPRG ffPARMTR.idprg |
#define | PVERSION ffPARMTR.version |
#define | DFLTPAR ffPARMTR.dflts |
#define | PEXPMNT ffPARMTR.pexpmnt |
#define | SP0NAM ffPARMTR.sp0nam |
#define | ZZZZZZ ffPARMTR.zzzzzz |
#define | DATID1 ccPARMTR.datid1 |
#define | DATID2 ccPARMTR.datid2 |
#define | LFTID1 ccPARMTR.lftid1 |
#define | LFTID2 ccPARMTR.lftid2 |
#define | DRMENU ffROUTPAR.drmenu |
#define | DRTYPE ffROUTPAR.drtype |
#define | DRBASE ffROUTPAR.drbase |
#define | DROFFS ffROUTPAR.droffs |
#define | STOPRT ffROUTPAR.stoprt |
#define | RDSTAT ffROUTPAR.rdstat |
#define | RDSTCL ffROUTPAR.rdstcl |
#define | RDDATA ffROUTPAR.rddata |
#define | RDDACL ffROUTPAR.rddacl |
#define | RDIDNT ffROUTPAR.rdidnt |
#define | CRMENU ffROUTPAR.crmenu |
#define | CRMENU2 ffROUTPAR.crmenu2 |
#define | CRTYPE ffROUTPAR.crtype |
#define | CRBASE ffROUTPAR.crbase |
#define | CROFFS ffROUTPAR.croffs |
#define | CRCTRL ffROUTPAR.crctrl |
#define | CRSTAT ffROUTPAR.crstat |
#define | CRADDR ffROUTPAR.craddr |
#define | CRDATA ffROUTPAR.crdata |
#define | CRINTR ffROUTPAR.crintr |
#define | CRIDNT ffROUTPAR.cridnt |
#define | CRPRIO ffROUTPAR.crprio |
#define | CHDLEN "1" |
#define | CEXPMNT "??????" |
#define | CSPTYPE "MCA1" |
#define | CROWS " 2" |
#define | CBYTES "4" |
#define | CLTXT " 80" |
#define | CDFTXT "MS2 Spectrum --- Strahlenzentrum Universitaet Giessen" |
#define | INITSPCHDR |
#define | SPSTAT XSPHDR->hdata.spcdat.status |
#define | RLTCNT XSPHDR->hdata.spcdat.rltcnt |
#define | LFTCNT1 XSPHDR->hdata.spcdat.lftcnt1 |
#define | DATCNT1 XSPHDR->hdata.spcdat.datcnt1 |
#define | OUTCNT1 XSPHDR->hdata.spcdat.outcnt1 |
#define | LFTCNT2 XSPHDR->hdata.spcdat.lftcnt2 |
#define | DATCNT2 XSPHDR->hdata.spcdat.datcnt2 |
#define | OUTCNT2 XSPHDR->hdata.spcdat.outcnt2 |
#define | REJCNT XSPHDR->hdata.spcdat.rejcnt |
#define | FULCNT XSPHDR->hdata.spcdat.fulcnt |
#define | ERRCNT XSPHDR->hdata.spcdat.errcnt |
#define | SPOFFS XSPHDR->hdata.spcdat.spoffs |
#define | CMPRSS XSPHDR->hdata.spcdat.cmprss |
#define | HDATID1 XSPHDR->hdata.spcdat.hdatid1 |
#define | HDATID2 XSPHDR->hdata.spcdat.hdatid2 |
#define | RUNTIM XSPHDR->hdata.spcdat.runtim |
#define | MAXSPECS 1 |
#define | MAXHTYPS 1 |
#define | USHMAX 4 |
#define | HDSCR_MS2 "208i1 1i2 8i4 2i2 1i4" |
#define | INITHTYPES |
#define | INITSPEPNTR |
#define | SHOWHDR |
#define | INPUTPARS1 |
#define | INPUTPARS2 |
#define | INPUTPARS5 |
#define | INPUTXPARS1 |
#define | INPUTXPARS2 |
#define | INPUTXPARS5 |
#define | INITPARS |
#define | DATAVARS |
#define | DATAMACRO |
Enumerations | |
enum | headertypes { MTX_HEADER, MCA_HEADER, MCT_HEADER, MS2_HEADER, MSC_HEADER, PCM_HEADER, MCA_VAX_HEADER, MCA_VXW_HEADER, ALL_VAX_HEADER, ALL_VXW_HEADER, MCA_VAX_HEADER, MCA_VXW_HEADER, ALL_VAX_HEADER, ALL_VXW_HEADER, DRM_HEADER, ECF_1_HEADER, ECF_1_HEADER, ECF_1_HEADER, ECF_1_HEADER, ECF_1_HEADER, ECF_1_HEADER, ECF_1_HEADER, ECF_1_HEADER, ECF_VAX_HEADER, ECF_0_HEADER, ECF_1_HEADER, ECF_1_HEADER, ESI_VAX_HEADER, ESW_VAX_HEADER, ESW_VXW_HEADER, ESS_VAX_HEADER, ESS_VXW_HEADER, ESS_HEADER, ECF_HEADER, ESW_HEADER, MASS_HEADER, ESW_VAX_HEADER, ESW_VXW_HEADER, ESS_VAX_HEADER, ESS_VXW_HEADER } |
modification history -------------------- 15aug08 kHu DOXYGEN comments added 25jun03 kHu CIFILE geaendert 29apr03 kHu *.conf, *.h Files neu geordnet 16apr03 kHu Fit gemacht fuer -Wall GCC-Option 15apr03 kHu Help mit INFO auf Server 04apr03 kHu define CPDATE EMKSTR(SIGNAT) 15jan03 kHu dac10.c: stets File-Name abfragen 14jan03 kHu dac10/25.c: neu: Edit header of spectrum 16aug02 kHu BGARGS um (int)&HEADER0 erweitert 09jul02 kHu new from MS2
#define BASEPRIO 40 |
#define BGARGS |
#define CBGARG1 ",,\"peak_ms2.vxw\",,'M'" |
#define CBGCHECK FALSE |
#define CBGFILE "~/ex_home/ex_prog/peakv.o" |
#define CBGOPT VX_FP_TASK |
#define CBGPRIO 100 |
#define CBGSTACK 11000 |
#define CBGSYM "_peak" |
#define CBGTASK "tMs2Bg" |
#define CBGUNLD TRUE |
#define CBYTES "4" |
#define ccCOMMON common |
#define ccDACLIBCOM common.daclibcom |
#define ccEXLIBCOM common.exlibcom |
#define ccPARMTR common.parmtr |
#define CDFNAM "data:/spectrum.ms2" |
#define CDFTXT "MS2 Spectrum --- Strahlenzentrum Universitaet Giessen" |
#define CEXPMNT "??????" |
#define CHDLEN "1" |
#define CHLPNA "bootHost:/ex_home/ex_help/ms2.txt" |
#define CIDPAR "STRZ-VXW" |
#define CIDPRG "MS2 " |
#define CIFILE "ms2/ms2.info" |
#define CISERV "servix" |
#define CIUSER "vme-info" |
#define CLKRATE sysClkRateGet() |
#define CLTXT " 80" |
#define CMPRSS XSPHDR->hdata.spcdat.cmprss |
#define CPARNA "bootHost:/ex_home/ex_param/ms2par.vxw" |
#define CPDATE "(15Jan03/Hu)" |
#define CPNAME "MS2" |
#define CPTITL "Multi Scaling Program" |
#define CRADDR ffROUTPAR.craddr |
#define CRBASE ffROUTPAR.crbase |
#define CRCTRL ffROUTPAR.crctrl |
#define CRDATA ffROUTPAR.crdata |
#define CRIDNT ffROUTPAR.cridnt |
#define CRINTR ffROUTPAR.crintr |
#define CRMENU ffROUTPAR.crmenu |
#define CRMENU2 ffROUTPAR.crmenu2 |
#define CROFFS ffROUTPAR.croffs |
#define CROWS " 2" |
#define CRPRIO ffROUTPAR.crprio |
#define CRSTAT ffROUTPAR.crstat |
#define CRTYPE ffROUTPAR.crtype |
#define CSPTYPE "MCA1" |
#define CTRLECF ".ecf" |
#define CTRLOPT 0 |
#define CTRLPAUSE 1 |
#define CTRLPRIO (BASEPRIO+2) |
#define CTRLSTACK 5000 |
#define CTRLTASK "tMs2Ctrl" |
#define CVERSION "09jul02" |
#define DATAMACRO |
Value:
/* Test data ID */ \ if((nstat & 0x003f) == DATID1) { /* Data 1 ID */ \ /* Compute data */ \ if((DATCNT1 >= 0) && (DATCNT1 < ICOLS)) { \ /* Increment channel in spectrum 1 */ \ (*(SPEDATA+DATCNT1)) = ndata; \ DATCNT1++; /* Count data 1 */ \ } else { \ OUTCNT1++; /* Count data 1 out of range */ \ } \ } else if((nstat & 0x003f) == DATID2) { /* Data 2 ID */ \ /* Compute data */ \ if((DATCNT2 >= 0) && (DATCNT2 < ICOLS)) { \ /* Increment channel in spectrum 2 */ \ (*(SPEDATA+DATCNT2+ICOLS)) = ndata; \ DATCNT2++; /* Count data 2 */ \ } else { \ OUTCNT2++; /* Count data 2 out of range */ \ } \ } else if((nstat & 0x003f) == LFTID1) { /* Lifetime 1 */ \ LFTCNT1++; /* Count lifetime */ \ } else if((nstat & 0x003f) == LFTID2) { /* Lifetime 2 */ \ LFTCNT2++; /* Count lifetime */ \ } else { \ REJCNT++; /* Count rejected data */ \ }
#define DATAOPT VX_FP_TASK |
#define DATAPAUSE 1 |
#define DATAPRIO (BASEPRIO+2) |
#define DATASTACK 5000 |
#define DATATASK "tMs2Data" |
#define DATATIME 9 |
#define DATAVARS |
#define DATCNT1 XSPHDR->hdata.spcdat.datcnt1 |
#define DATCNT2 XSPHDR->hdata.spcdat.datcnt2 |
#define DATID1 ccPARMTR.datid1 |
#define DATID2 ccPARMTR.datid2 |
#define DFLTPAR ffPARMTR.dflts |
#define DRBASE ffROUTPAR.drbase |
#define DRMENU ffROUTPAR.drmenu |
#define DROFFS ffROUTPAR.droffs |
#define DRTYPE ffROUTPAR.drtype |
#define ERRCNT XSPHDR->hdata.spcdat.errcnt |
#define ffDACLIBPAR parfile.daclibpar |
#define ffEXLIBPAR parfile.exlibpar |
#define ffPARFILE parfile |
#define ffPARMTR parfile.parmtr |
#define ffROUTPAR parfile.routpar |
#define FULCNT XSPHDR->hdata.spcdat.fulcnt |
#define HDATID1 XSPHDR->hdata.spcdat.hdatid1 |
#define HDATID2 XSPHDR->hdata.spcdat.hdatid2 |
#define HDSCR_MS2 "208i1 1i2 8i4 2i2 1i4" |
#define HEADER0 parfile.header0 |
#define IDPAR ffPARMTR.idpar |
#define INICHCK VX_FP_TASK |
#define INIOPT VX_FP_TASK |
#define INISTACK 5000 |
#define INITHTYPES |
Value:
/* MS2-type, spectrum 0 */ \ {{TRUE}, /* Type valid for spectrum 0 */ \ CIDHDRvxw, /* Required header ID in IDHDR */ \ "MS2", /* Required program ID in IDPRG */ \ HDSCR_MS2, /* Header descriptor string */ \ MS2_HEADER}
#define INITPARS |
#define INITSPCHDR |
Value:
{0, \ 0,0,0,0,0,0,0,0, \ 0,0, \ 0}
#define INITSPEPNTR |
#define INPUTPARS1 |
Value:
{ \ \ short shortpar1, shortpar2; \ \ TEXT[lTEXT-1] = '\0'; /* Title of spectrum */ \ IHDLEN = 1; /* Blocks of header */ \ IBYTES = 4; /* Bytes per channel */ \ IROWS = atol(CROWS); /* Number of lines */ \ shortpar1 = HDATID1 >> 1; /* ID of data 1 */ \ shortpar2 = HDATID2 >> 1; /* ID of data 2 */ \ \ tMenu(NULL, 1, \ "%$-"lTEXTs"s\n\n" \ " Length of spectrum = %@6lu\n" \ " Data ident. 1 = 0x%@2.2hx\n" \ " Data ident. 2 = 0x%@2.2hx\n", \ TEXT, \ &ICOLS, 0, MAXLEN, \ &shortpar1, 0, 0x003f, \ &shortpar2, 0, 0x003f \ ); \ \ /* ID of data */ \ DATID1 = HDATID1 = shortpar1 << 1; /* Data ID 1 */ \ LFTID1 = DATID1 | 0x21; /* Lifetime ID 1 */ \ DATID2 = HDATID2 = shortpar2 << 1; /* Data ID 1 */ \ LFTID2 = DATID2 | 0x21; /* Lifetime ID 1 */ \ }
#define INPUTPARS2 |
Value:
{ \ \ short shortpar1, shortpar2; \ \ TEXT[lTEXT-1] = '\0'; /* Title of spectrum */ \ IHDLEN = 1; /* Blocks of header */ \ IBYTES = 4; /* Bytes per channel */ \ shortpar1 = HDATID1 >> 1; /* ID of data 1 */ \ shortpar2 = HDATID2 >> 1; /* ID of data 2 */ \ \ tMenu(NULL, 1, \ "%$-"lTEXTs"s\n\n" \ " Data ident. 1 = 0x%@2.2hx\n" \ " Data ident. 2 = 0x%@2.2hx\n", \ TEXT, \ &shortpar1, 0, 0x003f, \ &shortpar2, 0, 0x003f \ ); \ \ /* ID of data */ \ DATID1 = HDATID1 = shortpar1 << 1; /* Data ID 1 */ \ LFTID1 = DATID1 | 0x21; /* Lifetime ID 1 */ \ DATID2 = HDATID2 = shortpar2 << 1; /* Data ID 2 */ \ LFTID2 = DATID2 | 0x21; /* Lifetime ID 2 */ \ }
#define INPUTPARS5 |
#define INPUTXPARS1 |
#define INPUTXPARS2 |
#define INPUTXPARS5 |
#define LFTCNT1 XSPHDR->hdata.spcdat.lftcnt1 |
#define LFTCNT2 XSPHDR->hdata.spcdat.lftcnt2 |
#define LFTID1 ccPARMTR.lftid1 |
#define LFTID2 ccPARMTR.lftid2 |
#define MAXHTYPS 1 |
#define MAXLEN 0x10000 |
#define MAXSPECS 1 |
#define MFILNA 70 |
#define MSTROPT VX_FP_TASK |
#define MSTROPT VX_FP_TASK |
#define MSTRPRIO (BASEPRIO+1) |
#define MSTRSTACK 7000 |
#define MSTRTASK "tMs2Mstr" |
#define OUTCNT1 XSPHDR->hdata.spcdat.outcnt1 |
#define OUTCNT2 XSPHDR->hdata.spcdat.outcnt2 |
#define PEXPMNT ffPARMTR.pexpmnt |
#define PIDPRG ffPARMTR.idprg |
#define PVERSION ffPARMTR.version |
#define RDDACL ffROUTPAR.rddacl |
#define RDDATA ffROUTPAR.rddata |
#define RDIDNT ffROUTPAR.rdidnt |
#define RDSTAT ffROUTPAR.rdstat |
#define RDSTCL ffROUTPAR.rdstcl |
#define REJCNT XSPHDR->hdata.spcdat.rejcnt |
#define RLTCNT XSPHDR->hdata.spcdat.rltcnt |
#define RLTOPT 0 |
#define RLTPRIO (BASEPRIO+0) |
#define RLTSTACK 5000 |
#define RLTTASK "tMs2Rlt" |
#define RUNTIM XSPHDR->hdata.spcdat.runtim |
#define SAVBGDATA |
#define SHOWHDR |
Value:
printf("Length: 2 * %6lu\n", ICOLS); \ putchar('\n'); \ printf("%10lu Realtime\n", RLTCNT); \ printf("%10lu Lifetime data 1\n", LFTCNT1); \ printf("%10lu Current channel data 1\n", DATCNT1); \ /* printf("%10lu Processed data 1\n", DATCNT1);*/ \ printf("%10lu Data 1 out of range\n", OUTCNT1); \ printf("%10lu Lifetime data 2\n", LFTCNT2); \ printf("%10lu Current channel data 2\n", DATCNT2); \ /* printf("%10lu Processed data 2\n", DATCNT2);*/ \ printf("%10lu Data 2 out of range\n", OUTCNT2); \ printf("%10lu Rejected data\n", REJCNT); \ printf("%10lu Fifo overflows\n", FULCNT); \ printf("%10lu Data errors\n", ERRCNT); \
#define SP0NAM ffPARMTR.sp0nam |
#define SPOFFS XSPHDR->hdata.spcdat.spoffs |
#define SPSTAT XSPHDR->hdata.spcdat.status |
#define STOPRT ffROUTPAR.stoprt |
#define useDATAROUT |
#define USHMAX 4 |
#define ZZZZZZ ffPARMTR.zzzzzz |
enum headertypes |