matrix.conf File Reference

MATRIX: X/Y-Matrix-Program; Configuration file. More...

#include "exlib.conf"
#include "daclib.conf"
#include "exlib.h"
#include "daclib.h"
#include "matrix.h"

Data Structures

union  SPCHDR

Defines

#define CPNAME   "MATRIX"
#define CPTITL   "X/Y-Matrix"
#define CPDATE   "(28Apr05/Hu)"
#define CIDPRG   "MTRX"
#define CVERSION   "28apr05"
#define MFILNA   70
#define useDATAROUT
#define CLKRATE   sysClkRateGet()
#define BASEPRIO   40
#define MAXLEN   0xffff
#define INISTACK   5000
#define INICHCK   VX_FP_TASK
#define INIOPT   VX_FP_TASK
#define MSTRTASK   "tMtxMstr"
#define MSTRPRIO   (BASEPRIO+1)
#define MSTRSTACK   7000
#define MSTROPT   VX_FP_TASK
#define MSTROPT   VX_FP_TASK
#define RLTTASK   "tMtxRlt"
#define RLTPRIO   (BASEPRIO+0)
#define RLTSTACK   5000
#define RLTOPT   0
#define DATATASK   "tMtxData"
#define DATAPRIO   (BASEPRIO+2)
#define DATASTACK   5000
#define DATAOPT   VX_FP_TASK
#define DATATIME   9
#define DATAPAUSE   1
#define CTRLTASK   "tMtxCtrl"
#define CTRLPRIO   (BASEPRIO+2)
#define CTRLSTACK   5000
#define CTRLOPT   0
#define CTRLPAUSE   1
#define CTRLECF   ".ecf"
#define SAVBGDATA
#define CBGTASK   "tMatrixBg"
#define CBGPRIO   100
#define CBGFILE   "~/ex_home/ex_prog/peakv.o"
#define CBGSYM   "_peak"
#define CBGSTACK   12000
#define CBGOPT   VX_FP_TASK
#define CBGARG1   ",,\"peak_matrix.vxw\",,'X'"
#define BGARGS
#define CBGCHECK   FALSE
#define CBGUNLD   TRUE
#define CIDPAR   "STRZ-VXW"
#define CPARNA   "bootHost:/ex_home/ex_param/matrixpar.vxw"
#define CDFNAM   "data:/spectrum.mat"
#define CHLPNA   "bootHost:/ex_home/ex_help/matrixhlp.txt"
#define CISERV   "servix"
#define CIUSER   "vme-info"
#define CIFILE   "matrix/matrix.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 ECOFAC   ffPARMTR.ecofac
#define ICOFAC   ffPARMTR.icofac
#define GUNLMTS   ffPARMTR.gunlmts
#define GUNOVRD   ffPARMTR.gunovrd
#define SYNID   ffPARMTR.synid
#define XAXID   ffPARMTR.xaxid
#define YAXID   ffPARMTR.yaxid
#define LFTID   ffPARMTR.lftid
#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   "MCA2"
#define CBYTES   "4"
#define CLTXT   " 80"
#define CDFTXT   "X/Y Matrix --- Strahlenzentrum Universitaet Giessen"
#define CXLEN   256
#define CYLEN   256
#define CERRKF   .01
#define CERREC   .05
#define CERRIC   .05
#define CERRCW   .01
#define CERRDE   .03
#define CS5SCAL   32768.e+5
#define INITSPCHDR
#define SPSTAT   XSPHDR->hdata.spcdat.status
#define RLTCNT   XSPHDR->hdata.spcdat.rltcnt
#define LFTCNT   XSPHDR->hdata.spcdat.lftcnt
#define DATCNT   XSPHDR->hdata.spcdat.datcnt
#define OUTCNT   XSPHDR->hdata.spcdat.outcnt
#define XAXCNT   XSPHDR->hdata.spcdat.xaxcnt
#define YAXCNT   XSPHDR->hdata.spcdat.yaxcnt
#define SEQCNT   XSPHDR->hdata.spcdat.seqcnt
#define FULCNT   XSPHDR->hdata.spcdat.fulcnt
#define REJCNT   XSPHDR->hdata.spcdat.rejcnt
#define ERRCNT   XSPHDR->hdata.spcdat.errcnt
#define HDATID   XSPHDR->hdata.spcdat.hdatid
#define XLEN   XSPHDR->hdata.spcdat.xlen
#define YLEN   XSPHDR->hdata.spcdat.ylen
#define RUNTIM   XSPHDR->hdata.spcdat.runtim
#define MAXSPECS   1
#define MAXHTYPS   1
#define USHMAX   4
#define HDSCR_MTX   "208i1 1i2 13i4 1i2 1i4"
#define INITHTYPES
#define INITSPEPNTR
#define SHOWHDR
#define INPUTPARS1
#define INPUTPARS2
#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
}


Detailed Description

