#include "exlib.conf"
#include "daclib.conf"
#include "exlib.h"
#include "daclib.h"
#include "ess.h"
Data Structures | |
| union | SPCHDR |
| struct | SPCHDR::ESS_type |
| struct | SPCHDR::ECF_type |
Defines | |
| #define | CPNAME "ESS" |
| #define | CPTITL "Elektron-Stoss-WQ-Scan" |
| #define | CPDATE "(15Jan03/Hu)" |
| #define | CIDPRG "ESS " |
| #define | CVERSION "21may02" |
| #define | MFILNA 70 |
| #define | useDATAROUT |
| #define | useCTRLROUT |
| #define | CLKRATE sysClkRateGet() |
| #define | BASEPRIO 40 |
| #define | MAXLEN 0xffff |
| #define | INISTACK 5000 |
| #define | INICHCK VX_FP_TASK |
| #define | INIOPT VX_FP_TASK |
| #define | MSTRTASK "tEssMstr" |
| #define | MSTRPRIO (BASEPRIO+1) |
| #define | MSTRSTACK 7000 |
| #define | MSTROPT VX_FP_TASK |
| #define | MSTROPT VX_FP_TASK |
| #define | RLTTASK "tEssRlt" |
| #define | RLTPRIO (BASEPRIO+0) |
| #define | RLTSTACK 5000 |
| #define | RLTOPT 0 |
| #define | DATATASK "tEssData" |
| #define | DATAPRIO (BASEPRIO+2) |
| #define | DATASTACK 5000 |
| #define | DATAOPT VX_FP_TASK |
| #define | DATATIME 9 |
| #define | DATAPAUSE 1 |
| #define | CTRLTASK "tEssCtrl" |
| #define | CTRLPRIO (BASEPRIO+2) |
| #define | CTRLSTACK 5000 |
| #define | CTRLOPT 0 |
| #define | CTRLPAUSE 1 |
| #define | CTRLECF ".ecf" |
| #define | BRKTASK "tEssBrk" |
| #define | BRKPRIO (BASEPRIO+1) |
| #define | BRKSTACK 5000 |
| #define | BRKOPT 0 |
| #define | SAVBGDATA |
| #define | CBGTASK "tEssBg" |
| #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_ess.vxw\",,'S'" |
| #define | BGARGS |
| #define | CBGCHECK FALSE |
| #define | CBGUNLD TRUE |
| #define | CIDPAR "STRZ-VXW" |
| #define | CPARNA "bootHost:/ex_home/ex_param/esspar.vxw" |
| #define | CDFNAM "data:/spectrum.ess" |
| #define | CHLPNA "bootHost:/ex_home/ex_help/Oldies/esshlp.txt" |
| #define | CISERV "servix" |
| #define | CIUSER "vme-info" |
| #define | CIFILE "ess/ess.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 | SP1NAM common.sp1nam |
| #define | HEADER1 common.header1 |
| #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 | ECOFAC ffPARMTR.ecofac |
| #define | ICOFAC ffPARMTR.icofac |
| #define | POSID ffPARMTR.posid |
| #define | LFTID ffPARMTR.lftid |
| #define | CT1ID ffPARMTR.ct1id |
| #define | CT2ID ffPARMTR.ct2id |
| #define | CT3ID ffPARMTR.ct3id |
| #define | CT4ID ffPARMTR.ct4id |
| #define | BOVID ffPARMTR.bovid |
| #define | ECFTXT ccPARMTR.ecftxt |
| #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 | DAC1ADR 0x0010 |
| #define | DAC2ADR 0x0011 |
| #define | DAC3ADR 0x0012 |
| #define | DAC4ADR 0x0070 |
| #define | NZTADR 0x0016 |
| #define | CRNGADR 0x0017 |
| #define | CHDLEN "1" |
| #define | CEXPMNT "??????" |
| #define | CSPTYPE "MCA2" |
| #define | CROWS " 4" |
| #define | CBYTES "4" |
| #define | CLTXT " 80" |
| #define | CDFTXT "ESS Spectrum --- Strahlenzentrum Universitaet Giessen" |
| #define | CSLEN 512 |
| #define | INITSPCHDR |
| #define | SPSTAT XSPHDR->hdata.spcdat.spcdat_ESS.status |
| #define | RLTCNT XSPHDR->hdata.spcdat.spcdat_ESS.rltcnt |
| #define | LFTCNT XSPHDR->hdata.spcdat.spcdat_ESS.lftcnt |
| #define | DATCNT XSPHDR->hdata.spcdat.spcdat_ESS.datcnt |
| #define | OUTCNT XSPHDR->hdata.spcdat.spcdat_ESS.outcnt |
| #define | CT1CNT XSPHDR->hdata.spcdat.spcdat_ESS.ct1cnt |
| #define | CT2CNT XSPHDR->hdata.spcdat.spcdat_ESS.ct2cnt |
| #define | CT3CNT XSPHDR->hdata.spcdat.spcdat_ESS.ct3cnt |
| #define | CT4CNT XSPHDR->hdata.spcdat.spcdat_ESS.ct4cnt |
| #define | SEQCNT XSPHDR->hdata.spcdat.spcdat_ESS.seqcnt |
| #define | BOVCNT XSPHDR->hdata.spcdat.spcdat_ESS.bovcnt |
| #define | REJCNT XSPHDR->hdata.spcdat.spcdat_ESS.rejcnt |
| #define | ERRCNT XSPHDR->hdata.spcdat.spcdat_ESS.errcnt |
| #define | FULCNT XSPHDR->hdata.spcdat.spcdat_ESS.fulcnt |
| #define | HDATID XSPHDR->hdata.spcdat.spcdat_ESS.hdatid |
| #define | STAPLO XSPHDR->hdata.spcdat.spcdat_ESS.staplo |
| #define | SLEN XSPHDR->hdata.spcdat.spcdat_ESS.slen |
| #define | EXPAR XSPHDR->hdata.spcdat.spcdat_ESS.expar |
| #define | ECFPRG XSPHDR->hdata.spcdat.spcdat_ESS.ecfprg |
| #define | GUNTYP XSPHDR->hdata.spcdat.spcdat_ESS.guntyp |
| #define | GUNTXT XSPHDR->hdata.spcdat.spcdat_ESS.guntxt |
| #define | GUNPAR XSPHDR->hdata.spcdat.spcdat_ESS.gunpar |
| #define | DEADTM XSPHDR->hdata.spcdat.spcdat_ESS.deadtm |
| #define | DTMERR XSPHDR->hdata.spcdat.spcdat_ESS.dtmerr |
| #define | RUNTIM XSPHDR->hdata.spcdat.spcdat_ESS.runtim |
| #define | ECFGUNTYP XSPHDR->hdata.spcdat.spcdat_ECF.guntyp |
| #define | ECFCOMMNT XSPHDR->hdata.spcdat.spcdat_ECF.commnt |
| #define | ECFLENGTH XSPHDR->hdata.spcdat.spcdat_ECF.length |
| #define | ECFTYPE XSPHDR->hdata.spcdat.spcdat_ECF.ecftyp |
| #define | ECFCHANS XSPHDR->hdata.spcdat.spcdat_ECF.chans |
| #define | ECFMINE XSPHDR->hdata.spcdat.spcdat_ECF.mine |
| #define | ECFMAXE XSPHDR->hdata.spcdat.spcdat_ECF.maxe |
| #define | ECFSTTIME XSPHDR->hdata.spcdat.spcdat_ECF.sttime |
| #define | ECFOFFTIME XSPHDR->hdata.spcdat.spcdat_ECF.offtime |
| #define | ECFONTIME XSPHDR->hdata.spcdat.spcdat_ECF.ontime |
| #define | ECFTXTPTR XSPHDR->hdata.spcdat.spcdat_ECF.txtptr |
| #define | MAXSPECS 2 |
| #define | MAXHTYPS 2 |
| #define | USHMAX 4 |
| #define | HDSCR_ESS "208i1 1i2 14i4 2i2 13f4 12i1 1i2 3f4 1i4" |
| #define | HDSCR_ECF "208i1 304i1" |
| #define | INITHTYPES |
| #define | INITSPEPNTR |
| #define | SHOWHDR |
| #define | SHOWXHDR |
| #define | EXTPAR2ASCII |
| #define | INPUTPARS1 |
| #define | INPUTPARS2 |
| #define | INPUTPARS5 |
| #define | INPUTXPARS1 |
| #define | INPUTXPARS2 |
| #define | INPUTXPARS5 |
| #define | INITPARS |
| #define | SPECONFm |
| #define | SPECONFi |
| #define | SPECONFp |
| #define | SPECONFf |
| #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 28may03 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 21may02 kHu Set data ID bits 15may02 kHu Bug in ess25.c beseitigt 07may02 kHu ECF-ID Check: ECF1 -> ECF wegen ECFx in ECFm1/2 Files 07may02 kHu "Update parameters" in inxgun..() 30apr02 kHu Init task -> Master task 28feb02 kHu Parameters for background program 18feb02 kHu Argumente beim Start: PNAME,PTITLE,PARNAM,HLPNAM 28aug01 kHu BGARGS/Z ...,(int)xCntrl,... 03apr01 kHu EXTPAR2ASCII macro 08jan01 kHu ERRCNTo, ERRCNTd, ERRCNTf 19dec00 kHu Ion-/Elektr.-Strom Konversionsfaktoren veraenderbar 04oct00 kHu eigener Parameter-File bei BG-Programm (BGPNAM) 13sep00 kHu tReadp() -> tMenu 07sep00 kHu DRMENU, DRTYPE, CRMENU, CRTYPE, CRPRIO neu 29mar00 kHu MSTRSTACK = 6000 20mar00 kHu IHDLEN, IBYTES 23feb00 kHu Header Typen Beschreibung geaendert 24jan00 kHu guntyp, gunpar[10] in header 11nov99 kHu Newprog Standard 28okt99 kHu x.conf x.h neu geordnet 22okt99 kHu mit ESW abgeglichen 05oct99 kHu neu aus ESW
| #define BASEPRIO 40 |
| #define BGARGS |
| #define BOVCNT XSPHDR->hdata.spcdat.spcdat_ESS.bovcnt |
| #define BOVID ffPARMTR.bovid |
| #define BRKOPT 0 |
| #define BRKPRIO (BASEPRIO+1) |
| #define BRKSTACK 5000 |
| #define BRKTASK "tEssBrk" |
| #define CBGARG1 ",,\"peak_ess.vxw\",,'S'" |
| #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 "tEssBg" |
| #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.ess" |
| #define CDFTXT "ESS Spectrum --- Strahlenzentrum Universitaet Giessen" |
| #define CEXPMNT "??????" |
| #define CHDLEN "1" |
| #define CHLPNA "bootHost:/ex_home/ex_help/Oldies/esshlp.txt" |
| #define CIDPAR "STRZ-VXW" |
| #define CIDPRG "ESS " |
| #define CIFILE "ess/ess.info" |
| #define CISERV "servix" |
| #define CIUSER "vme-info" |
| #define CLKRATE sysClkRateGet() |
| #define CLTXT " 80" |
| #define CPARNA "bootHost:/ex_home/ex_param/esspar.vxw" |
| #define CPDATE "(15Jan03/Hu)" |
| #define CPNAME "ESS" |
| #define CPTITL "Elektron-Stoss-WQ-Scan" |
| #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 CRNGADR 0x0017 |
| #define CROFFS ffROUTPAR.croffs |
| #define CROWS " 4" |
| #define CRPRIO ffROUTPAR.crprio |
| #define CRSTAT ffROUTPAR.crstat |
| #define CRTYPE ffROUTPAR.crtype |
| #define CSLEN 512 |
| #define CSPTYPE "MCA2" |
| #define CT1CNT XSPHDR->hdata.spcdat.spcdat_ESS.ct1cnt |
| #define CT1ID ffPARMTR.ct1id |
| #define CT2CNT XSPHDR->hdata.spcdat.spcdat_ESS.ct2cnt |
| #define CT2ID ffPARMTR.ct2id |
| #define CT3CNT XSPHDR->hdata.spcdat.spcdat_ESS.ct3cnt |
| #define CT3ID ffPARMTR.ct3id |
| #define CT4CNT XSPHDR->hdata.spcdat.spcdat_ESS.ct4cnt |
| #define CT4ID ffPARMTR.ct4id |
| #define CTRLECF ".ecf" |
| #define CTRLOPT 0 |
| #define CTRLPAUSE 1 |
| #define CTRLPRIO (BASEPRIO+2) |
| #define CTRLSTACK 5000 |
| #define CTRLTASK "tEssCtrl" |
| #define CVERSION "21may02" |
| #define DAC1ADR 0x0010 |
| #define DAC2ADR 0x0011 |
| #define DAC3ADR 0x0012 |
| #define DAC4ADR 0x0070 |
| #define DATAMACRO |
| #define DATAOPT VX_FP_TASK |
| #define DATAPAUSE 1 |
| #define DATAPRIO (BASEPRIO+2) |
| #define DATASTACK 5000 |
| #define DATATASK "tEssData" |
| #define DATATIME 9 |
| #define DATAVARS |
Value:
int essstat = 0; \ unsigned short savpos, savct1, savct2, savct3, savct4; \ DATAC *pchnl;
| #define DATCNT XSPHDR->hdata.spcdat.spcdat_ESS.datcnt |
| #define DEADTM XSPHDR->hdata.spcdat.spcdat_ESS.deadtm |
| #define DFLTPAR ffPARMTR.dflts |
| #define DRBASE ffROUTPAR.drbase |
| #define DRMENU ffROUTPAR.drmenu |
| #define DROFFS ffROUTPAR.droffs |
| #define DRTYPE ffROUTPAR.drtype |
| #define DTMERR XSPHDR->hdata.spcdat.spcdat_ESS.dtmerr |
| #define ECFCHANS XSPHDR->hdata.spcdat.spcdat_ECF.chans |
| #define ECFCOMMNT XSPHDR->hdata.spcdat.spcdat_ECF.commnt |
| #define ECFGUNTYP XSPHDR->hdata.spcdat.spcdat_ECF.guntyp |
| #define ECFLENGTH XSPHDR->hdata.spcdat.spcdat_ECF.length |
| #define ECFMAXE XSPHDR->hdata.spcdat.spcdat_ECF.maxe |
| #define ECFMINE XSPHDR->hdata.spcdat.spcdat_ECF.mine |
| #define ECFOFFTIME XSPHDR->hdata.spcdat.spcdat_ECF.offtime |
| #define ECFONTIME XSPHDR->hdata.spcdat.spcdat_ECF.ontime |
| #define ECFPRG XSPHDR->hdata.spcdat.spcdat_ESS.ecfprg |
| #define ECFSTTIME XSPHDR->hdata.spcdat.spcdat_ECF.sttime |
| #define ECFTXT ccPARMTR.ecftxt |
| #define ECFTXTPTR XSPHDR->hdata.spcdat.spcdat_ECF.txtptr |
| #define ECFTYPE XSPHDR->hdata.spcdat.spcdat_ECF.ecftyp |
| #define ECOFAC ffPARMTR.ecofac |
| #define ERRCNT XSPHDR->hdata.spcdat.spcdat_ESS.errcnt |
| #define EXPAR XSPHDR->hdata.spcdat.spcdat_ESS.expar |
| #define ffDACLIBPAR parfile.daclibpar |
| #define ffEXLIBPAR parfile.exlibpar |
| #define ffPARFILE parfile |
| #define ffPARMTR parfile.parmtr |
| #define ffROUTPAR parfile.routpar |
| #define FULCNT XSPHDR->hdata.spcdat.spcdat_ESS.fulcnt |
| #define GUNPAR XSPHDR->hdata.spcdat.spcdat_ESS.gunpar |
| #define GUNTXT XSPHDR->hdata.spcdat.spcdat_ESS.guntxt |
| #define GUNTYP XSPHDR->hdata.spcdat.spcdat_ESS.guntyp |
| #define HDATID XSPHDR->hdata.spcdat.spcdat_ESS.hdatid |
| #define HDSCR_ECF "208i1 304i1" |
| #define HDSCR_ESS "208i1 1i2 14i4 2i2 13f4 12i1 1i2 3f4 1i4" |
| #define HEADER0 parfile.header0 |
| #define HEADER1 common.header1 |
| #define ICOFAC ffPARMTR.icofac |
| #define IDPAR ffPARMTR.idpar |
| #define INICHCK VX_FP_TASK |
| #define INIOPT VX_FP_TASK |
| #define INISTACK 5000 |
| #define INITHTYPES |
Value:
/* ESS-type, spectrum 0 only */ \ {{TRUE, FALSE}, /* Type valid for spectrum 0 */ \ CIDHDRvxw, /* Required header ID in IDHDR */ \ "ESS", /* Required program ID in IDPRG */ \ HDSCR_ESS, /* Header descriptor string */ \ ESS_HEADER}, /* Header type */ \ /* ECF-ULT-type, spectrum 1 only */ \ {{FALSE, TRUE}, /* Type valid for spectrum 1 */ \ NULL, /* Any header ID in IDHDR */ \ "ECF", /* Required program ID in IDPRG */ \ HDSCR_ECF, /* Header descriptor string */ \ ECF_HEADER}
| #define INITPARS |
| #define INITSPCHDR |
Value:
{0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0, \
CSLEN, /* Length of single spectrum */\
{0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.},\
"", \
0, \
"", \
{0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}, \
0.,0., \
0}
| #define INITSPEPNTR |
Value:
/* Spectrum 0 */ \ {0,0,0,0,0,0,0,0,0, \ SP0NAM, /* File name of spectrum */ \ NULL, NULL, NULL, \ &HEADER0, /* Pointer to extracted header */ \ &HEADER0.hdata.spcdat, /* Special header data */ \ NULL, \ {{0},{0},{0},{0}}}, /* USHMAX times 0 */ \ /* Spectrum 1 */ \ {0,0,0,0,0,0,0,0,0, \ SP1NAM, /* File name of spectrum */ \ NULL, NULL, NULL, \ &HEADER1, /* Pointer to extracted header */ \ &HEADER1.hdata.spcdat, /* Special header data */ \ NULL, \ {{0},{0},{0},{0}}},
| #define INPUTPARS1 |
Value:
{ \
\
TEXT[lTEXT-1] = '\0'; /* Title of spectrum */ \
IHDLEN = 1; /* Blocks of header */ \
IBYTES = 4; /* Bytes per channel */ \
IROWS = atol(CROWS); /* Number of lines */ \
\
/* Show Experiment Control File data */ \
puts(" === Experiment Control File data ==="); \
printf("ECF type : %s\n", GUNTXT); \
printf("ECF program : %s\n", ECFPRG); \
printf("%s", ECFTXT); \
printf("Length of spectrum : 4 * %hu\n\n\n", SLEN); \
\
tMenu(NULL, 1, \
"%$-"lTEXTs"s\n" \
/* " Length of single spectrum = %6hu\n" */ \
/* " Timer = %$10lu s\n" */ \
" Deadtime of event counter = %@7.3f +- %@6.3f µs\n", \
TEXT, \
/* &SLEN, */ \
/* &RUNTIM, */ \
&DEADTM, 0., 1.e+10, &DTMERR, 0., 1.e+10 \
); \
\
ICOLS = SLEN; /* SLEN set by ECFile */ \
}
| #define INPUTPARS2 |
| #define INPUTPARS5 |
| #define LFTCNT XSPHDR->hdata.spcdat.spcdat_ESS.lftcnt |
| #define LFTID ffPARMTR.lftid |
| #define MAXHTYPS 2 |
| #define MAXLEN 0xffff |
| #define MAXSPECS 2 |
| #define MFILNA 70 |
| #define MSTROPT VX_FP_TASK |
| #define MSTROPT VX_FP_TASK |
| #define MSTRPRIO (BASEPRIO+1) |
| #define MSTRSTACK 7000 |
| #define MSTRTASK "tEssMstr" |
| #define NZTADR 0x0016 |
| #define OUTCNT XSPHDR->hdata.spcdat.spcdat_ESS.outcnt |
| #define PEXPMNT ffPARMTR.pexpmnt |
| #define PIDPRG ffPARMTR.idprg |
| #define POSID ffPARMTR.posid |
| #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.spcdat_ESS.rejcnt |
| #define RLTCNT XSPHDR->hdata.spcdat.spcdat_ESS.rltcnt |
| #define RLTOPT 0 |
| #define RLTPRIO (BASEPRIO+0) |
| #define RLTSTACK 5000 |
| #define RLTTASK "tEssRlt" |
| #define RUNTIM XSPHDR->hdata.spcdat.spcdat_ESS.runtim |
| #define SAVBGDATA |
| #define SEQCNT XSPHDR->hdata.spcdat.spcdat_ESS.seqcnt |
| #define SHOWHDR |
Value:
{ \
long datcnt, ct1cnt, ct2cnt, ct3cnt, ct4cnt; \
\
/* Snapshot to avaid asynchronous counters */ \
/* on slow output (VT200) */ \
datcnt = DATCNT; \
ct1cnt = CT1CNT; \
ct2cnt = CT2CNT; \
ct3cnt = CT3CNT; \
ct4cnt = CT4CNT; \
\
printf("Length: %lu * %lu\n", IROWS, ICOLS); \
printf("Timer : %lus\n", RUNTIM); \
putchar('\n'); \
printf("%10lu Realtime\n", RLTCNT); \
printf("%10lu Lifetime\n", LFTCNT); \
printf("%10lu Positions received\n", datcnt); \
printf("%10lu Positions out of range\n", OUTCNT); \
printf("%10lu Counter 1 received\n", ct1cnt); \
printf("%10lu Counter 2 received\n", ct2cnt); \
printf("%10lu Counter 3 received\n", ct3cnt); \
printf("%10lu Counter 4 received\n", ct4cnt); \
printf("%10lu Data sequence errors\n", SEQCNT); \
printf("%10lu Buffer overruns\n", BOVCNT); \
printf("%10lu Rejected data\n", REJCNT); \
printf("%10lu Fifo overflows\n", FULCNT); \
printf("%10lu Data errors\n", ERRCNT); \
}
| #define SLEN XSPHDR->hdata.spcdat.spcdat_ESS.slen |
| #define SP0NAM ffPARMTR.sp0nam |
| #define SP1NAM common.sp1nam |
| #define SPECONFf |
Value:
/* Special configuration */ \ /* !=======> Set data ID bits */ \ void SetIDs(void) { \ Termnl(2, 0, " "); /* Reset scrolling region */ \ tMenu("Set data identifications", 1, \ " ESS Position interface = 0x%@2.2hx\n" \ " Counter 1 = 0x%@2.2hx\n" \ " Counter 2 = 0x%@2.2hx\n" \ " Counter 3 = 0x%@2.2hx\n" \ " Counter 4 = 0x%@2.2hx\n" \ " Lifetime = 0x%@2.2hx\n" \ " Buffer overruns = 0x%@2.2hx\n", \ &POSID, 0, 0x3f, \ &CT1ID, 0, 0x3f, \ &CT2ID, 0, 0x3f, \ &CT3ID, 0, 0x3f, \ &CT4ID, 0, 0x3f, \ &LFTID, 0, 0x3f, \ &BOVID, 0, 0x3f); \ return; \ }
| #define SPECONFi |
| #define SPECONFm |
Value:
/* Special configuration */ \ " %$m Data identification bits\n" \ " %$m Ion current converter\n" \ " %$m Electron current converter\n"
| #define SPECONFp |
| #define SPSTAT XSPHDR->hdata.spcdat.spcdat_ESS.status |
| #define STAPLO XSPHDR->hdata.spcdat.spcdat_ESS.staplo |
| #define STOPRT ffROUTPAR.stoprt |
| #define useCTRLROUT |
| #define useDATAROUT |
| #define USHMAX 4 |
| #define ZZZZZZ ffPARMTR.zzzzzz |
| enum headertypes |
1.5.6