20 #include <registryFunction.h> 22 #include <menuFtype.h> 23 #include <aSubRecord.h> 57 epicsUInt32 LNMode, BRMode, LNMask, BRMask;
58 epicsUInt32 *BRAllow = prec->vala,
59 *InjMask = prec->valb,
60 *LNRepMask = prec->valc,
61 *BR1HzRepMask = prec->vald,
62 *BR2HzRepMask = prec->vale,
63 *BRStkRepMask = prec->valf;
65 if(prec->fta!=menuFtypeULONG ||
66 prec->ftb!=menuFtypeULONG ||
67 prec->ftc!=menuFtypeULONG ||
68 prec->ftd!=menuFtypeULONG ||
69 prec->ftva!=menuFtypeULONG ||
70 prec->ftvb!=menuFtypeULONG ||
71 prec->ftvc!=menuFtypeULONG ||
72 prec->ftvd!=menuFtypeULONG ||
73 prec->ftve!=menuFtypeULONG ||
74 prec->ftvf!=menuFtypeULONG)
76 errlogPrintf(
"%s: Invalid field types!\n", prec->name);
77 (void)recGblSetSevr(prec, READ_ALARM, INVALID_ALARM);
81 LNMode = *(epicsUInt32*)prec->a;
82 BRMode = *(epicsUInt32*)prec->b;
83 LNMask = *(epicsUInt32*)prec->c;
84 BRMask = *(epicsUInt32*)prec->d;
91 errlogPrintf(
"%s: Invalid LN Mode Mask\n", prec->name);
95 errlogPrintf(
"%s: Invalid BR Mode Mask\n", prec->name);
100 (void)recGblSetSevr(prec, UDF_ALARM, INVALID_ALARM);
104 *InjMask = (LNMode<<4)|BRMode;
117 *BR1HzRepMask = BRMode & 1;
118 *BR2HzRepMask = (BRMode>>2) & 3;
119 *BRStkRepMask = (BRMode>>1) & 1;
124 static registryFunctionRef asub_seq[] = {
125 {
"NSLS2SeqMask", (REGISTRYFUNCTION)
seq_select},
129 void asub_nsls2_evg(
void) {
130 registryFunctionRefAdd(asub_seq, NELEMENTS(asub_seq));
133 #include <epicsExport.h> epicsExportRegistrar(asub_nsls2_evg)
long seq_select(aSubRecord *prec)
NSLS2 sequence selector.