MATRIX: X/Y-Matrix-Program; Configuration file.

Author:
Kurt Huber; Strahlenzentrum J.L.-Universitaet GIESSEN
Date:
28.04.2005
Version:
15.08.2008
modification history
--------------------
15aug08 kHu	DOXYGEN comments added
28apr05 kHu	neu aus ESW

Define Documentation

#define BASEPRIO   40

#define BGARGS

Value:

(int)BGARG1,(int)SPEBUF,(int)FILNAM,(int)xCntrl,        \
                (int)STATUS,(int)&HEADER0,0,0,0,0

#define CBGARG1   ",,\"peak_matrix.vxw\",,'X'"

#define CBGCHECK   FALSE

#define CBGFILE   "~/ex_home/ex_prog/peakv.o"

#define CBGOPT   VX_FP_TASK

#define CBGPRIO   100

#define CBGSTACK   12000

#define CBGSYM   "_peak"

#define CBGTASK   "tMatrixBg"

#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.mat"

#define CDFTXT   "X/Y Matrix --- Strahlenzentrum Universitaet Giessen"

#define CERRCW   .01

#define CERRDE   .03

#define CERREC   .05

#define CERRIC   .05

#define CERRKF   .01

#define CEXPMNT   "??????"

#define CHDLEN   "1"

#define CHLPNA   "bootHost:/ex_home/ex_help/matrixhlp.txt"

#define CIDPAR   "STRZ-VXW"

#define CIDPRG   "MTRX"

#define CIFILE   "matrix/matrix.info"

#define CISERV   "servix"

#define CIUSER   "vme-info"

#define CLKRATE   sysClkRateGet()

#define CLTXT   " 80"

#define CPARNA   "bootHost:/ex_home/ex_param/matrixpar.vxw"

#define CPDATE   "(28Apr05/Hu)"

#define CPNAME   "MATRIX"

#define CPTITL   "X/Y-Matrix"

#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 CRPRIO   ffROUTPAR.crprio

#define CRSTAT   ffROUTPAR.crstat

#define CRTYPE   ffROUTPAR.crtype

#define CS5SCAL   32768.e+5

#define CSPTYPE   "MCA2"

#define CTRLECF   ".ecf"

#define CTRLOPT   0

#define CTRLPAUSE   1

#define CTRLPRIO   (BASEPRIO+2)

#define CTRLSTACK   5000

#define CTRLTASK   "tMtxCtrl"

#define CVERSION   "28apr05"

#define CXLEN   256

#define CYLEN   256

#define DATAMACRO

#define DATAOPT   VX_FP_TASK

#define DATAPAUSE   1

#define DATAPRIO   (BASEPRIO+2)

#define DATASTACK   5000

#define DATATASK   "tMtxData"

#define DATATIME   9

#define DATAVARS

Value:

int matstat = 0;                                                \
        unsigned short savxax, savyax;                                  \
        DATAC *pchanl;

#define DATCNT   XSPHDR->hdata.spcdat.datcnt

#define DFLTPAR   ffPARMTR.dflts

#define DRBASE   ffROUTPAR.drbase

#define DRMENU   ffROUTPAR.drmenu

#define DROFFS   ffROUTPAR.droffs

#define DRTYPE   ffROUTPAR.drtype

#define ECOFAC   ffPARMTR.ecofac

#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 GUNLMTS   ffPARMTR.gunlmts

#define GUNOVRD   ffPARMTR.gunovrd

#define HDATID   XSPHDR->hdata.spcdat.hdatid

#define HDSCR_MTX   "208i1 1i2 13i4 1i2 1i4"

#define HEADER0   parfile.header0

#define ICOFAC   ffPARMTR.icofac

#define IDPAR   ffPARMTR.idpar

#define INICHCK   VX_FP_TASK

#define INIOPT   VX_FP_TASK

#define INISTACK   5000

#define INITHTYPES

Value:

/* MTX-type, spectrum 0 */                                      \
    {{TRUE},            /* Type valid for spectrum 0 */         \
    CIDHDRvxw,          /* Required header ID in IDHDR */       \
    "MTRX",             /* Required program ID in IDPRG */      \
    HDSCR_MTX,          /* Header descriptor string */          \
    MTX_HEADER}

#define INITPARS

Value:

RLTCNT = 0;             \
    LFTCNT = 0;         \
    DATCNT = 0;         \
    OUTCNT = 0;         \
    XAXCNT = 0;         \
    YAXCNT = 0;         \
    SEQCNT = 0;         \
    REJCNT = 0;         \
    FULCNT = 0;         \
    ERRCNT = 0;         \
    ERRCNTo = 0;        \
    ERRCNTd = 0;        \
    ERRCNTf = 0;        \

#define INITSPCHDR

Value:

{0,                                     \
    0,0,0,0,0,0,0,0,0,0,                \
    CXLEN,      /* Length of X axis */  \
    CYLEN,      /* Length of Y axis */  \
    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}}},

#define INPUTPARS1

Value:

{                                                               \
                                                                                \
    float floatpar;                                                             \
                                                                                \
    TEXT[lTEXT-1] = '\0';       /* Title of spectrum */                         \
    IHDLEN = 1;                 /* Blocks of header */                          \
    IBYTES = 4;                 /* Bytes per channel */                         \
                                                                                \
    tMenu(NULL, 1,                                                              \
        "%$-"lTEXTs"s\n\n"                                                      \
        "  Length of X axis = %@6hu\n"                                          \
        "  Length of Y axis = %@6hu\n"                                          \
        "  Timer = %$10lu s\n",                                                 \
        TEXT,                                                                   \
        &XLEN, 0, MAXLEN,                                                       \
        &YLEN, 0, MAXLEN,                                                       \
        &RUNTIM);                                                               \
                                                                                \
    ICOLS = XLEN;                                                               \
    IROWS = YLEN;                                                               \
}

#define INPUTPARS2

Value:

{                                                               \
                                                                                \
    TEXT[lTEXT-1] = '\0';       /* Title of spectrum */                         \
    IHDLEN = 1;                 /* Blocks of header */                          \
    IBYTES = 4;                 /* Bytes per channel */                         \
                                                                                \
    tMenu(NULL, 1,                                                              \
        "%$-"lTEXTs"s\n\n"                                                      \
        "  Timer = %$10lu s",                                                   \
        TEXT,                                                                   \
        &RUNTIM);                                                               \
}

#define LFTCNT   XSPHDR->hdata.spcdat.lftcnt

#define LFTID   ffPARMTR.lftid

#define MAXHTYPS   1

#define MAXLEN   0xffff

#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   "tMtxMstr"

#define OUTCNT   XSPHDR->hdata.spcdat.outcnt

#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   "tMtxRlt"

#define RUNTIM   XSPHDR->hdata.spcdat.runtim

#define SAVBGDATA

#define SEQCNT   XSPHDR->hdata.spcdat.seqcnt

#define SHOWHDR

Value:

{                                       \
    long datcnt, xaxcnt, yaxcnt;        \
                                                        \
    /* Snapshot to avaid asynchronous counters */       \
    /* on slow output (VT200) */                        \
    datcnt = DATCNT;                                    \
    xaxcnt = XAXCNT;                                    \
    yaxcnt = YAXCNT;                                    \
                                                        \
    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 Events received\n", DATCNT);  \
    printf("%10lu Events out of range\n", OUTCNT);      \
    printf("%10lu X data received\n", XAXCNT);  \
    printf("%10lu Y data received\n", YAXCNT);  \
    printf("%10lu Data sequence errors\n", SEQCNT);     \
    printf("%10lu Rejected data\n", REJCNT);            \
    printf("%10lu Fifo overflows\n", FULCNT);           \
    printf("%10lu Data errors\n", ERRCNT);              \
}

#define SP0NAM   ffPARMTR.sp0nam

#define SPECONFf

Value:

/* Special configuration */             \
        /* !=======> Set data ID bits */                        \
        void SetIDs(void) {                                     \
            Termnl(2, 0, " ");  /* Reset scrolling region */    \
            tMenu("Set data identifications", 1,                \
                "  Synchr.  = 0x%@2.2hx\n"                      \
                "  X-Axis   = 0x%@2.2hx\n"                      \
                "  Y-Axis   = 0x%@2.2hx\n"                      \
                "  Lifetime = 0x%@2.2hx\n",                     \
                &SYNID, 0, 0x3f,                                \
                &XAXID, 0, 0x3f,                                \
                &YAXID, 0, 0x3f,                                \
                &LFTID, 0, 0x3f);                               \
            return;                                             \
        }

#define SPECONFi

Value:

/* Special configuration */     \
        if(cout-- == 1) SetIDs();

#define SPECONFm

Value:

/* Special configuration */     \
        " %$m Data identification bits\n"

#define SPECONFp

Value:

/* Special configuration */     \
        SetIDs();

#define SPSTAT   XSPHDR->hdata.spcdat.status

#define STOPRT   ffROUTPAR.stoprt

#define SYNID   ffPARMTR.synid

#define useDATAROUT

#define USHMAX   4

#define XAXCNT   XSPHDR->hdata.spcdat.xaxcnt

#define XAXID   ffPARMTR.xaxid

#define XLEN   XSPHDR->hdata.spcdat.xlen

#define YAXCNT   XSPHDR->hdata.spcdat.yaxcnt

#define YAXID   ffPARMTR.yaxid

#define YLEN   XSPHDR->hdata.spcdat.ylen

#define ZZZZZZ   ffPARMTR.zzzzzz


Enumeration Type Documentation

Enumerator:
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 


Generated on Wed Oct 15 16:17:24 2008 for Experiment-Software by  doxygen 1.5.6