menu(menuYesNo) { choice(menuYesNoNO, "NO") choice(menuYesNoYES, "YES") } menu(serialFCTL) { choice(serialFCTL_unknown, "Unknown") choice(serialFCTL_None, "None") choice(serialFCTL_Hardware, "Hardware") } menu(menuOmsl) { choice(menuOmslsupervisory, "supervisory") choice(menuOmslclosed_loop, "closed_loop") } menu(ipDRTO) { choice(ipDRTO_unknown, "Unknown") choice(ipDRTO_No, "No") choice(ipDRTO_Yes, "Yes") } menu(menuFtype) { choice(menuFtypeSTRING, "STRING") choice(menuFtypeCHAR, "CHAR") choice(menuFtypeUCHAR, "UCHAR") choice(menuFtypeSHORT, "SHORT") choice(menuFtypeUSHORT, "USHORT") choice(menuFtypeLONG, "LONG") choice(menuFtypeULONG, "ULONG") choice(menuFtypeINT64, "INT64") choice(menuFtypeUINT64, "UINT64") choice(menuFtypeFLOAT, "FLOAT") choice(menuFtypeDOUBLE, "DOUBLE") choice(menuFtypeENUM, "ENUM") } menu(selSELM) { choice(selSELM_Specified, "Specified") choice(selSELM_High_Signal, "High Signal") choice(selSELM_Low_Signal, "Low Signal") choice(selSELM_Median_Signal, "Median Signal") } menu(asynENABLE) { choice(asynENABLE_Disable, "Disable") choice(asynENABLE_Enable, "Enable") } menu(compressALG) { choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") choice(compressALG_N_to_1_High_Value, "N to 1 High Value") choice(compressALG_N_to_1_Average, "N to 1 Average") choice(compressALG_Average, "Average") choice(compressALG_Circular_Buffer, "Circular Buffer") choice(compressALG_N_to_1_Median, "N to 1 Median") } menu(motorFOFF) { choice(motorFOFF_Variable, "Variable") choice(motorFOFF_Frozen, "Frozen") } menu(asynTRACE) { choice(asynTRACE_Off, "Off") choice(asynTRACE_On, "On") } menu(bufferingALG) { choice(bufferingALG_FIFO, "FIFO Buffer") choice(bufferingALG_LIFO, "LIFO Buffer") } menu(motorDIR) { choice(motorDIR_Pos, "Pos") choice(motorDIR_Neg, "Neg") } menu(menuPost) { choice(menuPost_OnChange, "On Change") choice(menuPost_Always, "Always") } menu(stringoutPOST) { choice(stringoutPOST_OnChange, "On Change") choice(stringoutPOST_Always, "Always") } menu(menuSimm) { choice(menuSimmNO, "NO") choice(menuSimmYES, "YES") choice(menuSimmRAW, "RAW") } menu(serialPRTY) { choice(serialPRTY_unknown, "Unknown") choice(serialPRTY_None, "None") choice(serialPRTY_Even, "Even") choice(serialPRTY_Odd, "Odd") } menu(menuPriority) { choice(menuPriorityLOW, "LOW") choice(menuPriorityMEDIUM, "MEDIUM") choice(menuPriorityHIGH, "HIGH") } menu(asynINTERFACE) { choice(asynINTERFACE_OCTET, "asynOctet") choice(asynINTERFACE_INT32, "asynInt32") choice(asynINTERFACE_UINT32, "asynUInt32Digital") choice(asynINTERFACE_FLOAT64, "asynFloat64") } menu(aoOIF) { choice(aoOIF_Full, "Full") choice(aoOIF_Incremental, "Incremental") } menu(asynCONNECT) { choice(asynCONNECT_Disconnect, "Disconnect") choice(asynCONNECT_Connect, "Connect") } menu(motorTORQ) { choice(motorTORQ_Disable, "Disable") choice(motorTORQ_Enable, "Enable") } menu(asynAUTOCONNECT) { choice(asynAUTOCONNECT_noAutoConnect, "noAutoConnect") choice(asynAUTOCONNECT_autoConnect, "autoConnect") } menu(stringinPOST) { choice(stringinPOST_OnChange, "On Change") choice(stringinPOST_Always, "Always") } menu(menuAlarmStat) { choice(menuAlarmStatNO_ALARM, "NO_ALARM") choice(menuAlarmStatREAD, "READ") choice(menuAlarmStatWRITE, "WRITE") choice(menuAlarmStatHIHI, "HIHI") choice(menuAlarmStatHIGH, "HIGH") choice(menuAlarmStatLOLO, "LOLO") choice(menuAlarmStatLOW, "LOW") choice(menuAlarmStatSTATE, "STATE") choice(menuAlarmStatCOS, "COS") choice(menuAlarmStatCOMM, "COMM") choice(menuAlarmStatTIMEOUT, "TIMEOUT") choice(menuAlarmStatHWLIMIT, "HWLIMIT") choice(menuAlarmStatCALC, "CALC") choice(menuAlarmStatSCAN, "SCAN") choice(menuAlarmStatLINK, "LINK") choice(menuAlarmStatSOFT, "SOFT") choice(menuAlarmStatBAD_SUB, "BAD_SUB") choice(menuAlarmStatUDF, "UDF") choice(menuAlarmStatDISABLE, "DISABLE") choice(menuAlarmStatSIMM, "SIMM") choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") } menu(motorSTUP) { choice(motorSTUP_OFF, "OFF") choice(motorSTUP_ON, "ON") choice(motorSTUP_BUSY, "BUSY") } menu(fanoutSELM) { choice(fanoutSELM_All, "All") choice(fanoutSELM_Specified, "Specified") choice(fanoutSELM_Mask, "Mask") } menu(waveformPOST) { choice(waveformPOST_Always, "Always") choice(waveformPOST_OnChange, "On Change") } menu(histogramCMD) { choice(histogramCMD_Read, "Read") choice(histogramCMD_Clear, "Clear") choice(histogramCMD_Start, "Start") choice(histogramCMD_Stop, "Stop") } menu(serialMCTL) { choice(serialMCTL_unknown, "Unknown") choice(serialMCTL_CLOCAL, "CLOCAL") choice(serialMCTL_Yes, "YES") } menu(serialBAUD) { choice(serialBAUD_unknown, "Unknown") choice(serialBAUD_300, "300") choice(serialBAUD_600, "600") choice(serialBAUD_1200, "1200") choice(serialBAUD_2400, "2400") choice(serialBAUD_4800, "4800") choice(serialBAUD_9600, "9600") choice(serialBAUD_19200, "19200") choice(serialBAUD_38400, "38400") choice(serialBAUD_57600, "57600") choice(serialBAUD_115200, "115200") choice(serialBAUD_230400, "230400") choice(serialBAUD_460800, "460800") choice(serialBAUD_576000, "576000") choice(serialBAUD_921600, "921600") choice(serialBAUD_1152000, "1152000") } menu(gpibUCMD) { choice(gpibUCMD_None, "None") choice(gpibUCMD_Device_Clear__DCL_, "Device Clear (DCL)") choice(gpibUCMD_Local_Lockout__LL0_, "Local Lockout (LL0)") choice(gpibUCMD_Serial_Poll_Disable__SPD_, "Serial Poll Disable (SPD)") choice(gpibUCMD_Serial_Poll_Enable__SPE_, "Serial Poll Enable (SPE)") choice(gpibUCMD_Unlisten__UNL_, "Unlisten (UNL)") choice(gpibUCMD_Untalk__UNT_, "Untalk (UNT)") } menu(aaoPOST) { choice(aaoPOST_Always, "Always") choice(aaoPOST_OnChange, "On Change") } menu(motorMODE) { choice(motorMODE_Position, "Position") choice(motorMODE_Velocity, "Velocity") } menu(menuIvoa) { choice(menuIvoaContinue_normally, "Continue normally") choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") } menu(menuAlarmSevr) { choice(menuAlarmSevrNO_ALARM, "NO_ALARM") choice(menuAlarmSevrMINOR, "MINOR") choice(menuAlarmSevrMAJOR, "MAJOR") choice(menuAlarmSevrINVALID, "INVALID") } menu(aaiPOST) { choice(aaiPOST_Always, "Always") choice(aaiPOST_OnChange, "On Change") } menu(seqSELM) { choice(seqSELM_All, "All") choice(seqSELM_Specified, "Specified") choice(seqSELM_Mask, "Mask") } menu(motorSPMG) { choice(motorSPMG_Stop, "Stop") choice(motorSPMG_Pause, "Pause") choice(motorSPMG_Move, "Move") choice(motorSPMG_Go, "Go") } menu(dfanoutSELM) { choice(dfanoutSELM_All, "All") choice(dfanoutSELM_Specified, "Specified") choice(dfanoutSELM_Mask, "Mask") } menu(serialSBIT) { choice(serialSBIT_unknown, "Unknown") choice(serialSBIT_1, "1") choice(serialSBIT_2, "2") } menu(calcoutINAV) { choice(calcoutINAV_EXT_NC, "Ext PV NC") choice(calcoutINAV_EXT, "Ext PV OK") choice(calcoutINAV_LOC, "Local PV") choice(calcoutINAV_CON, "Constant") } menu(menuScan) { choice(menuScanPassive, "Passive") choice(menuScanEvent, "Event") choice(menuScanI_O_Intr, "I/O Intr") choice(menuScan10_second, "10 second") choice(menuScan5_second, "5 second") choice(menuScan2_second, "2 second") choice(menuScan1_second, "1 second") choice(menuScan_5_second, ".5 second") choice(menuScan_2_second, ".2 second") choice(menuScan_1_second, ".1 second") } menu(menuPini) { choice(menuPiniNO, "NO") choice(menuPiniYES, "YES") choice(menuPiniRUN, "RUN") choice(menuPiniRUNNING, "RUNNING") choice(menuPiniPAUSE, "PAUSE") choice(menuPiniPAUSED, "PAUSED") } menu(aSubLFLG) { choice(aSubLFLG_IGNORE, "IGNORE") choice(aSubLFLG_READ, "READ") } menu(motorRMOD) { choice(motorRMOD_D, "Default") choice(motorRMOD_A, "Arithmetic") choice(motorRMOD_G, "Geometric") choice(motorRMOD_I, "In-Position") } menu(asynFMT) { choice(asynFMT_ASCII, "ASCII") choice(asynFMT_Hybrid, "Hybrid") choice(asynFMT_Binary, "Binary") } menu(menuConvert) { choice(menuConvertNO_CONVERSION, "NO CONVERSION") choice(menuConvertSLOPE, "SLOPE") choice(menuConvertLINEAR, "LINEAR") choice(menuConverttypeKdegF, "typeKdegF") choice(menuConverttypeKdegC, "typeKdegC") choice(menuConverttypeJdegF, "typeJdegF") choice(menuConverttypeJdegC, "typeJdegC") choice(menuConverttypeEdegF, "typeEdegF(ixe only)") choice(menuConverttypeEdegC, "typeEdegC(ixe only)") choice(menuConverttypeTdegF, "typeTdegF") choice(menuConverttypeTdegC, "typeTdegC") choice(menuConverttypeRdegF, "typeRdegF") choice(menuConverttypeRdegC, "typeRdegC") choice(menuConverttypeSdegF, "typeSdegF") choice(menuConverttypeSdegC, "typeSdegC") } menu(aSubEFLG) { choice(aSubEFLG_NEVER, "NEVER") choice(aSubEFLG_ON_CHANGE, "ON CHANGE") choice(aSubEFLG_ALWAYS, "ALWAYS") } menu(serialDBIT) { choice(serialDBIT_unknown, "Unknown") choice(serialDBIT_5, "5") choice(serialDBIT_6, "6") choice(serialDBIT_7, "7") choice(serialDBIT_8, "8") } menu(asynTMOD) { choice(asynTMOD_Write_Read, "Write/Read") choice(asynTMOD_Write, "Write") choice(asynTMOD_Read, "Read") choice(asynTMOD_Flush, "Flush") choice(asynTMOD_NoIO, "NoI/O") } menu(gpibACMD) { choice(gpibACMD_None, "None") choice(gpibACMD_Group_Execute_Trig___GET_, "Group Execute Trig. (GET)") choice(gpibACMD_Go_To_Local__GTL_, "Go To Local (GTL)") choice(gpibACMD_Selected_Dev__Clear__SDC_, "Selected Dev. Clear (SDC)") choice(gpibACMD_Take_Control__TCT_, "Take Control (TCT)") choice(gpibACMD_Serial_Poll, "Serial Poll") } menu(calcoutDOPT) { choice(calcoutDOPT_Use_VAL, "Use CALC") choice(calcoutDOPT_Use_OVAL, "Use OCAL") } menu(serialIX) { choice(serialIX_unknown, "Unknown") choice(serialIX_No, "No") choice(serialIX_Yes, "Yes") } menu(asynEOMREASON) { choice(asynEOMREASONNone, "None") choice(asynEOMREASONCNT, "Count") choice(asynEOMREASONEOS, "Eos") choice(asynEOMREASONCNTEOS, "Count Eos") choice(asynEOMREASONEND, "End") choice(asynEOMREASONCNTEND, "Count End") choice(asynEOMREASONEOSEND, "Eos End") choice(asynEOMREASONCNTEOSEND, "Count Eos End") } menu(motorSET) { choice(motorSET_Use, "Use") choice(motorSET_Set, "Set") } menu(motorUEIP) { choice(motorUEIP_No, "No") choice(motorUEIP_Yes, "Yes") } menu(calcoutOOPT) { choice(calcoutOOPT_Every_Time, "Every Time") choice(calcoutOOPT_On_Change, "On Change") choice(calcoutOOPT_When_Zero, "When Zero") choice(calcoutOOPT_When_Non_zero, "When Non-zero") choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") } recordtype(ao) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { size(29) special(SPC_AS) promptgroup("10 - Common") prompt("Access Security Group") } field(SCAN, DBF_MENU) { promptgroup("20 - Scan") prompt("Scan Mechanism") interest(1) special(SPC_SCAN) menu(menuScan) } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { size(40) special(SPC_SCAN) interest(1) prompt("Event Name") promptgroup("20 - Scan") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Link") } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Backwards link tracking") extra("ELLLIST bklnk") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) prompt("Force Processing") pp(TRUE) } field(STAT, DBF_MENU) { initial("UDF") prompt("Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { prompt("New Alarm Status") interest(2) special(SPC_NOMOD) menu(menuAlarmStat) } field(NSEV, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKT, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuYesNo) promptgroup("70 - Alarm") initial("YES") prompt("Alarm Ack Transient") } field(DISS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Record active") } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") interest(1) special(SPC_NOMOD) } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") interest(4) special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { prompt("Scan Private") extra("struct scan_element *spvt") interest(4) special(SPC_NOMOD) } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of RSET") extra("struct typed_rset *rset") } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct dset *dset") prompt("DSET address") } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") special(SPC_NOMOD) interest(4) } field(LSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { interest(1) menu(menuPriority) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scheduling Priority") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) prompt("Break Point") extra("char bkpt") } field(UDF, DBF_UCHAR) { interest(1) initial("1") pp(TRUE) prompt("Undefined") promptgroup("10 - Common") } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { extra("epicsTimeStamp time") prompt("Time") interest(2) special(SPC_NOMOD) } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_DOUBLE) { promptgroup("50 - Output") pp(TRUE) prompt("Desired Output") asl(ASL0) } field(OVAL, DBF_DOUBLE) { prompt("Output Value") } field(OUT, DBF_OUTLINK) { prompt("Output Specification") promptgroup("50 - Output") interest(1) } field(OROC, DBF_DOUBLE) { interest(1) prompt("Output Rate of Change") promptgroup("50 - Output") } field(DOL, DBF_INLINK) { prompt("Desired Output Loc") promptgroup("40 - Input") interest(1) } field(OMSL, DBF_MENU) { promptgroup("50 - Output") prompt("Output Mode Select") interest(1) menu(menuOmsl) } field(OIF, DBF_MENU) { menu(aoOIF) interest(1) prompt("Out Full/Incremental") promptgroup("50 - Output") } field(PREC, DBF_SHORT) { prompt("Display Precision") promptgroup("80 - Display") prop(YES) interest(1) } field(LINR, DBF_MENU) { pp(TRUE) prompt("Linearization") interest(1) promptgroup("60 - Convert") menu(menuConvert) special(SPC_LINCONV) } field(EGUF, DBF_DOUBLE) { special(SPC_LINCONV) interest(1) prompt("Eng Units Full") pp(TRUE) promptgroup("60 - Convert") } field(EGUL, DBF_DOUBLE) { special(SPC_LINCONV) interest(1) pp(TRUE) prompt("Eng Units Low") promptgroup("60 - Convert") } field(EGU, DBF_STRING) { interest(1) size(16) prop(YES) promptgroup("80 - Display") prompt("Engineering Units") } field(ROFF, DBF_ULONG) { interest(2) pp(TRUE) prompt("Raw Offset") } field(EOFF, DBF_DOUBLE) { interest(2) promptgroup("60 - Convert") prompt("EGU to Raw Offset") pp(TRUE) } field(ESLO, DBF_DOUBLE) { initial("1") pp(TRUE) prompt("EGU to Raw Slope") promptgroup("60 - Convert") interest(2) } field(DRVH, DBF_DOUBLE) { interest(1) prompt("Drive High Limit") pp(TRUE) prop(YES) promptgroup("30 - Action") } field(DRVL, DBF_DOUBLE) { interest(1) promptgroup("30 - Action") prop(YES) pp(TRUE) prompt("Drive Low Limit") } field(HOPR, DBF_DOUBLE) { promptgroup("80 - Display") prop(YES) prompt("High Operating Range") interest(1) } field(LOPR, DBF_DOUBLE) { prop(YES) promptgroup("80 - Display") prompt("Low Operating Range") interest(1) } field(AOFF, DBF_DOUBLE) { promptgroup("60 - Convert") pp(TRUE) prompt("Adjustment Offset") interest(1) } field(ASLO, DBF_DOUBLE) { interest(1) promptgroup("60 - Convert") pp(TRUE) prompt("Adjustment Slope") } field(HIHI, DBF_DOUBLE) { interest(1) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Hihi Alarm Limit") } field(LOLO, DBF_DOUBLE) { prompt("Lolo Alarm Limit") pp(TRUE) prop(YES) promptgroup("70 - Alarm") interest(1) } field(HIGH, DBF_DOUBLE) { interest(1) pp(TRUE) prompt("High Alarm Limit") promptgroup("70 - Alarm") prop(YES) } field(LOW, DBF_DOUBLE) { interest(1) prop(YES) promptgroup("70 - Alarm") prompt("Low Alarm Limit") pp(TRUE) } field(HHSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) prop(YES) promptgroup("70 - Alarm") prompt("Hihi Severity") pp(TRUE) } field(LLSV, DBF_MENU) { prop(YES) promptgroup("70 - Alarm") prompt("Lolo Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HSV, DBF_MENU) { pp(TRUE) prompt("High Severity") promptgroup("70 - Alarm") prop(YES) menu(menuAlarmSevr) interest(1) } field(LSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("Low Severity") promptgroup("70 - Alarm") prop(YES) } field(HYST, DBF_DOUBLE) { interest(1) prompt("Alarm Deadband") promptgroup("70 - Alarm") } field(ADEL, DBF_DOUBLE) { interest(1) promptgroup("80 - Display") prompt("Archive Deadband") } field(MDEL, DBF_DOUBLE) { prompt("Monitor Deadband") promptgroup("80 - Display") interest(1) } field(RVAL, DBF_LONG) { prompt("Current Raw Value") pp(TRUE) } field(ORAW, DBF_LONG) { prompt("Previous Raw Value") special(SPC_NOMOD) interest(3) } field(RBV, DBF_LONG) { special(SPC_NOMOD) prompt("Readback Value") } field(ORBV, DBF_LONG) { special(SPC_NOMOD) interest(3) prompt("Prev Readback Value") } field(PVAL, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Previous value") } field(LALM, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Last Value Alarmed") } field(ALST, DBF_DOUBLE) { prompt("Last Value Archived") interest(3) special(SPC_NOMOD) } field(MLST, DBF_DOUBLE) { prompt("Last Val Monitored") special(SPC_NOMOD) interest(3) } field(PBRK, DBF_NOACCESS) { prompt("Ptrto brkTable") extra("void * pbrk") special(SPC_NOMOD) interest(4) } field(INIT, DBF_SHORT) { prompt("Initialized?") interest(3) special(SPC_NOMOD) } field(LBRK, DBF_SHORT) { interest(3) special(SPC_NOMOD) prompt("LastBreak Point") } field(SIOL, DBF_OUTLINK) { promptgroup("90 - Simulate") prompt("Simulation Output Link") interest(1) } field(SIML, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Mode Link") interest(1) } field(SIMM, DBF_MENU) { prompt("Simulation Mode") special(SPC_MOD) menu(menuYesNo) interest(1) } field(SIMS, DBF_MENU) { interest(2) menu(menuAlarmSevr) promptgroup("90 - Simulate") prompt("Simulation Mode Severity") } field(OLDSIMM, DBF_MENU) { prompt("Prev. Simulation Mode") menu(menuSimm) special(SPC_NOMOD) interest(4) } field(SSCN, DBF_MENU) { promptgroup("90 - Simulate") prompt("Sim. Mode Scan") initial("65535") interest(1) menu(menuScan) } field(SDLY, DBF_DOUBLE) { initial("-1.0") prompt("Sim. Mode Async Delay") promptgroup("90 - Simulate") interest(2) } field(SIMPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsCallback *simpvt") prompt("Sim. Mode Private") } field(IVOA, DBF_MENU) { interest(2) menu(menuIvoa) promptgroup("50 - Output") prompt("INVALID output action") } field(IVOV, DBF_DOUBLE) { interest(2) promptgroup("50 - Output") prompt("INVALID output value") } field(OMOD, DBF_UCHAR) { special(SPC_NOMOD) prompt("Was OVAL modified?") } } device(ao, CONSTANT, devAoSoft, "Soft Channel") device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") device(ao, INST_IO, asynAoInt32, "asynInt32") device(ao, INST_IO, asynAoFloat64, "asynFloat64") recordtype(motor) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") special(SPC_AS) size(29) } field(SCAN, DBF_MENU) { interest(1) menu(menuScan) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { interest(1) menu(menuPini) promptgroup("20 - Scan") prompt("Process at iocInit") } field(PHAS, DBF_SHORT) { special(SPC_SCAN) interest(1) prompt("Scan Phase") promptgroup("20 - Scan") } field(EVNT, DBF_STRING) { size(40) special(SPC_SCAN) interest(1) prompt("Event Name") promptgroup("20 - Scan") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { interest(1) prompt("Time Stamp Link") promptgroup("20 - Scan") } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") special(SPC_NOMOD) interest(4) } field(MLIS, DBF_NOACCESS) { extra("ELLLIST mlis") prompt("Monitor List") interest(4) special(SPC_NOMOD) } field(BKLNK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST bklnk") prompt("Backwards link tracking") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) pp(TRUE) prompt("Force Processing") } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) prompt("Alarm Status") initial("UDF") } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) interest(2) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKT, DBF_MENU) { promptgroup("70 - Alarm") initial("YES") prompt("Alarm Ack Transient") interest(2) menu(menuYesNo) special(SPC_NOMOD) } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { prompt("Lock Count") interest(2) special(SPC_NOMOD) } field(PACT, DBF_UCHAR) { prompt("Record active") special(SPC_NOMOD) interest(1) } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { extra("struct asgMember *asp") prompt("Access Security Pvt") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") } field(SPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { prompt("Address of RSET") extra("struct typed_rset *rset") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") } field(LSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { special(SPC_SCAN) menu(menuPriority) interest(1) prompt("Scheduling Priority") promptgroup("20 - Scan") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { initial("1") pp(TRUE) prompt("Undefined") promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Undefined Alarm Sevrty") initial("INVALID") interest(1) menu(menuAlarmSevr) } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") special(SPC_NOMOD) interest(2) } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VERS, DBF_FLOAT) { initial("1") prompt("Code Version") special(SPC_NOMOD) } field(OFF, DBF_DOUBLE) { asl(ASL0) special(SPC_MOD) prompt("User Offset (EGU)") pp(TRUE) } field(FOFF, DBF_MENU) { prompt("Offset-Freeze Switch") interest(1) promptgroup("10 - Common") special(SPC_MOD) asl(ASL0) menu(motorFOFF) } field(FOF, DBF_SHORT) { prompt("Freeze Offset") interest(1) special(SPC_MOD) asl(ASL0) } field(VOF, DBF_SHORT) { asl(ASL0) special(SPC_MOD) interest(1) prompt("Variable Offset") } field(DIR, DBF_MENU) { promptgroup("10 - Common") special(SPC_MOD) menu(motorDIR) prompt("User Direction") pp(TRUE) interest(1) } field(SET, DBF_MENU) { prompt("Set/Use Switch") menu(motorSET) asl(ASL0) interest(1) } field(SSET, DBF_SHORT) { prompt("Set SET Mode") asl(ASL0) special(SPC_MOD) interest(1) } field(SUSE, DBF_SHORT) { special(SPC_MOD) asl(ASL0) interest(1) prompt("Set USE Mode") } field(VELO, DBF_DOUBLE) { promptgroup("10 - Common") prompt("Velocity (EGU/s)") interest(1) special(SPC_MOD) } field(VBAS, DBF_DOUBLE) { prompt("Base Velocity (EGU/s)") promptgroup("10 - Common") special(SPC_MOD) interest(1) } field(VMAX, DBF_DOUBLE) { interest(1) special(SPC_MOD) promptgroup("10 - Common") prompt("Max. Velocity (EGU/s)") } field(S, DBF_DOUBLE) { special(SPC_MOD) interest(1) prompt("Speed (revolutions/sec)") promptgroup("10 - Common") } field(SBAS, DBF_DOUBLE) { promptgroup("10 - Common") prompt("Base Speed (RPS)") interest(1) special(SPC_MOD) } field(SMAX, DBF_DOUBLE) { interest(1) special(SPC_MOD) promptgroup("10 - Common") prompt("Max. Speed (RPS)") } field(ACCL, DBF_DOUBLE) { interest(1) special(SPC_MOD) promptgroup("10 - Common") prompt("Seconds to Velocity") initial("0.2") } field(BDST, DBF_DOUBLE) { promptgroup("10 - Common") prompt("BL Distance (EGU)") interest(1) special(SPC_MOD) asl(ASL0) } field(BVEL, DBF_DOUBLE) { prompt("BL Velocity (EGU/s)") promptgroup("10 - Common") special(SPC_MOD) interest(1) } field(SBAK, DBF_DOUBLE) { interest(1) special(SPC_MOD) promptgroup("10 - Common") prompt("BL Speed (RPS)") } field(BACC, DBF_DOUBLE) { prompt("BL Seconds to Velocity") initial("0.5") promptgroup("10 - Common") special(SPC_MOD) interest(1) } field(FRAC, DBF_FLOAT) { interest(1) special(SPC_MOD) promptgroup("10 - Common") initial("1") prompt("Move Fraction") } field(OUT, DBF_OUTLINK) { promptgroup("10 - Common") prompt("Output Specification") interest(1) special(SPC_MOD) } field(CARD, DBF_SHORT) { prompt("Card Number") special(SPC_NOMOD) interest(3) } field(RDBL, DBF_INLINK) { special(SPC_MOD) interest(1) prompt("Readback Location") promptgroup("10 - Common") } field(DOL, DBF_INLINK) { special(SPC_MOD) interest(1) prompt("Desired Output Loc") promptgroup("10 - Common") } field(OMSL, DBF_MENU) { promptgroup("10 - Common") prompt("Output Mode Select") interest(1) menu(menuOmsl) } field(RLNK, DBF_OUTLINK) { special(SPC_MOD) interest(1) prompt("Readback OutLink") promptgroup("10 - Common") } field(SREV, DBF_LONG) { interest(1) initial("200") pp(TRUE) prompt("Steps per Revolution") special(SPC_MOD) promptgroup("10 - Common") } field(UREV, DBF_DOUBLE) { promptgroup("10 - Common") prompt("EGU's per Revolution") pp(TRUE) interest(1) special(SPC_MOD) } field(MRES, DBF_DOUBLE) { prompt("Motor Step Size (EGU)") pp(TRUE) promptgroup("10 - Common") special(SPC_MOD) interest(1) } field(ERES, DBF_DOUBLE) { special(SPC_MOD) interest(1) pp(TRUE) prompt("Encoder Step Size (EGU)") promptgroup("10 - Common") } field(RRES, DBF_DOUBLE) { promptgroup("10 - Common") prompt("Readback Step Size (EGU") interest(1) } field(UEIP, DBF_MENU) { pp(TRUE) prompt("Use Encoder If Present") interest(1) promptgroup("10 - Common") menu(motorUEIP) special(SPC_MOD) } field(URIP, DBF_MENU) { pp(TRUE) prompt("Use RDBL Link If Presen") interest(1) promptgroup("10 - Common") menu(motorUEIP) special(SPC_MOD) } field(PREC, DBF_SHORT) { interest(1) promptgroup("10 - Common") prompt("Display Precision") } field(EGU, DBF_STRING) { promptgroup("10 - Common") prompt("Engineering Units") interest(1) size(16) } field(HLM, DBF_DOUBLE) { special(SPC_MOD) prompt("User High Limit") pp(TRUE) } field(LLM, DBF_DOUBLE) { prompt("User Low Limit") pp(TRUE) special(SPC_MOD) } field(DHLM, DBF_DOUBLE) { special(SPC_MOD) promptgroup("10 - Common") pp(TRUE) prompt("Dial High Limit") } field(DLLM, DBF_DOUBLE) { special(SPC_MOD) promptgroup("10 - Common") pp(TRUE) prompt("Dial Low Limit") } field(HOPR, DBF_DOUBLE) { interest(1) promptgroup("10 - Common") prompt("High Operating Range") } field(LOPR, DBF_DOUBLE) { interest(1) promptgroup("10 - Common") prompt("Low Operating Range") } field(HLS, DBF_SHORT) { special(SPC_NOMOD) prompt("User High Limit Switch") } field(LLS, DBF_SHORT) { prompt("User Low Limit Switch") special(SPC_NOMOD) } field(RHLS, DBF_SHORT) { special(SPC_NOMOD) prompt("Raw High Limit Switch") } field(RLLS, DBF_SHORT) { special(SPC_NOMOD) prompt("Raw Low Limit Switch") } field(HIHI, DBF_DOUBLE) { interest(2) pp(TRUE) prompt("Hihi Alarm Limit (EGU)") promptgroup("10 - Common") } field(LOLO, DBF_DOUBLE) { prompt("Lolo Alarm Limit (EGU)") pp(TRUE) promptgroup("10 - Common") interest(2) } field(HIGH, DBF_DOUBLE) { interest(2) pp(TRUE) prompt("High Alarm Limit (EGU)") promptgroup("10 - Common") } field(LOW, DBF_DOUBLE) { prompt("Low Alarm Limit (EGU)") pp(TRUE) promptgroup("10 - Common") interest(2) } field(HHSV, DBF_MENU) { promptgroup("10 - Common") prompt("Hihi Severity") pp(TRUE) interest(2) menu(menuAlarmSevr) } field(LLSV, DBF_MENU) { promptgroup("10 - Common") prompt("Lolo Severity") pp(TRUE) interest(2) menu(menuAlarmSevr) } field(HSV, DBF_MENU) { interest(2) menu(menuAlarmSevr) promptgroup("10 - Common") prompt("High Severity") pp(TRUE) } field(LSV, DBF_MENU) { menu(menuAlarmSevr) interest(2) prompt("Low Severity") pp(TRUE) promptgroup("10 - Common") } field(HLSV, DBF_MENU) { prompt("HW Limit Violation Svr") pp(TRUE) promptgroup("10 - Common") menu(menuAlarmSevr) interest(2) } field(RDBD, DBF_DOUBLE) { promptgroup("10 - Common") prompt("Retry Deadband (EGU)") interest(1) special(SPC_MOD) } field(SPDB, DBF_DOUBLE) { interest(1) special(SPC_MOD) promptgroup("10 - Common") prompt("Setpoint Deadband (EGU)") } field(RCNT, DBF_SHORT) { special(SPC_NOMOD) interest(2) prompt("Retry count") } field(RTRY, DBF_SHORT) { interest(1) prompt("Max retry count") initial("10") promptgroup("10 - Common") } field(MISS, DBF_SHORT) { prompt("Ran out of retries") special(SPC_NOMOD) interest(2) } field(SPMG, DBF_MENU) { menu(motorSPMG) asl(ASL0) prompt("Stop/Pause/Move/Go") pp(TRUE) initial("3") interest(1) } field(LSPG, DBF_MENU) { special(SPC_NOMOD) menu(motorSPMG) interest(1) initial("3") prompt("Last SPMG") } field(STOP, DBF_SHORT) { prompt("Stop") pp(TRUE) interest(1) asl(ASL0) } field(HOMF, DBF_SHORT) { prompt("Home Forward") pp(TRUE) interest(1) special(SPC_MOD) } field(HOMR, DBF_SHORT) { prompt("Home Reverse") pp(TRUE) special(SPC_MOD) interest(1) } field(JOGF, DBF_SHORT) { prompt("Jog motor Forward") pp(TRUE) special(SPC_MOD) asl(ASL0) interest(1) } field(JOGR, DBF_SHORT) { special(SPC_MOD) asl(ASL0) interest(1) pp(TRUE) prompt("Jog motor Reverse") } field(TWF, DBF_SHORT) { special(SPC_MOD) asl(ASL0) interest(1) pp(TRUE) prompt("Tweak motor Forward") } field(TWR, DBF_SHORT) { asl(ASL0) special(SPC_MOD) interest(1) pp(TRUE) prompt("Tweak motor Reverse") } field(TWV, DBF_DOUBLE) { prompt("Tweak Step Size (EGU)") promptgroup("10 - Common") asl(ASL0) interest(1) } field(VAL, DBF_DOUBLE) { special(SPC_MOD) asl(ASL0) pp(TRUE) prompt("User Desired Value (EGU") } field(LVAL, DBF_DOUBLE) { prompt("Last User Des Val (EGU)") interest(1) special(SPC_NOMOD) } field(DVAL, DBF_DOUBLE) { special(SPC_MOD) asl(ASL0) pp(TRUE) prompt("Dial Desired Value (EGU") } field(LDVL, DBF_DOUBLE) { special(SPC_NOMOD) interest(1) prompt("Last Dial Des Val (EGU)") } field(RVAL, DBF_LONG) { prompt("Raw Desired Value (step") pp(TRUE) asl(ASL0) special(SPC_MOD) } field(LRVL, DBF_LONG) { special(SPC_NOMOD) interest(1) prompt("Last Raw Des Val (steps") } field(RLV, DBF_DOUBLE) { pp(TRUE) prompt("Relative Value (EGU)") special(SPC_MOD) asl(ASL0) } field(LRLV, DBF_DOUBLE) { special(SPC_NOMOD) interest(1) prompt("Last Rel Value (EGU)") } field(RBV, DBF_DOUBLE) { prompt("User Readback Value") special(SPC_NOMOD) } field(DRBV, DBF_DOUBLE) { special(SPC_NOMOD) prompt("Dial Readback Value") } field(DIFF, DBF_DOUBLE) { special(SPC_NOMOD) prompt("Difference dval-drbv") } field(RDIF, DBF_LONG) { special(SPC_NOMOD) prompt("Difference rval-rrbv") } field(CDIR, DBF_SHORT) { prompt("Raw cmnd direction") special(SPC_NOMOD) } field(RRBV, DBF_LONG) { special(SPC_NOMOD) prompt("Raw Readback Value") } field(RMP, DBF_LONG) { prompt("Raw Motor Position") special(SPC_NOMOD) } field(REP, DBF_LONG) { prompt("Raw Encoder Position") special(SPC_NOMOD) } field(RVEL, DBF_LONG) { promptgroup("10 - Common") prompt("Raw Velocity") interest(1) special(SPC_NOMOD) } field(DMOV, DBF_SHORT) { promptgroup("10 - Common") prompt("Done moving to value") initial("1") special(SPC_NOMOD) } field(MOVN, DBF_SHORT) { special(SPC_NOMOD) prompt("Motor is moving") } field(MSTA, DBF_ULONG) { special(SPC_NOMOD) interest(3) prompt("Motor Status") } field(LVIO, DBF_SHORT) { initial("1") prompt("Limit violation") special(SPC_NOMOD) } field(TDIR, DBF_SHORT) { special(SPC_NOMOD) prompt("Direction of Travel") } field(ATHM, DBF_SHORT) { prompt("At HOME") special(SPC_NOMOD) } field(PP, DBF_SHORT) { interest(2) special(SPC_NOMOD) prompt("Post process command") initial("0") } field(MIP, DBF_USHORT) { interest(3) special(SPC_NOMOD) prompt("Motion In Progress") } field(MMAP, DBF_ULONG) { prompt("Monitor Mask") interest(3) special(SPC_NOMOD) } field(NMAP, DBF_ULONG) { interest(3) special(SPC_NOMOD) prompt("Monitor Mask (more)") } field(DLY, DBF_DOUBLE) { interest(1) special(SPC_MOD) promptgroup("10 - Common") prompt("Readback settle time (s)") } field(CBAK, DBF_NOACCESS) { prompt("Callback structure") extra("void *cbak") size(4) special(SPC_NOMOD) interest(4) } field(PCOF, DBF_DOUBLE) { promptgroup("10 - Common") prompt("Proportional Gain") initial("0") interest(1) special(SPC_MOD) } field(ICOF, DBF_DOUBLE) { initial("0") prompt("Integral Gain") promptgroup("10 - Common") special(SPC_MOD) interest(1) } field(DCOF, DBF_DOUBLE) { special(SPC_MOD) interest(1) initial("0") prompt("Derivative Gain") promptgroup("10 - Common") } field(CNEN, DBF_MENU) { special(SPC_MOD) menu(motorTORQ) asl(ASL0) promptgroup("10 - Common") prompt("Enable control") pp(TRUE) } field(INIT, DBF_STRING) { promptgroup("10 - Common") prompt("Startup commands") interest(1) size(40) } field(PREM, DBF_STRING) { interest(1) size(40) promptgroup("10 - Common") prompt("Pre-move commands") } field(POST, DBF_STRING) { prompt("Post-move commands") promptgroup("10 - Common") size(40) interest(1) } field(STOO, DBF_OUTLINK) { special(SPC_MOD) interest(1) prompt("STOP OutLink") promptgroup("10 - Common") } field(DINP, DBF_INLINK) { special(SPC_MOD) interest(1) prompt("DMOV Input Link") promptgroup("10 - Common") } field(RINP, DBF_INLINK) { prompt("RMP Input Link") promptgroup("10 - Common") special(SPC_MOD) interest(1) } field(JVEL, DBF_DOUBLE) { prompt("Jog Velocity (EGU/s)") promptgroup("10 - Common") special(SPC_MOD) interest(1) } field(JAR, DBF_DOUBLE) { prompt("Jog Accel. (EGU/s^2)") promptgroup("10 - Common") special(SPC_MOD) interest(1) } field(LOCK, DBF_MENU) { interest(1) menu(menuYesNo) promptgroup("10 - Common") prompt("Soft Channel Position Lock") initial("NO") } field(NTM, DBF_MENU) { interest(1) menu(menuYesNo) promptgroup("10 - Common") prompt("New Target Monitor") initial("YES") } field(NTMF, DBF_USHORT) { promptgroup("10 - Common") prompt("NTM Deadband Factor") initial("2") interest(1) special(SPC_MOD) } field(HVEL, DBF_DOUBLE) { promptgroup("10 - Common") prompt("Home Velocity (EGU/s)") interest(1) special(SPC_MOD) } field(STUP, DBF_MENU) { promptgroup("10 - Common") menu(motorSTUP) asl(ASL0) special(SPC_MOD) prompt("Status Update") initial("OFF") pp(TRUE) interest(3) } field(RMOD, DBF_MENU) { interest(1) menu(motorRMOD) promptgroup("10 - Common") prompt("Retry Mode") initial("Default") } field(ADEL, DBF_DOUBLE) { interest(1) prompt("Archive Deadband") promptgroup("10 - Common") } field(MDEL, DBF_DOUBLE) { promptgroup("10 - Common") prompt("Monitor Deadband") interest(1) } field(ALST, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Last Value Archived") } field(MLST, DBF_DOUBLE) { prompt("Last Val Monitored") special(SPC_NOMOD) interest(3) } field(SYNC, DBF_SHORT) { pp(TRUE) prompt("Sync position") interest(1) } field(IGSET, DBF_SHORT) { interest(2) prompt("Ignore SET field") } } device(motor, INST_IO, devMotorAsyn, "asynMotor") recordtype(aSub) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %struct aSubRecord; field(NAME, DBF_STRING) { prompt("Record Name") special(SPC_NOMOD) size(61) } field(DESC, DBF_STRING) { size(41) prompt("Descriptor") promptgroup("10 - Common") } field(ASG, DBF_STRING) { special(SPC_AS) size(29) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { special(SPC_SCAN) menu(menuScan) interest(1) prompt("Scan Mechanism") promptgroup("20 - Scan") } field(PINI, DBF_MENU) { interest(1) menu(menuPini) promptgroup("20 - Scan") prompt("Process at iocInit") } field(PHAS, DBF_SHORT) { special(SPC_SCAN) interest(1) prompt("Scan Phase") promptgroup("20 - Scan") } field(EVNT, DBF_STRING) { interest(1) special(SPC_SCAN) size(40) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { prompt("Time Stamp Event") promptgroup("20 - Scan") interest(1) } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") interest(4) special(SPC_NOMOD) } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { pp(TRUE) prompt("Force Processing") interest(3) } field(STAT, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { interest(2) menu(menuAlarmStat) special(SPC_NOMOD) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) } field(ACKS, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") special(SPC_NOMOD) menu(menuYesNo) interest(2) } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Record active") } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") interest(1) special(SPC_NOMOD) } field(RPRO, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { prompt("Access Security Pvt") extra("struct asgMember *asp") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct scan_element *spvt") prompt("Scan Private") } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") special(SPC_NOMOD) interest(4) } field(LSET, DBF_NOACCESS) { extra("struct lockRecord *lset") prompt("Lock Set") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { menu(menuPriority) special(SPC_SCAN) interest(1) prompt("Scheduling Priority") promptgroup("20 - Scan") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { interest(1) prompt("Undefined") initial("1") pp(TRUE) promptgroup("10 - Common") } field(UDFS, DBF_MENU) { promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(TIME, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_LONG) { prompt("Subr. return value") asl(ASL0) } field(OVAL, DBF_LONG) { special(SPC_NOMOD) interest(3) prompt("Old return value") } field(INAM, DBF_STRING) { promptgroup("30 - Action") prompt("Initialize Subr. Name") interest(1) special(SPC_NOMOD) size(41) } field(LFLG, DBF_MENU) { promptgroup("30 - Action") prompt("Subr. Input Enable") interest(1) menu(aSubLFLG) } field(SUBL, DBF_INLINK) { prompt("Subroutine Name Link") promptgroup("30 - Action") special(SPC_NOMOD) interest(1) } field(SNAM, DBF_STRING) { interest(1) special(SPC_MOD) size(41) promptgroup("30 - Action") prompt("Process Subr. Name") } field(ONAM, DBF_STRING) { interest(3) size(41) special(SPC_NOMOD) promptgroup("30 - Action") prompt("Old Subr. Name") } field(SADR, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) extra("long (*sadr)(struct aSubRecord *)") prompt("Subroutine Address") } field(CADR, DBF_NOACCESS) { extra("void (*cadr)(struct aSubRecord *)") prompt("Subroutine Cleanup Address") special(SPC_NOMOD) interest(2) } field(BRSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Bad Return Severity") pp(TRUE) } field(PREC, DBF_SHORT) { interest(1) prop(YES) promptgroup("80 - Display") prompt("Display Precision") } field(EFLG, DBF_MENU) { interest(1) menu(aSubEFLG) promptgroup("50 - Output") initial("1") prompt("Output Event Flag") } field(INPA, DBF_INLINK) { interest(1) prompt("Input Link A") promptgroup("41 - Input A-G") } field(INPB, DBF_INLINK) { interest(1) promptgroup("41 - Input A-G") prompt("Input Link B") } field(INPC, DBF_INLINK) { prompt("Input Link C") promptgroup("41 - Input A-G") interest(1) } field(INPD, DBF_INLINK) { interest(1) promptgroup("41 - Input A-G") prompt("Input Link D") } field(INPE, DBF_INLINK) { interest(1) promptgroup("41 - Input A-G") prompt("Input Link E") } field(INPF, DBF_INLINK) { prompt("Input Link F") promptgroup("41 - Input A-G") interest(1) } field(INPG, DBF_INLINK) { interest(1) promptgroup("41 - Input A-G") prompt("Input Link G") } field(INPH, DBF_INLINK) { interest(1) promptgroup("42 - Input H-N") prompt("Input Link H") } field(INPI, DBF_INLINK) { interest(1) promptgroup("42 - Input H-N") prompt("Input Link I") } field(INPJ, DBF_INLINK) { interest(1) prompt("Input Link J") promptgroup("42 - Input H-N") } field(INPK, DBF_INLINK) { promptgroup("42 - Input H-N") prompt("Input Link K") interest(1) } field(INPL, DBF_INLINK) { prompt("Input Link L") promptgroup("42 - Input H-N") interest(1) } field(INPM, DBF_INLINK) { promptgroup("42 - Input H-N") prompt("Input Link M") interest(1) } field(INPN, DBF_INLINK) { interest(1) promptgroup("42 - Input H-N") prompt("Input Link N") } field(INPO, DBF_INLINK) { interest(1) promptgroup("43 - Input O-U") prompt("Input Link O") } field(INPP, DBF_INLINK) { prompt("Input Link P") promptgroup("43 - Input O-U") interest(1) } field(INPQ, DBF_INLINK) { promptgroup("43 - Input O-U") prompt("Input Link Q") interest(1) } field(INPR, DBF_INLINK) { interest(1) promptgroup("43 - Input O-U") prompt("Input Link R") } field(INPS, DBF_INLINK) { promptgroup("43 - Input O-U") prompt("Input Link S") interest(1) } field(INPT, DBF_INLINK) { prompt("Input Link T") promptgroup("43 - Input O-U") interest(1) } field(INPU, DBF_INLINK) { promptgroup("43 - Input O-U") prompt("Input Link U") interest(1) } field(A, DBF_NOACCESS) { prompt("Input value A") extra("void *a") asl(ASL0) special(SPC_DBADDR) interest(2) } field(B, DBF_NOACCESS) { interest(2) asl(ASL0) special(SPC_DBADDR) extra("void *b") prompt("Input value B") } field(C, DBF_NOACCESS) { extra("void *c") prompt("Input value C") special(SPC_DBADDR) asl(ASL0) interest(2) } field(D, DBF_NOACCESS) { interest(2) special(SPC_DBADDR) asl(ASL0) extra("void *d") prompt("Input value D") } field(E, DBF_NOACCESS) { interest(2) asl(ASL0) special(SPC_DBADDR) extra("void *e") prompt("Input value E") } field(F, DBF_NOACCESS) { extra("void *f") prompt("Input value F") asl(ASL0) special(SPC_DBADDR) interest(2) } field(G, DBF_NOACCESS) { prompt("Input value G") extra("void *g") interest(2) asl(ASL0) special(SPC_DBADDR) } field(H, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) interest(2) prompt("Input value H") extra("void *h") } field(I, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) interest(2) prompt("Input value I") extra("void *i") } field(J, DBF_NOACCESS) { extra("void *j") prompt("Input value J") asl(ASL0) special(SPC_DBADDR) interest(2) } field(K, DBF_NOACCESS) { prompt("Input value K") extra("void *k") special(SPC_DBADDR) asl(ASL0) interest(2) } field(L, DBF_NOACCESS) { interest(2) asl(ASL0) special(SPC_DBADDR) extra("void *l") prompt("Input value L") } field(M, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) interest(2) extra("void *m") prompt("Input value M") } field(N, DBF_NOACCESS) { special(SPC_DBADDR) asl(ASL0) interest(2) extra("void *n") prompt("Input value N") } field(O, DBF_NOACCESS) { interest(2) asl(ASL0) special(SPC_DBADDR) prompt("Input value O") extra("void *o") } field(P, DBF_NOACCESS) { interest(2) special(SPC_DBADDR) asl(ASL0) extra("void *p") prompt("Input value P") } field(Q, DBF_NOACCESS) { special(SPC_DBADDR) asl(ASL0) interest(2) extra("void *q") prompt("Input value Q") } field(R, DBF_NOACCESS) { prompt("Input value R") extra("void *r") interest(2) asl(ASL0) special(SPC_DBADDR) } field(S, DBF_NOACCESS) { interest(2) special(SPC_DBADDR) asl(ASL0) extra("void *s") prompt("Input value S") } field(T, DBF_NOACCESS) { interest(2) special(SPC_DBADDR) asl(ASL0) prompt("Input value T") extra("void *t") } field(U, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) interest(2) prompt("Input value U") extra("void *u") } field(FTA, DBF_MENU) { prompt("Type of A") initial("DOUBLE") interest(1) promptgroup("41 - Input A-G") special(SPC_NOMOD) menu(menuFtype) } field(FTB, DBF_MENU) { menu(menuFtype) special(SPC_NOMOD) promptgroup("41 - Input A-G") interest(1) initial("DOUBLE") prompt("Type of B") } field(FTC, DBF_MENU) { special(SPC_NOMOD) menu(menuFtype) promptgroup("41 - Input A-G") interest(1) initial("DOUBLE") prompt("Type of C") } field(FTD, DBF_MENU) { promptgroup("41 - Input A-G") special(SPC_NOMOD) menu(menuFtype) prompt("Type of D") initial("DOUBLE") interest(1) } field(FTE, DBF_MENU) { special(SPC_NOMOD) menu(menuFtype) promptgroup("41 - Input A-G") interest(1) initial("DOUBLE") prompt("Type of E") } field(FTF, DBF_MENU) { initial("DOUBLE") prompt("Type of F") interest(1) promptgroup("41 - Input A-G") menu(menuFtype) special(SPC_NOMOD) } field(FTG, DBF_MENU) { menu(menuFtype) special(SPC_NOMOD) promptgroup("41 - Input A-G") interest(1) initial("DOUBLE") prompt("Type of G") } field(FTH, DBF_MENU) { menu(menuFtype) special(SPC_NOMOD) promptgroup("42 - Input H-N") interest(1) prompt("Type of H") initial("DOUBLE") } field(FTI, DBF_MENU) { initial("DOUBLE") prompt("Type of I") interest(1) promptgroup("42 - Input H-N") special(SPC_NOMOD) menu(menuFtype) } field(FTJ, DBF_MENU) { initial("DOUBLE") prompt("Type of J") interest(1) promptgroup("42 - Input H-N") special(SPC_NOMOD) menu(menuFtype) } field(FTK, DBF_MENU) { initial("DOUBLE") prompt("Type of K") interest(1) promptgroup("42 - Input H-N") menu(menuFtype) special(SPC_NOMOD) } field(FTL, DBF_MENU) { interest(1) initial("DOUBLE") prompt("Type of L") menu(menuFtype) special(SPC_NOMOD) promptgroup("42 - Input H-N") } field(FTM, DBF_MENU) { prompt("Type of M") initial("DOUBLE") interest(1) promptgroup("42 - Input H-N") menu(menuFtype) special(SPC_NOMOD) } field(FTN, DBF_MENU) { interest(1) prompt("Type of N") initial("DOUBLE") menu(menuFtype) special(SPC_NOMOD) promptgroup("42 - Input H-N") } field(FTO, DBF_MENU) { promptgroup("43 - Input O-U") special(SPC_NOMOD) menu(menuFtype) prompt("Type of O") initial("DOUBLE") interest(1) } field(FTP, DBF_MENU) { promptgroup("43 - Input O-U") menu(menuFtype) special(SPC_NOMOD) prompt("Type of P") initial("DOUBLE") interest(1) } field(FTQ, DBF_MENU) { promptgroup("43 - Input O-U") menu(menuFtype) special(SPC_NOMOD) prompt("Type of Q") initial("DOUBLE") interest(1) } field(FTR, DBF_MENU) { prompt("Type of R") initial("DOUBLE") interest(1) promptgroup("43 - Input O-U") menu(menuFtype) special(SPC_NOMOD) } field(FTS, DBF_MENU) { promptgroup("43 - Input O-U") special(SPC_NOMOD) menu(menuFtype) initial("DOUBLE") prompt("Type of S") interest(1) } field(FTT, DBF_MENU) { special(SPC_NOMOD) menu(menuFtype) promptgroup("43 - Input O-U") interest(1) initial("DOUBLE") prompt("Type of T") } field(FTU, DBF_MENU) { special(SPC_NOMOD) menu(menuFtype) promptgroup("43 - Input O-U") interest(1) initial("DOUBLE") prompt("Type of U") } field(NOA, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("41 - Input A-G") prompt("Max. elements in A") initial("1") } field(NOB, DBF_ULONG) { promptgroup("41 - Input A-G") initial("1") prompt("Max. elements in B") interest(1) special(SPC_NOMOD) } field(NOC, DBF_ULONG) { initial("1") prompt("Max. elements in C") promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) } field(NOD, DBF_ULONG) { special(SPC_NOMOD) interest(1) initial("1") prompt("Max. elements in D") promptgroup("41 - Input A-G") } field(NOE, DBF_ULONG) { initial("1") prompt("Max. elements in E") promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) } field(NOF, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("41 - Input A-G") initial("1") prompt("Max. elements in F") } field(NOG, DBF_ULONG) { prompt("Max. elements in G") initial("1") promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) } field(NOH, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("42 - Input H-N") prompt("Max. elements in H") initial("1") } field(NOI, DBF_ULONG) { special(SPC_NOMOD) interest(1) initial("1") prompt("Max. elements in I") promptgroup("42 - Input H-N") } field(NOJ, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("42 - Input H-N") initial("1") prompt("Max. elements in J") } field(NOK, DBF_ULONG) { special(SPC_NOMOD) interest(1) initial("1") prompt("Max. elements in K") promptgroup("42 - Input H-N") } field(NOL, DBF_ULONG) { special(SPC_NOMOD) interest(1) prompt("Max. elements in L") initial("1") promptgroup("42 - Input H-N") } field(NOM, DBF_ULONG) { promptgroup("42 - Input H-N") prompt("Max. elements in M") initial("1") interest(1) special(SPC_NOMOD) } field(NON, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("42 - Input H-N") prompt("Max. elements in N") initial("1") } field(NOO, DBF_ULONG) { prompt("Max. elements in O") initial("1") promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) } field(NOP, DBF_ULONG) { promptgroup("43 - Input O-U") initial("1") prompt("Max. elements in P") interest(1) special(SPC_NOMOD) } field(NOQ, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("43 - Input O-U") initial("1") prompt("Max. elements in Q") } field(NOR, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("43 - Input O-U") initial("1") prompt("Max. elements in R") } field(NOS, DBF_ULONG) { special(SPC_NOMOD) interest(1) prompt("Max. elements in S") initial("1") promptgroup("43 - Input O-U") } field(NOT, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("43 - Input O-U") initial("1") prompt("Max. elements in T") } field(NOU, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("43 - Input O-U") prompt("Max. elements in U") initial("1") } field(NEA, DBF_ULONG) { interest(3) special(SPC_NOMOD) initial("1") prompt("Num. elements in A") } field(NEB, DBF_ULONG) { special(SPC_NOMOD) interest(3) prompt("Num. elements in B") initial("1") } field(NEC, DBF_ULONG) { special(SPC_NOMOD) interest(3) initial("1") prompt("Num. elements in C") } field(NED, DBF_ULONG) { prompt("Num. elements in D") initial("1") interest(3) special(SPC_NOMOD) } field(NEE, DBF_ULONG) { interest(3) special(SPC_NOMOD) initial("1") prompt("Num. elements in E") } field(NEF, DBF_ULONG) { initial("1") prompt("Num. elements in F") interest(3) special(SPC_NOMOD) } field(NEG, DBF_ULONG) { prompt("Num. elements in G") initial("1") special(SPC_NOMOD) interest(3) } field(NEH, DBF_ULONG) { special(SPC_NOMOD) interest(3) initial("1") prompt("Num. elements in H") } field(NEI, DBF_ULONG) { initial("1") prompt("Num. elements in I") special(SPC_NOMOD) interest(3) } field(NEJ, DBF_ULONG) { initial("1") prompt("Num. elements in J") special(SPC_NOMOD) interest(3) } field(NEK, DBF_ULONG) { prompt("Num. elements in K") initial("1") interest(3) special(SPC_NOMOD) } field(NEL, DBF_ULONG) { initial("1") prompt("Num. elements in L") interest(3) special(SPC_NOMOD) } field(NEM, DBF_ULONG) { initial("1") prompt("Num. elements in M") special(SPC_NOMOD) interest(3) } field(NEN, DBF_ULONG) { interest(3) special(SPC_NOMOD) prompt("Num. elements in N") initial("1") } field(NEO, DBF_ULONG) { initial("1") prompt("Num. elements in O") interest(3) special(SPC_NOMOD) } field(NEP, DBF_ULONG) { special(SPC_NOMOD) interest(3) initial("1") prompt("Num. elements in P") } field(NEQ, DBF_ULONG) { interest(3) special(SPC_NOMOD) initial("1") prompt("Num. elements in Q") } field(NER, DBF_ULONG) { prompt("Num. elements in R") initial("1") special(SPC_NOMOD) interest(3) } field(NES, DBF_ULONG) { interest(3) special(SPC_NOMOD) prompt("Num. elements in S") initial("1") } field(NET, DBF_ULONG) { initial("1") prompt("Num. elements in T") interest(3) special(SPC_NOMOD) } field(NEU, DBF_ULONG) { initial("1") prompt("Num. elements in U") special(SPC_NOMOD) interest(3) } field(OUTA, DBF_OUTLINK) { prompt("Output Link A") promptgroup("51 - Output A-G") interest(1) } field(OUTB, DBF_OUTLINK) { prompt("Output Link B") promptgroup("51 - Output A-G") interest(1) } field(OUTC, DBF_OUTLINK) { promptgroup("51 - Output A-G") prompt("Output Link C") interest(1) } field(OUTD, DBF_OUTLINK) { promptgroup("51 - Output A-G") prompt("Output Link D") interest(1) } field(OUTE, DBF_OUTLINK) { interest(1) promptgroup("51 - Output A-G") prompt("Output Link E") } field(OUTF, DBF_OUTLINK) { interest(1) promptgroup("51 - Output A-G") prompt("Output Link F") } field(OUTG, DBF_OUTLINK) { prompt("Output Link G") promptgroup("51 - Output A-G") interest(1) } field(OUTH, DBF_OUTLINK) { interest(1) prompt("Output Link H") promptgroup("52 - Output H-N") } field(OUTI, DBF_OUTLINK) { interest(1) promptgroup("52 - Output H-N") prompt("Output Link I") } field(OUTJ, DBF_OUTLINK) { interest(1) promptgroup("52 - Output H-N") prompt("Output Link J") } field(OUTK, DBF_OUTLINK) { interest(1) prompt("Output Link K") promptgroup("52 - Output H-N") } field(OUTL, DBF_OUTLINK) { prompt("Output Link L") promptgroup("52 - Output H-N") interest(1) } field(OUTM, DBF_OUTLINK) { interest(1) prompt("Output Link M") promptgroup("52 - Output H-N") } field(OUTN, DBF_OUTLINK) { interest(1) prompt("Output Link N") promptgroup("52 - Output H-N") } field(OUTO, DBF_OUTLINK) { interest(1) promptgroup("53 - Output O-U") prompt("Output Link O") } field(OUTP, DBF_OUTLINK) { interest(1) promptgroup("53 - Output O-U") prompt("Output Link P") } field(OUTQ, DBF_OUTLINK) { interest(1) promptgroup("53 - Output O-U") prompt("Output Link Q") } field(OUTR, DBF_OUTLINK) { interest(1) prompt("Output Link R") promptgroup("53 - Output O-U") } field(OUTS, DBF_OUTLINK) { promptgroup("53 - Output O-U") prompt("Output Link S") interest(1) } field(OUTT, DBF_OUTLINK) { interest(1) prompt("Output Link T") promptgroup("53 - Output O-U") } field(OUTU, DBF_OUTLINK) { prompt("Output Link U") promptgroup("53 - Output O-U") interest(1) } field(VALA, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) interest(2) prompt("Output value A") extra("void *vala") } field(VALB, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) interest(2) extra("void *valb") prompt("Output value B") } field(VALC, DBF_NOACCESS) { special(SPC_DBADDR) asl(ASL0) interest(2) extra("void *valc") prompt("Output value C") } field(VALD, DBF_NOACCESS) { prompt("Output value D") extra("void *vald") interest(2) special(SPC_DBADDR) asl(ASL0) } field(VALE, DBF_NOACCESS) { special(SPC_DBADDR) asl(ASL0) interest(2) prompt("Output value E") extra("void *vale") } field(VALF, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) interest(2) prompt("Output value F") extra("void *valf") } field(VALG, DBF_NOACCESS) { interest(2) asl(ASL0) special(SPC_DBADDR) prompt("Output value G") extra("void *valg") } field(VALH, DBF_NOACCESS) { prompt("Output value H") extra("void *valh") special(SPC_DBADDR) asl(ASL0) interest(2) } field(VALI, DBF_NOACCESS) { extra("void *vali") prompt("Output value I") interest(2) special(SPC_DBADDR) asl(ASL0) } field(VALJ, DBF_NOACCESS) { extra("void *valj") prompt("Output value J") special(SPC_DBADDR) asl(ASL0) interest(2) } field(VALK, DBF_NOACCESS) { special(SPC_DBADDR) asl(ASL0) interest(2) extra("void *valk") prompt("Output value K") } field(VALL, DBF_NOACCESS) { special(SPC_DBADDR) asl(ASL0) interest(2) prompt("Output value L") extra("void *vall") } field(VALM, DBF_NOACCESS) { prompt("Output value M") extra("void *valm") interest(2) special(SPC_DBADDR) asl(ASL0) } field(VALN, DBF_NOACCESS) { extra("void *valn") prompt("Output value N") asl(ASL0) special(SPC_DBADDR) interest(2) } field(VALO, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) interest(2) extra("void *valo") prompt("Output value O") } field(VALP, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) interest(2) prompt("Output value P") extra("void *valp") } field(VALQ, DBF_NOACCESS) { special(SPC_DBADDR) asl(ASL0) interest(2) extra("void *valq") prompt("Output value Q") } field(VALR, DBF_NOACCESS) { extra("void *valr") prompt("Output value R") special(SPC_DBADDR) asl(ASL0) interest(2) } field(VALS, DBF_NOACCESS) { extra("void *vals") prompt("Output value S") special(SPC_DBADDR) asl(ASL0) interest(2) } field(VALT, DBF_NOACCESS) { extra("void *valt") prompt("Output value T") interest(2) asl(ASL0) special(SPC_DBADDR) } field(VALU, DBF_NOACCESS) { prompt("Output value U") extra("void *valu") interest(2) special(SPC_DBADDR) asl(ASL0) } field(OVLA, DBF_NOACCESS) { special(SPC_NOMOD) asl(ASL0) interest(4) prompt("Old Output A") extra("void *ovla") } field(OVLB, DBF_NOACCESS) { extra("void *ovlb") prompt("Old Output B") interest(4) special(SPC_NOMOD) asl(ASL0) } field(OVLC, DBF_NOACCESS) { prompt("Old Output C") extra("void *ovlc") interest(4) asl(ASL0) special(SPC_NOMOD) } field(OVLD, DBF_NOACCESS) { interest(4) asl(ASL0) special(SPC_NOMOD) prompt("Old Output D") extra("void *ovld") } field(OVLE, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) asl(ASL0) extra("void *ovle") prompt("Old Output E") } field(OVLF, DBF_NOACCESS) { prompt("Old Output F") extra("void *ovlf") special(SPC_NOMOD) asl(ASL0) interest(4) } field(OVLG, DBF_NOACCESS) { extra("void *ovlg") prompt("Old Output G") interest(4) asl(ASL0) special(SPC_NOMOD) } field(OVLH, DBF_NOACCESS) { prompt("Old Output H") extra("void *ovlh") interest(4) asl(ASL0) special(SPC_NOMOD) } field(OVLI, DBF_NOACCESS) { prompt("Old Output I") extra("void *ovli") asl(ASL0) special(SPC_NOMOD) interest(4) } field(OVLJ, DBF_NOACCESS) { prompt("Old Output J") extra("void *ovlj") asl(ASL0) special(SPC_NOMOD) interest(4) } field(OVLK, DBF_NOACCESS) { asl(ASL0) special(SPC_NOMOD) interest(4) extra("void *ovlk") prompt("Old Output K") } field(OVLL, DBF_NOACCESS) { extra("void *ovll") prompt("Old Output L") special(SPC_NOMOD) asl(ASL0) interest(4) } field(OVLM, DBF_NOACCESS) { special(SPC_NOMOD) asl(ASL0) interest(4) prompt("Old Output M") extra("void *ovlm") } field(OVLN, DBF_NOACCESS) { interest(4) asl(ASL0) special(SPC_NOMOD) prompt("Old Output N") extra("void *ovln") } field(OVLO, DBF_NOACCESS) { asl(ASL0) special(SPC_NOMOD) interest(4) prompt("Old Output O") extra("void *ovlo") } field(OVLP, DBF_NOACCESS) { special(SPC_NOMOD) asl(ASL0) interest(4) extra("void *ovlp") prompt("Old Output P") } field(OVLQ, DBF_NOACCESS) { prompt("Old Output Q") extra("void *ovlq") special(SPC_NOMOD) asl(ASL0) interest(4) } field(OVLR, DBF_NOACCESS) { extra("void *ovlr") prompt("Old Output R") interest(4) asl(ASL0) special(SPC_NOMOD) } field(OVLS, DBF_NOACCESS) { special(SPC_NOMOD) asl(ASL0) interest(4) prompt("Old Output S") extra("void *ovls") } field(OVLT, DBF_NOACCESS) { interest(4) asl(ASL0) special(SPC_NOMOD) extra("void *ovlt") prompt("Old Output T") } field(OVLU, DBF_NOACCESS) { interest(4) asl(ASL0) special(SPC_NOMOD) prompt("Old Output U") extra("void *ovlu") } field(FTVA, DBF_MENU) { promptgroup("51 - Output A-G") menu(menuFtype) special(SPC_NOMOD) prompt("Type of VALA") initial("DOUBLE") interest(1) } field(FTVB, DBF_MENU) { prompt("Type of VALB") initial("DOUBLE") interest(1) promptgroup("51 - Output A-G") special(SPC_NOMOD) menu(menuFtype) } field(FTVC, DBF_MENU) { special(SPC_NOMOD) menu(menuFtype) promptgroup("51 - Output A-G") interest(1) prompt("Type of VALC") initial("DOUBLE") } field(FTVD, DBF_MENU) { interest(1) prompt("Type of VALD") initial("DOUBLE") special(SPC_NOMOD) menu(menuFtype) promptgroup("51 - Output A-G") } field(FTVE, DBF_MENU) { initial("DOUBLE") prompt("Type of VALE") interest(1) promptgroup("51 - Output A-G") special(SPC_NOMOD) menu(menuFtype) } field(FTVF, DBF_MENU) { prompt("Type of VALF") initial("DOUBLE") interest(1) promptgroup("51 - Output A-G") menu(menuFtype) special(SPC_NOMOD) } field(FTVG, DBF_MENU) { special(SPC_NOMOD) menu(menuFtype) promptgroup("51 - Output A-G") interest(1) initial("DOUBLE") prompt("Type of VALG") } field(FTVH, DBF_MENU) { initial("DOUBLE") prompt("Type of VALH") interest(1) promptgroup("52 - Output H-N") menu(menuFtype) special(SPC_NOMOD) } field(FTVI, DBF_MENU) { interest(1) initial("DOUBLE") prompt("Type of VALI") menu(menuFtype) special(SPC_NOMOD) promptgroup("52 - Output H-N") } field(FTVJ, DBF_MENU) { promptgroup("52 - Output H-N") menu(menuFtype) special(SPC_NOMOD) initial("DOUBLE") prompt("Type of VALJ") interest(1) } field(FTVK, DBF_MENU) { prompt("Type of VALK") initial("DOUBLE") interest(1) promptgroup("52 - Output H-N") menu(menuFtype) special(SPC_NOMOD) } field(FTVL, DBF_MENU) { special(SPC_NOMOD) menu(menuFtype) promptgroup("52 - Output H-N") interest(1) initial("DOUBLE") prompt("Type of VALL") } field(FTVM, DBF_MENU) { interest(1) prompt("Type of VALM") initial("DOUBLE") menu(menuFtype) special(SPC_NOMOD) promptgroup("52 - Output H-N") } field(FTVN, DBF_MENU) { initial("DOUBLE") prompt("Type of VALN") interest(1) promptgroup("52 - Output H-N") menu(menuFtype) special(SPC_NOMOD) } field(FTVO, DBF_MENU) { menu(menuFtype) special(SPC_NOMOD) promptgroup("53 - Output O-U") interest(1) initial("DOUBLE") prompt("Type of VALO") } field(FTVP, DBF_MENU) { interest(1) prompt("Type of VALP") initial("DOUBLE") menu(menuFtype) special(SPC_NOMOD) promptgroup("53 - Output O-U") } field(FTVQ, DBF_MENU) { promptgroup("53 - Output O-U") menu(menuFtype) special(SPC_NOMOD) initial("DOUBLE") prompt("Type of VALQ") interest(1) } field(FTVR, DBF_MENU) { interest(1) prompt("Type of VALR") initial("DOUBLE") special(SPC_NOMOD) menu(menuFtype) promptgroup("53 - Output O-U") } field(FTVS, DBF_MENU) { menu(menuFtype) special(SPC_NOMOD) promptgroup("53 - Output O-U") interest(1) initial("DOUBLE") prompt("Type of VALS") } field(FTVT, DBF_MENU) { initial("DOUBLE") prompt("Type of VALT") interest(1) promptgroup("53 - Output O-U") special(SPC_NOMOD) menu(menuFtype) } field(FTVU, DBF_MENU) { initial("DOUBLE") prompt("Type of VALU") interest(1) promptgroup("53 - Output O-U") menu(menuFtype) special(SPC_NOMOD) } field(NOVA, DBF_ULONG) { special(SPC_NOMOD) interest(1) initial("1") prompt("Max. elements in VALA") promptgroup("51 - Output A-G") } field(NOVB, DBF_ULONG) { special(SPC_NOMOD) interest(1) initial("1") prompt("Max. elements in VALB") promptgroup("51 - Output A-G") } field(NOVC, DBF_ULONG) { special(SPC_NOMOD) interest(1) initial("1") prompt("Max. elements in VALC") promptgroup("51 - Output A-G") } field(NOVD, DBF_ULONG) { prompt("Max. elements in VALD") initial("1") promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) } field(NOVE, DBF_ULONG) { special(SPC_NOMOD) interest(1) initial("1") prompt("Max. elements in VALE") promptgroup("51 - Output A-G") } field(NOVF, DBF_ULONG) { promptgroup("51 - Output A-G") prompt("Max. elements in VALF") initial("1") interest(1) special(SPC_NOMOD) } field(NOVG, DBF_ULONG) { special(SPC_NOMOD) interest(1) prompt("Max. elements in VALG") initial("1") promptgroup("51 - Output A-G") } field(NOVH, DBF_ULONG) { special(SPC_NOMOD) interest(1) prompt("Max. elements in VAlH") initial("1") promptgroup("52 - Output H-N") } field(NOVI, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("52 - Output H-N") prompt("Max. elements in VALI") initial("1") } field(NOVJ, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("52 - Output H-N") initial("1") prompt("Max. elements in VALJ") } field(NOVK, DBF_ULONG) { special(SPC_NOMOD) interest(1) initial("1") prompt("Max. elements in VALK") promptgroup("52 - Output H-N") } field(NOVL, DBF_ULONG) { special(SPC_NOMOD) interest(1) prompt("Max. elements in VALL") initial("1") promptgroup("52 - Output H-N") } field(NOVM, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("52 - Output H-N") prompt("Max. elements in VALM") initial("1") } field(NOVN, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("52 - Output H-N") prompt("Max. elements in VALN") initial("1") } field(NOVO, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("53 - Output O-U") prompt("Max. elements in VALO") initial("1") } field(NOVP, DBF_ULONG) { prompt("Max. elements in VALP") initial("1") promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) } field(NOVQ, DBF_ULONG) { prompt("Max. elements in VALQ") initial("1") promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) } field(NOVR, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("53 - Output O-U") initial("1") prompt("Max. elements in VALR") } field(NOVS, DBF_ULONG) { initial("1") prompt("Max. elements in VALS") promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) } field(NOVT, DBF_ULONG) { promptgroup("53 - Output O-U") prompt("Max. elements in VALT") initial("1") interest(1) special(SPC_NOMOD) } field(NOVU, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("53 - Output O-U") prompt("Max. elements in VALU") initial("1") } field(NEVA, DBF_ULONG) { prompt("Num. elements in VALA") initial("1") interest(3) special(SPC_NOMOD) } field(NEVB, DBF_ULONG) { interest(3) special(SPC_NOMOD) prompt("Num. elements in VALB") initial("1") } field(NEVC, DBF_ULONG) { interest(3) special(SPC_NOMOD) prompt("Num. elements in VALC") initial("1") } field(NEVD, DBF_ULONG) { prompt("Num. elements in VALD") initial("1") interest(3) special(SPC_NOMOD) } field(NEVE, DBF_ULONG) { initial("1") prompt("Num. elements in VALE") interest(3) special(SPC_NOMOD) } field(NEVF, DBF_ULONG) { prompt("Num. elements in VALF") initial("1") interest(3) special(SPC_NOMOD) } field(NEVG, DBF_ULONG) { special(SPC_NOMOD) interest(3) prompt("Num. elements in VALG") initial("1") } field(NEVH, DBF_ULONG) { special(SPC_NOMOD) interest(3) prompt("Num. elements in VAlH") initial("1") } field(NEVI, DBF_ULONG) { initial("1") prompt("Num. elements in VALI") special(SPC_NOMOD) interest(3) } field(NEVJ, DBF_ULONG) { initial("1") prompt("Num. elements in VALJ") interest(3) special(SPC_NOMOD) } field(NEVK, DBF_ULONG) { interest(3) special(SPC_NOMOD) initial("1") prompt("Num. elements in VALK") } field(NEVL, DBF_ULONG) { interest(3) special(SPC_NOMOD) prompt("Num. elements in VALL") initial("1") } field(NEVM, DBF_ULONG) { interest(3) special(SPC_NOMOD) prompt("Num. elements in VALM") initial("1") } field(NEVN, DBF_ULONG) { prompt("Num. elements in VALN") initial("1") special(SPC_NOMOD) interest(3) } field(NEVO, DBF_ULONG) { special(SPC_NOMOD) interest(3) initial("1") prompt("Num. elements in VALO") } field(NEVP, DBF_ULONG) { special(SPC_NOMOD) interest(3) initial("1") prompt("Num. elements in VALP") } field(NEVQ, DBF_ULONG) { initial("1") prompt("Num. elements in VALQ") interest(3) special(SPC_NOMOD) } field(NEVR, DBF_ULONG) { special(SPC_NOMOD) interest(3) initial("1") prompt("Num. elements in VALR") } field(NEVS, DBF_ULONG) { initial("1") prompt("Num. elements in VALS") interest(3) special(SPC_NOMOD) } field(NEVT, DBF_ULONG) { prompt("Num. elements in VALT") initial("1") special(SPC_NOMOD) interest(3) } field(NEVU, DBF_ULONG) { interest(3) special(SPC_NOMOD) initial("1") prompt("Num. elements in VALU") } field(ONVA, DBF_ULONG) { interest(4) special(SPC_NOMOD) initial("1") prompt("Num. elements in OVLA") } field(ONVB, DBF_ULONG) { prompt("Num. elements in OVLB") initial("1") interest(4) special(SPC_NOMOD) } field(ONVC, DBF_ULONG) { prompt("Num. elements in OVLC") initial("1") special(SPC_NOMOD) interest(4) } field(ONVD, DBF_ULONG) { initial("1") prompt("Num. elements in OVLD") special(SPC_NOMOD) interest(4) } field(ONVE, DBF_ULONG) { special(SPC_NOMOD) interest(4) prompt("Num. elements in OVLE") initial("1") } field(ONVF, DBF_ULONG) { special(SPC_NOMOD) interest(4) prompt("Num. elements in OVLF") initial("1") } field(ONVG, DBF_ULONG) { initial("1") prompt("Num. elements in OVLG") special(SPC_NOMOD) interest(4) } field(ONVH, DBF_ULONG) { interest(4) special(SPC_NOMOD) prompt("Num. elements in VAlH") initial("1") } field(ONVI, DBF_ULONG) { prompt("Num. elements in OVLI") initial("1") special(SPC_NOMOD) interest(4) } field(ONVJ, DBF_ULONG) { special(SPC_NOMOD) interest(4) prompt("Num. elements in OVLJ") initial("1") } field(ONVK, DBF_ULONG) { prompt("Num. elements in OVLK") initial("1") interest(4) special(SPC_NOMOD) } field(ONVL, DBF_ULONG) { special(SPC_NOMOD) interest(4) initial("1") prompt("Num. elements in OVLL") } field(ONVM, DBF_ULONG) { special(SPC_NOMOD) interest(4) prompt("Num. elements in OVLM") initial("1") } field(ONVN, DBF_ULONG) { initial("1") prompt("Num. elements in OVLN") interest(4) special(SPC_NOMOD) } field(ONVO, DBF_ULONG) { special(SPC_NOMOD) interest(4) prompt("Num. elements in OVLO") initial("1") } field(ONVP, DBF_ULONG) { interest(4) special(SPC_NOMOD) initial("1") prompt("Num. elements in OVLP") } field(ONVQ, DBF_ULONG) { special(SPC_NOMOD) interest(4) prompt("Num. elements in OVLQ") initial("1") } field(ONVR, DBF_ULONG) { interest(4) special(SPC_NOMOD) initial("1") prompt("Num. elements in OVLR") } field(ONVS, DBF_ULONG) { interest(4) special(SPC_NOMOD) initial("1") prompt("Num. elements in OVLS") } field(ONVT, DBF_ULONG) { prompt("Num. elements in OVLT") initial("1") special(SPC_NOMOD) interest(4) } field(ONVU, DBF_ULONG) { prompt("Num. elements in OVLU") initial("1") special(SPC_NOMOD) interest(4) } } recordtype(fanout) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { prompt("Record Name") special(SPC_NOMOD) size(61) } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { prompt("Access Security Group") promptgroup("10 - Common") size(29) special(SPC_AS) } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuScan) interest(1) } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { interest(1) special(SPC_SCAN) size(40) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) prompt("Time Stamp Event") promptgroup("20 - Scan") } field(TSEL, DBF_INLINK) { interest(1) prompt("Time Stamp Link") promptgroup("20 - Scan") } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { prompt("Backwards link tracking") extra("ELLLIST bklnk") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { pp(TRUE) prompt("Force Processing") interest(3) } field(STAT, DBF_MENU) { initial("UDF") prompt("Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") interest(2) menu(menuAlarmStat) special(SPC_NOMOD) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) } field(ACKT, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuYesNo) promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") } field(DISS, DBF_MENU) { prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LCNT, DBF_UCHAR) { prompt("Lock Count") special(SPC_NOMOD) interest(2) } field(PACT, DBF_UCHAR) { prompt("Record active") interest(1) special(SPC_NOMOD) } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") } field(SPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") interest(4) special(SPC_NOMOD) } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") special(SPC_NOMOD) interest(4) } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) menu(menuPriority) special(SPC_SCAN) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { prompt("Break Point") extra("char bkpt") special(SPC_NOMOD) interest(1) } field(UDF, DBF_UCHAR) { interest(1) prompt("Undefined") initial("1") pp(TRUE) promptgroup("10 - Common") } field(UDFS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Undefined Alarm Sevrty") initial("INVALID") interest(1) menu(menuAlarmSevr) } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { interest(1) promptgroup("20 - Scan") prompt("Forward Process Link") } field(VAL, DBF_LONG) { prompt("Used to trigger") pp(TRUE) asl(ASL0) } field(SELM, DBF_MENU) { prompt("Select Mechanism") promptgroup("30 - Action") menu(fanoutSELM) interest(1) } field(SELN, DBF_USHORT) { interest(1) initial("1") prompt("Link Selection") } field(SELL, DBF_INLINK) { interest(1) promptgroup("30 - Action") prompt("Link Selection Loc") } field(OFFS, DBF_SHORT) { promptgroup("30 - Action") initial("0") prompt("Offset for Specified") interest(1) } field(SHFT, DBF_SHORT) { initial("-1") prompt("Shift for Mask mode") promptgroup("30 - Action") interest(1) } field(LNK0, DBF_FWDLINK) { interest(1) prompt("Forward Link 0") promptgroup("51 - Output 0-7") } field(LNK1, DBF_FWDLINK) { interest(1) prompt("Forward Link 1") promptgroup("51 - Output 0-7") } field(LNK2, DBF_FWDLINK) { interest(1) prompt("Forward Link 2") promptgroup("51 - Output 0-7") } field(LNK3, DBF_FWDLINK) { interest(1) prompt("Forward Link 3") promptgroup("51 - Output 0-7") } field(LNK4, DBF_FWDLINK) { promptgroup("51 - Output 0-7") prompt("Forward Link 4") interest(1) } field(LNK5, DBF_FWDLINK) { interest(1) promptgroup("51 - Output 0-7") prompt("Forward Link 5") } field(LNK6, DBF_FWDLINK) { interest(1) promptgroup("51 - Output 0-7") prompt("Forward Link 6") } field(LNK7, DBF_FWDLINK) { promptgroup("51 - Output 0-7") prompt("Forward Link 7") interest(1) } field(LNK8, DBF_FWDLINK) { promptgroup("52 - Output 8-F") prompt("Forward Link 8") interest(1) } field(LNK9, DBF_FWDLINK) { interest(1) prompt("Forward Link 9") promptgroup("52 - Output 8-F") } field(LNKA, DBF_FWDLINK) { promptgroup("52 - Output 8-F") prompt("Forward Link 10") interest(1) } field(LNKB, DBF_FWDLINK) { interest(1) prompt("Forward Link 11") promptgroup("52 - Output 8-F") } field(LNKC, DBF_FWDLINK) { promptgroup("52 - Output 8-F") prompt("Forward Link 12") interest(1) } field(LNKD, DBF_FWDLINK) { prompt("Forward Link 13") promptgroup("52 - Output 8-F") interest(1) } field(LNKE, DBF_FWDLINK) { prompt("Forward Link 14") promptgroup("52 - Output 8-F") interest(1) } field(LNKF, DBF_FWDLINK) { promptgroup("52 - Output 8-F") prompt("Forward Link 15") interest(1) } } recordtype(compress) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { size(61) special(SPC_NOMOD) prompt("Record Name") } field(DESC, DBF_STRING) { prompt("Descriptor") promptgroup("10 - Common") size(41) } field(ASG, DBF_STRING) { size(29) special(SPC_AS) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { menu(menuScan) special(SPC_SCAN) interest(1) prompt("Scan Mechanism") promptgroup("20 - Scan") } field(PINI, DBF_MENU) { menu(menuPini) interest(1) prompt("Process at iocInit") promptgroup("20 - Scan") } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { special(SPC_SCAN) size(40) interest(1) prompt("Event Name") promptgroup("20 - Scan") } field(TSE, DBF_SHORT) { promptgroup("20 - Scan") prompt("Time Stamp Event") interest(1) } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") initial("1") prompt("Disable Value") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) promptgroup("20 - Scan") prompt("Scanning Disable") } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { extra("ELLLIST mlis") prompt("Monitor List") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("ELLLIST bklnk") prompt("Backwards link tracking") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { initial("UDF") prompt("Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { interest(2) menu(menuAlarmStat) special(SPC_NOMOD) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { interest(2) menu(menuYesNo) special(SPC_NOMOD) promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { prompt("Lock Count") interest(2) special(SPC_NOMOD) } field(PACT, DBF_UCHAR) { prompt("Record active") special(SPC_NOMOD) interest(1) } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { prompt("pprocessNotify") extra("struct processNotify *ppn") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") special(SPC_NOMOD) interest(4) } field(RSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct typed_rset *rset") prompt("Address of RSET") } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct dset *dset") prompt("DSET address") } field(DPVT, DBF_NOACCESS) { extra("void *dpvt") prompt("Device Private") interest(4) special(SPC_NOMOD) } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") special(SPC_NOMOD) interest(4) } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") special(SPC_NOMOD) interest(4) } field(PRIO, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuPriority) promptgroup("20 - Scan") prompt("Scheduling Priority") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) prompt("Break Point") extra("char bkpt") } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") initial("1") pp(TRUE) prompt("Undefined") interest(1) } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_NOACCESS) { pp(TRUE) extra("void * val") prompt("Value") special(SPC_DBADDR) asl(ASL0) } field(INP, DBF_INLINK) { promptgroup("40 - Input") prompt("Input Specification") interest(1) } field(RES, DBF_SHORT) { prompt("Reset") special(SPC_RESET) asl(ASL0) interest(3) } field(ALG, DBF_MENU) { prompt("Compression Algorithm") promptgroup("30 - Action") special(SPC_RESET) menu(compressALG) interest(1) } field(BALG, DBF_MENU) { prompt("Buffering Algorithm") promptgroup("30 - Action") special(SPC_RESET) menu(bufferingALG) interest(1) } field(NSAM, DBF_ULONG) { special(SPC_NOMOD) interest(1) prompt("Number of Values") initial("1") promptgroup("30 - Action") } field(N, DBF_ULONG) { prompt("N to 1 Compression") initial("1") promptgroup("30 - Action") special(SPC_RESET) interest(1) } field(IHIL, DBF_DOUBLE) { prompt("Init High Interest Lim") promptgroup("30 - Action") interest(1) } field(ILIL, DBF_DOUBLE) { prompt("Init Low Interest Lim") promptgroup("30 - Action") interest(1) } field(HOPR, DBF_DOUBLE) { interest(1) prompt("High Operating Range") promptgroup("80 - Display") prop(YES) } field(LOPR, DBF_DOUBLE) { interest(1) prompt("Low Operating Range") prop(YES) promptgroup("80 - Display") } field(PREC, DBF_SHORT) { interest(1) prop(YES) promptgroup("80 - Display") prompt("Display Precision") } field(EGU, DBF_STRING) { size(16) interest(1) prompt("Engineering Units") prop(YES) promptgroup("80 - Display") } field(OFF, DBF_ULONG) { special(SPC_NOMOD) prompt("Offset") } field(NUSE, DBF_ULONG) { prompt("Number Used") special(SPC_NOMOD) } field(OUSE, DBF_ULONG) { prompt("Old Number Used") special(SPC_NOMOD) } field(BPTR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Buffer Pointer") extra("double *bptr") } field(SPTR, DBF_NOACCESS) { extra("double *sptr") prompt("Summing Buffer Ptr") interest(4) special(SPC_NOMOD) } field(WPTR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Working Buffer Ptr") extra("double *wptr") } field(INPN, DBF_LONG) { prompt("Number of elements in Working Buffer") interest(4) special(SPC_NOMOD) } field(CVB, DBF_DOUBLE) { prompt("Compress Value Buffer") special(SPC_NOMOD) interest(3) } field(INX, DBF_ULONG) { prompt("Compressed Array Inx") interest(3) special(SPC_NOMOD) } } recordtype(calc) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "postfix.h" field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { size(29) special(SPC_AS) promptgroup("10 - Common") prompt("Access Security Group") } field(SCAN, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuScan) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) prompt("Time Stamp Event") promptgroup("20 - Scan") } field(TSEL, DBF_INLINK) { interest(1) prompt("Time Stamp Link") promptgroup("20 - Scan") } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { prompt("Disable Value") initial("1") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { prompt("Monitor lock") extra("epicsMutexId mlok") interest(4) special(SPC_NOMOD) } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") interest(4) special(SPC_NOMOD) } field(BKLNK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Backwards link tracking") extra("ELLLIST bklnk") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { prompt("Alarm Status") initial("UDF") menu(menuAlarmStat) special(SPC_NOMOD) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") interest(2) menu(menuAlarmStat) special(SPC_NOMOD) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKT, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuYesNo) promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { prompt("Lock Count") interest(2) special(SPC_NOMOD) } field(PACT, DBF_UCHAR) { prompt("Record active") interest(1) special(SPC_NOMOD) } field(PUTF, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") interest(1) special(SPC_NOMOD) } field(ASP, DBF_NOACCESS) { prompt("Access Security Pvt") extra("struct asgMember *asp") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") interest(4) special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct scan_element *spvt") prompt("Scan Private") } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { extra("struct dset *dset") prompt("DSET address") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") interest(4) special(SPC_NOMOD) } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { special(SPC_SCAN) menu(menuPriority) interest(1) prompt("Scheduling Priority") promptgroup("20 - Scan") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { prompt("Undefined") pp(TRUE) initial("1") promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") } field(TIME, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VAL, DBF_DOUBLE) { promptgroup("50 - Output") prompt("Result") asl(ASL0) } field(CALC, DBF_STRING) { special(SPC_CALC) size(80) promptgroup("30 - Action") pp(TRUE) initial("0") prompt("Calculation") } field(INPA, DBF_INLINK) { promptgroup("41 - Input A-F") prompt("Input A") interest(1) } field(INPB, DBF_INLINK) { prompt("Input B") promptgroup("41 - Input A-F") interest(1) } field(INPC, DBF_INLINK) { promptgroup("41 - Input A-F") prompt("Input C") interest(1) } field(INPD, DBF_INLINK) { promptgroup("41 - Input A-F") prompt("Input D") interest(1) } field(INPE, DBF_INLINK) { interest(1) promptgroup("41 - Input A-F") prompt("Input E") } field(INPF, DBF_INLINK) { interest(1) promptgroup("41 - Input A-F") prompt("Input F") } field(INPG, DBF_INLINK) { interest(1) prompt("Input G") promptgroup("42 - Input G-L") } field(INPH, DBF_INLINK) { prompt("Input H") promptgroup("42 - Input G-L") interest(1) } field(INPI, DBF_INLINK) { promptgroup("42 - Input G-L") prompt("Input I") interest(1) } field(INPJ, DBF_INLINK) { promptgroup("42 - Input G-L") prompt("Input J") interest(1) } field(INPK, DBF_INLINK) { prompt("Input K") promptgroup("42 - Input G-L") interest(1) } field(INPL, DBF_INLINK) { interest(1) promptgroup("42 - Input G-L") prompt("Input L") } field(EGU, DBF_STRING) { prompt("Engineering Units") promptgroup("80 - Display") prop(YES) size(16) interest(1) } field(PREC, DBF_SHORT) { prop(YES) promptgroup("80 - Display") prompt("Display Precision") interest(1) } field(HOPR, DBF_DOUBLE) { prop(YES) promptgroup("80 - Display") prompt("High Operating Rng") interest(1) } field(LOPR, DBF_DOUBLE) { interest(1) prompt("Low Operating Range") prop(YES) promptgroup("80 - Display") } field(HIHI, DBF_DOUBLE) { interest(1) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Hihi Alarm Limit") } field(LOLO, DBF_DOUBLE) { interest(1) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Lolo Alarm Limit") } field(HIGH, DBF_DOUBLE) { interest(1) pp(TRUE) prompt("High Alarm Limit") promptgroup("70 - Alarm") prop(YES) } field(LOW, DBF_DOUBLE) { interest(1) prompt("Low Alarm Limit") pp(TRUE) prop(YES) promptgroup("70 - Alarm") } field(HHSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("Hihi Severity") promptgroup("70 - Alarm") prop(YES) } field(LLSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Lolo Severity") } field(HSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("High Severity") } field(LSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Low Severity") } field(AFTC, DBF_DOUBLE) { prompt("Alarm Filter Time Constant") promptgroup("70 - Alarm") interest(1) } field(AFVL, DBF_DOUBLE) { prompt("Alarm Filter Value") special(SPC_NOMOD) interest(3) } field(HYST, DBF_DOUBLE) { prompt("Alarm Deadband") promptgroup("70 - Alarm") interest(1) } field(ADEL, DBF_DOUBLE) { interest(1) prompt("Archive Deadband") promptgroup("80 - Display") } field(MDEL, DBF_DOUBLE) { interest(1) promptgroup("80 - Display") prompt("Monitor Deadband") } field(A, DBF_DOUBLE) { prompt("Value of Input A") pp(TRUE) } field(B, DBF_DOUBLE) { prompt("Value of Input B") pp(TRUE) } field(C, DBF_DOUBLE) { prompt("Value of Input C") pp(TRUE) } field(D, DBF_DOUBLE) { prompt("Value of Input D") pp(TRUE) } field(E, DBF_DOUBLE) { prompt("Value of Input E") pp(TRUE) } field(F, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input F") } field(G, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input G") } field(H, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input H") } field(I, DBF_DOUBLE) { prompt("Value of Input I") pp(TRUE) } field(J, DBF_DOUBLE) { prompt("Value of Input J") pp(TRUE) } field(K, DBF_DOUBLE) { prompt("Value of Input K") pp(TRUE) } field(L, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input L") } field(LA, DBF_DOUBLE) { prompt("Prev Value of A") interest(3) special(SPC_NOMOD) } field(LB, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of B") } field(LC, DBF_DOUBLE) { prompt("Prev Value of C") special(SPC_NOMOD) interest(3) } field(LD, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of D") } field(LE, DBF_DOUBLE) { prompt("Prev Value of E") special(SPC_NOMOD) interest(3) } field(LF, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of F") } field(LG, DBF_DOUBLE) { prompt("Prev Value of G") special(SPC_NOMOD) interest(3) } field(LH, DBF_DOUBLE) { prompt("Prev Value of H") special(SPC_NOMOD) interest(3) } field(LI, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of I") } field(LJ, DBF_DOUBLE) { prompt("Prev Value of J") special(SPC_NOMOD) interest(3) } field(LK, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of K") } field(LL, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of L") } field(LALM, DBF_DOUBLE) { prompt("Last Value Alarmed") interest(3) special(SPC_NOMOD) } field(ALST, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Last Value Archived") } field(MLST, DBF_DOUBLE) { prompt("Last Val Monitored") special(SPC_NOMOD) interest(3) } field(RPCL, DBF_NOACCESS) { extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") prompt("Reverse Polish Calc") special(SPC_NOMOD) interest(4) } } recordtype(mbbo) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { size(61) special(SPC_NOMOD) prompt("Record Name") } field(DESC, DBF_STRING) { size(41) prompt("Descriptor") promptgroup("10 - Common") } field(ASG, DBF_STRING) { special(SPC_AS) size(29) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") menu(menuScan) special(SPC_SCAN) interest(1) } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { prompt("Event Name") promptgroup("20 - Scan") size(40) special(SPC_SCAN) interest(1) } field(TSE, DBF_SHORT) { prompt("Time Stamp Event") promptgroup("20 - Scan") interest(1) } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") special(SPC_NOMOD) interest(4) } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") interest(4) special(SPC_NOMOD) } field(BKLNK, DBF_NOACCESS) { prompt("Backwards link tracking") extra("ELLLIST bklnk") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) prompt("Force Processing") pp(TRUE) } field(STAT, DBF_MENU) { initial("UDF") prompt("Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) interest(2) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKS, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { prompt("Alarm Ack Transient") initial("YES") promptgroup("70 - Alarm") special(SPC_NOMOD) menu(menuYesNo) interest(2) } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { special(SPC_NOMOD) interest(2) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") interest(1) special(SPC_NOMOD) } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") interest(1) special(SPC_NOMOD) } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") interest(1) special(SPC_NOMOD) } field(ASP, DBF_NOACCESS) { prompt("Access Security Pvt") extra("struct asgMember *asp") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { extra("struct processNotify *ppn") prompt("pprocessNotify") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") special(SPC_NOMOD) interest(4) } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of RSET") extra("struct typed_rset *rset") } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { extra("void *dpvt") prompt("Device Private") interest(4) special(SPC_NOMOD) } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { menu(menuPriority) special(SPC_SCAN) interest(1) prompt("Scheduling Priority") promptgroup("20 - Scan") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { prompt("Break Point") extra("char bkpt") special(SPC_NOMOD) interest(1) } field(UDF, DBF_UCHAR) { prompt("Undefined") pp(TRUE) initial("1") promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VAL, DBF_ENUM) { promptgroup("50 - Output") pp(TRUE) prompt("Desired Value") asl(ASL0) special(SPC_DBADDR) } field(DOL, DBF_INLINK) { promptgroup("40 - Input") prompt("Desired Output Loc") interest(1) } field(OMSL, DBF_MENU) { prompt("Output Mode Select") promptgroup("50 - Output") menu(menuOmsl) interest(1) } field(NOBT, DBF_USHORT) { promptgroup("50 - Output") prompt("Number of Bits") interest(1) special(SPC_NOMOD) } field(OUT, DBF_OUTLINK) { promptgroup("50 - Output") prompt("Output Specification") interest(1) } field(ZRVL, DBF_ULONG) { prompt("Zero Value") pp(TRUE) interest(1) base(HEX) promptgroup("51 - Output 0-7") special(SPC_MOD) } field(ONVL, DBF_ULONG) { interest(1) base(HEX) pp(TRUE) prompt("One Value") special(SPC_MOD) promptgroup("51 - Output 0-7") } field(TWVL, DBF_ULONG) { special(SPC_MOD) promptgroup("51 - Output 0-7") base(HEX) interest(1) pp(TRUE) prompt("Two Value") } field(THVL, DBF_ULONG) { promptgroup("51 - Output 0-7") special(SPC_MOD) prompt("Three Value") pp(TRUE) interest(1) base(HEX) } field(FRVL, DBF_ULONG) { promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) prompt("Four Value") base(HEX) interest(1) } field(FVVL, DBF_ULONG) { prompt("Five Value") pp(TRUE) interest(1) base(HEX) promptgroup("51 - Output 0-7") special(SPC_MOD) } field(SXVL, DBF_ULONG) { promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) prompt("Six Value") base(HEX) interest(1) } field(SVVL, DBF_ULONG) { base(HEX) interest(1) prompt("Seven Value") pp(TRUE) special(SPC_MOD) promptgroup("51 - Output 0-7") } field(EIVL, DBF_ULONG) { promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) prompt("Eight Value") base(HEX) interest(1) } field(NIVL, DBF_ULONG) { promptgroup("52 - Output 8-15") special(SPC_MOD) prompt("Nine Value") pp(TRUE) interest(1) base(HEX) } field(TEVL, DBF_ULONG) { promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) prompt("Ten Value") base(HEX) interest(1) } field(ELVL, DBF_ULONG) { promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) prompt("Eleven Value") interest(1) base(HEX) } field(TVVL, DBF_ULONG) { pp(TRUE) prompt("Twelve Value") interest(1) base(HEX) promptgroup("52 - Output 8-15") special(SPC_MOD) } field(TTVL, DBF_ULONG) { pp(TRUE) prompt("Thirteen Value") base(HEX) interest(1) promptgroup("52 - Output 8-15") special(SPC_MOD) } field(FTVL, DBF_ULONG) { special(SPC_MOD) promptgroup("52 - Output 8-15") interest(1) base(HEX) pp(TRUE) prompt("Fourteen Value") } field(FFVL, DBF_ULONG) { special(SPC_MOD) promptgroup("52 - Output 8-15") interest(1) base(HEX) prompt("Fifteen Value") pp(TRUE) } field(ZRST, DBF_STRING) { promptgroup("81 - Display 0-7") special(SPC_MOD) size(26) pp(TRUE) prompt("Zero String") interest(1) } field(ONST, DBF_STRING) { prompt("One String") pp(TRUE) interest(1) promptgroup("81 - Display 0-7") special(SPC_MOD) size(26) } field(TWST, DBF_STRING) { prompt("Two String") pp(TRUE) interest(1) promptgroup("81 - Display 0-7") special(SPC_MOD) size(26) } field(THST, DBF_STRING) { promptgroup("81 - Display 0-7") special(SPC_MOD) size(26) pp(TRUE) prompt("Three String") interest(1) } field(FRST, DBF_STRING) { special(SPC_MOD) size(26) promptgroup("81 - Display 0-7") interest(1) prompt("Four String") pp(TRUE) } field(FVST, DBF_STRING) { special(SPC_MOD) size(26) promptgroup("81 - Display 0-7") interest(1) pp(TRUE) prompt("Five String") } field(SXST, DBF_STRING) { interest(1) prompt("Six String") pp(TRUE) special(SPC_MOD) size(26) promptgroup("81 - Display 0-7") } field(SVST, DBF_STRING) { promptgroup("81 - Display 0-7") special(SPC_MOD) size(26) pp(TRUE) prompt("Seven String") interest(1) } field(EIST, DBF_STRING) { interest(1) pp(TRUE) prompt("Eight String") special(SPC_MOD) size(26) promptgroup("82 - Display 8-15") } field(NIST, DBF_STRING) { interest(1) prompt("Nine String") pp(TRUE) special(SPC_MOD) size(26) promptgroup("82 - Display 8-15") } field(TEST, DBF_STRING) { promptgroup("82 - Display 8-15") special(SPC_MOD) size(26) pp(TRUE) prompt("Ten String") interest(1) } field(ELST, DBF_STRING) { size(26) special(SPC_MOD) promptgroup("82 - Display 8-15") interest(1) pp(TRUE) prompt("Eleven String") } field(TVST, DBF_STRING) { prompt("Twelve String") pp(TRUE) interest(1) promptgroup("82 - Display 8-15") special(SPC_MOD) size(26) } field(TTST, DBF_STRING) { pp(TRUE) prompt("Thirteen String") interest(1) promptgroup("82 - Display 8-15") special(SPC_MOD) size(26) } field(FTST, DBF_STRING) { prompt("Fourteen String") pp(TRUE) interest(1) promptgroup("82 - Display 8-15") size(26) special(SPC_MOD) } field(FFST, DBF_STRING) { promptgroup("82 - Display 8-15") size(26) special(SPC_MOD) pp(TRUE) prompt("Fifteen String") interest(1) } field(ZRSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("71 - Alarm 0-7") prompt("State Zero Severity") pp(TRUE) } field(ONSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("71 - Alarm 0-7") prompt("State One Severity") pp(TRUE) } field(TWSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("State Two Severity") promptgroup("71 - Alarm 0-7") } field(THSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("71 - Alarm 0-7") prompt("State Three Severity") pp(TRUE) } field(FRSV, DBF_MENU) { prompt("State Four Severity") pp(TRUE) promptgroup("71 - Alarm 0-7") menu(menuAlarmSevr) interest(1) } field(FVSV, DBF_MENU) { promptgroup("71 - Alarm 0-7") prompt("State Five Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(SXSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("State Six Severity") promptgroup("71 - Alarm 0-7") } field(SVSV, DBF_MENU) { promptgroup("71 - Alarm 0-7") pp(TRUE) prompt("State Seven Severity") interest(1) menu(menuAlarmSevr) } field(EISV, DBF_MENU) { promptgroup("72 - Alarm 8-15") pp(TRUE) prompt("State Eight Severity") interest(1) menu(menuAlarmSevr) } field(NISV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("State Nine Severity") promptgroup("72 - Alarm 8-15") } field(TESV, DBF_MENU) { promptgroup("72 - Alarm 8-15") prompt("State Ten Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ELSV, DBF_MENU) { promptgroup("72 - Alarm 8-15") pp(TRUE) prompt("State Eleven Severity") interest(1) menu(menuAlarmSevr) } field(TVSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("72 - Alarm 8-15") prompt("State Twelve Severity") pp(TRUE) } field(TTSV, DBF_MENU) { promptgroup("72 - Alarm 8-15") prompt("State Thirteen Sevr") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FTSV, DBF_MENU) { prompt("State Fourteen Sevr") pp(TRUE) promptgroup("72 - Alarm 8-15") menu(menuAlarmSevr) interest(1) } field(FFSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("72 - Alarm 8-15") prompt("State Fifteen Sevr") pp(TRUE) } field(UNSV, DBF_MENU) { promptgroup("70 - Alarm") prompt("Unknown State Sevr") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") pp(TRUE) prompt("Change of State Sevr") } field(RVAL, DBF_ULONG) { pp(TRUE) prompt("Raw Value") } field(ORAW, DBF_ULONG) { special(SPC_NOMOD) interest(3) prompt("Prev Raw Value") } field(RBV, DBF_ULONG) { prompt("Readback Value") special(SPC_NOMOD) } field(ORBV, DBF_ULONG) { prompt("Prev Readback Value") special(SPC_NOMOD) interest(3) } field(MASK, DBF_ULONG) { prompt("Hardware Mask") special(SPC_NOMOD) interest(1) } field(MLST, DBF_USHORT) { interest(3) special(SPC_NOMOD) prompt("Last Value Monitored") } field(LALM, DBF_USHORT) { prompt("Last Value Alarmed") interest(3) special(SPC_NOMOD) } field(SDEF, DBF_SHORT) { interest(3) special(SPC_NOMOD) prompt("States Defined") } field(SHFT, DBF_USHORT) { prompt("Shift") promptgroup("50 - Output") interest(1) } field(SIOL, DBF_OUTLINK) { interest(1) prompt("Simulation Output Link") promptgroup("90 - Simulate") } field(SIML, DBF_INLINK) { interest(1) prompt("Simulation Mode Link") promptgroup("90 - Simulate") } field(SIMM, DBF_MENU) { interest(1) special(SPC_MOD) menu(menuYesNo) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { prompt("Simulation Mode Severity") promptgroup("90 - Simulate") menu(menuAlarmSevr) interest(2) } field(OLDSIMM, DBF_MENU) { interest(4) special(SPC_NOMOD) menu(menuSimm) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { promptgroup("90 - Simulate") initial("65535") prompt("Sim. Mode Scan") interest(1) menu(menuScan) } field(SDLY, DBF_DOUBLE) { interest(2) promptgroup("90 - Simulate") initial("-1.0") prompt("Sim. Mode Async Delay") } field(SIMPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("epicsCallback *simpvt") prompt("Sim. Mode Private") } field(IVOA, DBF_MENU) { interest(2) menu(menuIvoa) promptgroup("50 - Output") prompt("INVALID outpt action") } field(IVOV, DBF_USHORT) { interest(2) promptgroup("50 - Output") prompt("INVALID output value") } } device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") device(mbbo, INST_IO, asynMbboInt32, "asynInt32") device(mbbo, INST_IO, asynMbboUInt32Digital, "asynUInt32Digital") recordtype(state) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { size(29) special(SPC_AS) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") menu(menuScan) special(SPC_SCAN) interest(1) } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { special(SPC_SCAN) interest(1) prompt("Scan Phase") promptgroup("20 - Scan") } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { prompt("Device Type") promptgroup("10 - Common") interest(1) } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") initial("1") prompt("Disable Value") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) pp(TRUE) prompt("Force Processing") } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { prompt("New Alarm Status") menu(menuAlarmStat) special(SPC_NOMOD) interest(2) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) } field(ACKS, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { promptgroup("70 - Alarm") initial("YES") prompt("Alarm Ack Transient") interest(2) menu(menuYesNo) special(SPC_NOMOD) } field(DISS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { prompt("Access Security Pvt") extra("struct asgMember *asp") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { prompt("pprocessNotify") extra("struct processNotify *ppn") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") special(SPC_NOMOD) interest(4) } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") special(SPC_NOMOD) interest(4) } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") special(SPC_NOMOD) interest(4) } field(PRIO, DBF_MENU) { prompt("Scheduling Priority") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuPriority) interest(1) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { extra("char bkpt") prompt("Break Point") interest(1) special(SPC_NOMOD) } field(UDF, DBF_UCHAR) { prompt("Undefined") initial("1") pp(TRUE) promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VAL, DBF_STRING) { promptgroup("40 - Input") prompt("Value") pp(TRUE) asl(ASL0) size(20) } field(OVAL, DBF_STRING) { special(SPC_NOMOD) size(20) interest(3) prompt("Prev Value") } } recordtype(bi) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") special(SPC_NOMOD) size(61) } field(DESC, DBF_STRING) { prompt("Descriptor") promptgroup("10 - Common") size(41) } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") special(SPC_AS) size(29) } field(SCAN, DBF_MENU) { interest(1) menu(menuScan) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { menu(menuPini) interest(1) prompt("Process at iocInit") promptgroup("20 - Scan") } field(PHAS, DBF_SHORT) { prompt("Scan Phase") promptgroup("20 - Scan") special(SPC_SCAN) interest(1) } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { interest(1) prompt("Time Stamp Link") promptgroup("20 - Scan") } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor lock") extra("epicsMutexId mlok") } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { prompt("Backwards link tracking") extra("ELLLIST bklnk") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) prompt("Alarm Status") initial("UDF") } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") interest(2) special(SPC_NOMOD) menu(menuAlarmStat) } field(NSEV, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) } field(ACKT, DBF_MENU) { promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") interest(2) menu(menuYesNo) special(SPC_NOMOD) } field(DISS, DBF_MENU) { prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") interest(1) special(SPC_NOMOD) } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") special(SPC_NOMOD) interest(4) } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { prompt("Address of RSET") extra("struct typed_rset *rset") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { extra("struct dset *dset") prompt("DSET address") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") interest(4) special(SPC_NOMOD) } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") } field(LSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { interest(1) menu(menuPriority) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scheduling Priority") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { prompt("Break Point") extra("char bkpt") special(SPC_NOMOD) interest(1) } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") prompt("Undefined") pp(TRUE) initial("1") interest(1) } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(INP, DBF_INLINK) { prompt("Input Specification") promptgroup("40 - Input") interest(1) } field(VAL, DBF_ENUM) { promptgroup("40 - Input") pp(TRUE) prompt("Current Value") asl(ASL0) } field(ZSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("Zero Error Severity") promptgroup("70 - Alarm") } field(OSV, DBF_MENU) { promptgroup("70 - Alarm") prompt("One Error Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") pp(TRUE) prompt("Change of State Svr") } field(ZNAM, DBF_STRING) { interest(1) size(26) promptgroup("80 - Display") prop(YES) pp(TRUE) prompt("Zero Name") } field(ONAM, DBF_STRING) { size(26) interest(1) pp(TRUE) prompt("One Name") promptgroup("80 - Display") prop(YES) } field(RVAL, DBF_ULONG) { pp(TRUE) prompt("Raw Value") } field(ORAW, DBF_ULONG) { special(SPC_NOMOD) interest(3) prompt("prev Raw Value") } field(MASK, DBF_ULONG) { prompt("Hardware Mask") interest(1) special(SPC_NOMOD) } field(LALM, DBF_USHORT) { prompt("Last Value Alarmed") interest(3) special(SPC_NOMOD) } field(MLST, DBF_USHORT) { prompt("Last Value Monitored") special(SPC_NOMOD) interest(3) } field(SIOL, DBF_INLINK) { prompt("Simulation Input Link") promptgroup("90 - Simulate") interest(1) } field(SVAL, DBF_ULONG) { prompt("Simulation Value") } field(SIML, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Mode Link") interest(1) } field(SIMM, DBF_MENU) { prompt("Simulation Mode") interest(1) menu(menuSimm) special(SPC_MOD) } field(SIMS, DBF_MENU) { prompt("Simulation Mode Severity") promptgroup("90 - Simulate") menu(menuAlarmSevr) interest(2) } field(OLDSIMM, DBF_MENU) { prompt("Prev. Simulation Mode") special(SPC_NOMOD) menu(menuSimm) interest(4) } field(SSCN, DBF_MENU) { menu(menuScan) interest(1) initial("65535") prompt("Sim. Mode Scan") promptgroup("90 - Simulate") } field(SDLY, DBF_DOUBLE) { prompt("Sim. Mode Async Delay") initial("-1.0") promptgroup("90 - Simulate") interest(2) } field(SIMPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsCallback *simpvt") prompt("Sim. Mode Private") } } device(bi, CONSTANT, devBiSoft, "Soft Channel") device(bi, CONSTANT, devBiSoftRaw, "Raw Soft Channel") device(bi, CONSTANT, devBiSoftCallback, "Async Soft Channel") device(bi, INST_IO, devBiDbState, "Db State") device(bi, INST_IO, asynBiInt32, "asynInt32") device(bi, INST_IO, asynBiUInt32Digital, "asynUInt32Digital") recordtype(int64out) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { size(61) special(SPC_NOMOD) prompt("Record Name") } field(DESC, DBF_STRING) { promptgroup("10 - Common") prompt("Descriptor") size(41) } field(ASG, DBF_STRING) { special(SPC_AS) size(29) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuScan) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { special(SPC_SCAN) interest(1) prompt("Scan Phase") promptgroup("20 - Scan") } field(EVNT, DBF_STRING) { prompt("Event Name") promptgroup("20 - Scan") special(SPC_SCAN) size(40) interest(1) } field(TSE, DBF_SHORT) { interest(1) prompt("Time Stamp Event") promptgroup("20 - Scan") } field(TSEL, DBF_INLINK) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Link") } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") interest(4) special(SPC_NOMOD) } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") interest(4) special(SPC_NOMOD) } field(BKLNK, DBF_NOACCESS) { prompt("Backwards link tracking") extra("ELLLIST bklnk") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) interest(2) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { interest(2) menu(menuYesNo) special(SPC_NOMOD) promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") } field(DISS, DBF_MENU) { prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LCNT, DBF_UCHAR) { prompt("Lock Count") interest(2) special(SPC_NOMOD) } field(PACT, DBF_UCHAR) { prompt("Record active") special(SPC_NOMOD) interest(1) } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") special(SPC_NOMOD) interest(1) } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { prompt("pprocessNotify") extra("struct processNotify *ppn") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") interest(4) special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { prompt("Scan Private") extra("struct scan_element *spvt") special(SPC_NOMOD) interest(4) } field(RSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct typed_rset *rset") prompt("Address of RSET") } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") interest(4) special(SPC_NOMOD) } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") } field(LSET, DBF_NOACCESS) { extra("struct lockRecord *lset") prompt("Lock Set") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuPriority) promptgroup("20 - Scan") prompt("Scheduling Priority") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) prompt("Break Point") extra("char bkpt") } field(UDF, DBF_UCHAR) { interest(1) promptgroup("10 - Common") prompt("Undefined") initial("1") pp(TRUE) } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Undefined Alarm Sevrty") initial("INVALID") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { extra("epicsTimeStamp time") prompt("Time") special(SPC_NOMOD) interest(2) } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_INT64) { asl(ASL0) promptgroup("50 - Output") pp(TRUE) prompt("Desired Output") } field(OUT, DBF_OUTLINK) { promptgroup("50 - Output") prompt("Output Specification") interest(1) } field(DOL, DBF_INLINK) { interest(1) prompt("Desired Output Loc") promptgroup("40 - Input") } field(OMSL, DBF_MENU) { menu(menuOmsl) interest(1) prompt("Output Mode Select") promptgroup("50 - Output") } field(EGU, DBF_STRING) { prompt("Units name") prop(YES) promptgroup("80 - Display") size(16) interest(1) } field(DRVH, DBF_INT64) { interest(1) prompt("Drive High Limit") pp(TRUE) prop(YES) promptgroup("30 - Action") } field(DRVL, DBF_INT64) { prop(YES) promptgroup("30 - Action") prompt("Drive Low Limit") pp(TRUE) interest(1) } field(HOPR, DBF_INT64) { interest(1) prop(YES) promptgroup("80 - Display") prompt("High Operating Range") } field(LOPR, DBF_INT64) { interest(1) promptgroup("80 - Display") prop(YES) prompt("Low Operating Range") } field(HIHI, DBF_INT64) { prompt("Hihi Alarm Limit") pp(TRUE) prop(YES) promptgroup("70 - Alarm") interest(1) } field(LOLO, DBF_INT64) { interest(1) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Lolo Alarm Limit") } field(HIGH, DBF_INT64) { pp(TRUE) prompt("High Alarm Limit") promptgroup("70 - Alarm") prop(YES) interest(1) } field(LOW, DBF_INT64) { prompt("Low Alarm Limit") pp(TRUE) prop(YES) promptgroup("70 - Alarm") interest(1) } field(HHSV, DBF_MENU) { pp(TRUE) prompt("Hihi Severity") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LLSV, DBF_MENU) { pp(TRUE) prompt("Lolo Severity") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(HSV, DBF_MENU) { prompt("High Severity") pp(TRUE) promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Low Severity") pp(TRUE) } field(HYST, DBF_INT64) { interest(1) prompt("Alarm Deadband") promptgroup("70 - Alarm") } field(ADEL, DBF_INT64) { interest(1) promptgroup("80 - Display") prompt("Archive Deadband") } field(MDEL, DBF_INT64) { prompt("Monitor Deadband") promptgroup("80 - Display") interest(1) } field(LALM, DBF_INT64) { prompt("Last Value Alarmed") interest(3) special(SPC_NOMOD) } field(ALST, DBF_INT64) { interest(3) special(SPC_NOMOD) prompt("Last Value Archived") } field(MLST, DBF_INT64) { special(SPC_NOMOD) interest(3) prompt("Last Val Monitored") } field(SIOL, DBF_OUTLINK) { prompt("Simulation Output Link") promptgroup("90 - Simulate") interest(1) } field(SIML, DBF_INLINK) { interest(1) promptgroup("90 - Simulate") prompt("Simulation Mode Link") } field(SIMM, DBF_MENU) { menu(menuYesNo) special(SPC_MOD) interest(1) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { menu(menuAlarmSevr) interest(2) prompt("Simulation Mode Severity") promptgroup("90 - Simulate") } field(OLDSIMM, DBF_MENU) { interest(4) special(SPC_NOMOD) menu(menuSimm) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { promptgroup("90 - Simulate") prompt("Sim. Mode Scan") initial("65535") interest(1) menu(menuScan) } field(SDLY, DBF_DOUBLE) { promptgroup("90 - Simulate") initial("-1.0") prompt("Sim. Mode Async Delay") interest(2) } field(SIMPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Sim. Mode Private") extra("epicsCallback *simpvt") } field(IVOA, DBF_MENU) { menu(menuIvoa) interest(2) prompt("INVALID output action") promptgroup("50 - Output") } field(IVOV, DBF_INT64) { interest(2) prompt("INVALID output value") promptgroup("50 - Output") } } device(int64out, CONSTANT, devI64outSoft, "Soft Channel") device(int64out, CONSTANT, devI64outSoftCallback, "Async Soft Channel") device(int64out, INST_IO, asynInt64Out, "asynInt64") recordtype(stringin) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { special(SPC_AS) size(29) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuScan) interest(1) } field(PINI, DBF_MENU) { interest(1) menu(menuPini) promptgroup("20 - Scan") prompt("Process at iocInit") } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { special(SPC_SCAN) size(40) interest(1) prompt("Event Name") promptgroup("20 - Scan") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor List") extra("ELLLIST mlis") } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) pp(TRUE) prompt("Force Processing") } field(STAT, DBF_MENU) { initial("UDF") prompt("Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) interest(2) } field(NSEV, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { promptgroup("70 - Alarm") initial("YES") prompt("Alarm Ack Transient") interest(2) menu(menuYesNo) special(SPC_NOMOD) } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") interest(1) special(SPC_NOMOD) } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") } field(SPVT, DBF_NOACCESS) { prompt("Scan Private") extra("struct scan_element *spvt") interest(4) special(SPC_NOMOD) } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") special(SPC_NOMOD) interest(4) } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct dset *dset") prompt("DSET address") } field(DPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("void *dpvt") prompt("Device Private") } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") special(SPC_NOMOD) interest(4) } field(LSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { interest(1) menu(menuPriority) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scheduling Priority") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { prompt("Break Point") extra("char bkpt") special(SPC_NOMOD) interest(1) } field(UDF, DBF_UCHAR) { initial("1") pp(TRUE) prompt("Undefined") promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VAL, DBF_STRING) { asl(ASL0) size(40) promptgroup("40 - Input") prompt("Current Value") pp(TRUE) } field(OVAL, DBF_STRING) { prompt("Previous Value") interest(3) special(SPC_NOMOD) size(40) } field(INP, DBF_INLINK) { promptgroup("40 - Input") prompt("Input Specification") interest(1) } field(MPST, DBF_MENU) { menu(stringinPOST) interest(1) prompt("Post Value Monitors") promptgroup("80 - Display") } field(APST, DBF_MENU) { prompt("Post Archive Monitors") promptgroup("80 - Display") menu(stringinPOST) interest(1) } field(SIOL, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Input Link") interest(1) } field(SVAL, DBF_STRING) { size(40) pp(TRUE) prompt("Simulation Value") } field(SIML, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Mode Link") interest(1) } field(SIMM, DBF_MENU) { prompt("Simulation Mode") interest(1) special(SPC_MOD) menu(menuYesNo) } field(SIMS, DBF_MENU) { prompt("Simulation Mode Severity") promptgroup("90 - Simulate") menu(menuAlarmSevr) interest(2) } field(OLDSIMM, DBF_MENU) { interest(4) special(SPC_NOMOD) menu(menuSimm) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { interest(1) menu(menuScan) promptgroup("90 - Simulate") prompt("Sim. Mode Scan") initial("65535") } field(SDLY, DBF_DOUBLE) { initial("-1.0") prompt("Sim. Mode Async Delay") promptgroup("90 - Simulate") interest(2) } field(SIMPVT, DBF_NOACCESS) { extra("epicsCallback *simpvt") prompt("Sim. Mode Private") interest(4) special(SPC_NOMOD) } } device(stringin, CONSTANT, devSiSoft, "Soft Channel") device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") device(stringin, INST_IO, devSiGeneralTime, "General Time") device(stringin, INST_IO, devSiEnviron, "getenv") device(stringin, INST_IO, asynSiOctetCmdResponse, "asynOctetCmdResponse") device(stringin, INST_IO, asynSiOctetWriteRead, "asynOctetWriteRead") device(stringin, INST_IO, asynSiOctetRead, "asynOctetRead") recordtype(aao) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { special(SPC_AS) size(29) promptgroup("10 - Common") prompt("Access Security Group") } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") menu(menuScan) special(SPC_SCAN) interest(1) } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { promptgroup("20 - Scan") prompt("Event Name") interest(1) size(40) special(SPC_SCAN) } field(TSE, DBF_SHORT) { prompt("Time Stamp Event") promptgroup("20 - Scan") interest(1) } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { prompt("Monitor lock") extra("epicsMutexId mlok") interest(4) special(SPC_NOMOD) } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Backwards link tracking") extra("ELLLIST bklnk") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { pp(TRUE) prompt("Force Processing") interest(3) } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) prompt("Alarm Status") initial("UDF") } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { interest(2) menu(menuAlarmStat) special(SPC_NOMOD) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") interest(2) special(SPC_NOMOD) menu(menuYesNo) } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Record active") } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") interest(1) special(SPC_NOMOD) } field(RPRO, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { extra("struct processNotify *ppn") prompt("pprocessNotify") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") special(SPC_NOMOD) interest(4) } field(SPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct typed_rset *rset") prompt("Address of RSET") } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { extra("void *dpvt") prompt("Device Private") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { special(SPC_SCAN) menu(menuPriority) interest(1) prompt("Scheduling Priority") promptgroup("20 - Scan") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { extra("char bkpt") prompt("Break Point") special(SPC_NOMOD) interest(1) } field(UDF, DBF_UCHAR) { interest(1) promptgroup("10 - Common") prompt("Undefined") pp(TRUE) initial("1") } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") } field(TIME, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VAL, DBF_NOACCESS) { pp(TRUE) extra("void * val") prompt("Value") special(SPC_DBADDR) asl(ASL0) } field(PREC, DBF_SHORT) { prompt("Display Precision") prop(YES) promptgroup("80 - Display") interest(1) } field(OUT, DBF_OUTLINK) { promptgroup("50 - Output") prompt("Output Specification") interest(1) } field(EGU, DBF_STRING) { interest(1) size(16) prop(YES) promptgroup("80 - Display") prompt("Engineering Units") } field(HOPR, DBF_DOUBLE) { prompt("High Operating Range") promptgroup("80 - Display") prop(YES) interest(1) } field(LOPR, DBF_DOUBLE) { interest(1) promptgroup("80 - Display") prop(YES) prompt("Low Operating Range") } field(NELM, DBF_ULONG) { special(SPC_NOMOD) interest(1) prompt("Number of Elements") initial("1") promptgroup("30 - Action") } field(FTVL, DBF_MENU) { interest(1) menu(menuFtype) special(SPC_NOMOD) promptgroup("30 - Action") prompt("Field Type of Value") } field(NORD, DBF_ULONG) { special(SPC_NOMOD) prompt("Number elements read") } field(BPTR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Buffer Pointer") extra("void * bptr") } field(SIML, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Mode Link") interest(1) } field(SIMM, DBF_MENU) { menu(menuYesNo) special(SPC_MOD) interest(1) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { interest(2) menu(menuAlarmSevr) promptgroup("90 - Simulate") prompt("Simulation Mode Severity") } field(SIOL, DBF_OUTLINK) { interest(1) prompt("Simulation Output Link") promptgroup("90 - Simulate") } field(OLDSIMM, DBF_MENU) { menu(menuSimm) special(SPC_NOMOD) interest(4) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { interest(1) menu(menuScan) promptgroup("90 - Simulate") prompt("Sim. Mode Scan") initial("65535") } field(SDLY, DBF_DOUBLE) { prompt("Sim. Mode Async Delay") initial("-1.0") promptgroup("90 - Simulate") interest(2) } field(SIMPVT, DBF_NOACCESS) { extra("epicsCallback *simpvt") prompt("Sim. Mode Private") special(SPC_NOMOD) interest(4) } field(MPST, DBF_MENU) { prompt("Post Value Monitors") promptgroup("80 - Display") menu(aaoPOST) interest(1) } field(APST, DBF_MENU) { promptgroup("80 - Display") prompt("Post Archive Monitors") interest(1) menu(aaoPOST) } field(HASH, DBF_ULONG) { interest(3) prompt("Hash of OnChange data.") } } device(aao, CONSTANT, devAaoSoft, "Soft Channel") recordtype(mbboDirect) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { promptgroup("10 - Common") prompt("Descriptor") size(41) } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") size(29) special(SPC_AS) } field(SCAN, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuScan) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { prompt("Scan Phase") promptgroup("20 - Scan") special(SPC_SCAN) interest(1) } field(EVNT, DBF_STRING) { interest(1) special(SPC_SCAN) size(40) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) prompt("Time Stamp Event") promptgroup("20 - Scan") } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") interest(4) special(SPC_NOMOD) } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") interest(4) special(SPC_NOMOD) } field(BKLNK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST bklnk") prompt("Backwards link tracking") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) prompt("Force Processing") pp(TRUE) } field(STAT, DBF_MENU) { prompt("Alarm Status") initial("UDF") special(SPC_NOMOD) menu(menuAlarmStat) } field(SEVR, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { prompt("New Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) interest(2) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKS, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { menu(menuYesNo) special(SPC_NOMOD) interest(2) initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { special(SPC_NOMOD) interest(2) prompt("Lock Count") } field(PACT, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Record active") } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") special(SPC_NOMOD) interest(1) } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") interest(1) special(SPC_NOMOD) } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { extra("struct processNotify *ppn") prompt("pprocessNotify") special(SPC_NOMOD) interest(4) } field(PPNR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") interest(4) special(SPC_NOMOD) } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of RSET") extra("struct typed_rset *rset") } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") special(SPC_NOMOD) interest(4) } field(PRIO, DBF_MENU) { prompt("Scheduling Priority") promptgroup("20 - Scan") menu(menuPriority) special(SPC_SCAN) interest(1) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { interest(1) prompt("Undefined") initial("1") pp(TRUE) promptgroup("10 - Common") } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Undefined Alarm Sevrty") initial("INVALID") } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") interest(2) special(SPC_NOMOD) } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_LONG) { asl(ASL0) promptgroup("50 - Output") pp(TRUE) prompt("Word") } field(OMSL, DBF_MENU) { promptgroup("50 - Output") menu(menuOmsl) special(SPC_RESET) pp(TRUE) prompt("Output Mode Select") interest(1) } field(NOBT, DBF_SHORT) { promptgroup("50 - Output") prompt("Number of Bits") interest(1) special(SPC_NOMOD) } field(DOL, DBF_INLINK) { promptgroup("40 - Input") prompt("Desired Output Loc") interest(1) } field(OUT, DBF_OUTLINK) { interest(1) prompt("Output Specification") promptgroup("50 - Output") } field(RVAL, DBF_ULONG) { prompt("Raw Value") pp(TRUE) special(SPC_NOMOD) } field(ORAW, DBF_ULONG) { special(SPC_NOMOD) interest(3) prompt("Prev Raw Value") } field(RBV, DBF_ULONG) { prompt("Readback Value") special(SPC_NOMOD) } field(ORBV, DBF_ULONG) { prompt("Prev Readback Value") special(SPC_NOMOD) interest(3) } field(MASK, DBF_ULONG) { prompt("Hardware Mask") interest(1) special(SPC_NOMOD) } field(MLST, DBF_LONG) { interest(3) special(SPC_NOMOD) prompt("Last Value Monitored") } field(SHFT, DBF_USHORT) { interest(1) promptgroup("50 - Output") prompt("Shift") } field(SIOL, DBF_OUTLINK) { promptgroup("90 - Simulate") prompt("Simulation Output Link") interest(1) } field(SIML, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Mode Link") interest(1) } field(SIMM, DBF_MENU) { prompt("Simulation Mode") interest(1) special(SPC_MOD) menu(menuYesNo) } field(SIMS, DBF_MENU) { menu(menuAlarmSevr) interest(2) prompt("Simulation Mode Severity") promptgroup("90 - Simulate") } field(OLDSIMM, DBF_MENU) { prompt("Prev. Simulation Mode") special(SPC_NOMOD) menu(menuSimm) interest(4) } field(SSCN, DBF_MENU) { menu(menuScan) interest(1) initial("65535") prompt("Sim. Mode Scan") promptgroup("90 - Simulate") } field(SDLY, DBF_DOUBLE) { interest(2) prompt("Sim. Mode Async Delay") initial("-1.0") promptgroup("90 - Simulate") } field(SIMPVT, DBF_NOACCESS) { extra("epicsCallback *simpvt") prompt("Sim. Mode Private") special(SPC_NOMOD) interest(4) } field(IVOA, DBF_MENU) { promptgroup("50 - Output") prompt("INVALID outpt action") interest(2) menu(menuIvoa) } field(IVOV, DBF_LONG) { promptgroup("50 - Output") prompt("INVALID output value") interest(2) } field(B0, DBF_UCHAR) { pp(TRUE) prompt("Bit 0") promptgroup("51 - Output 0-7") special(SPC_MOD) interest(1) } field(B1, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("51 - Output 0-7") pp(TRUE) prompt("Bit 1") } field(B2, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("51 - Output 0-7") prompt("Bit 2") pp(TRUE) } field(B3, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("51 - Output 0-7") pp(TRUE) prompt("Bit 3") } field(B4, DBF_UCHAR) { prompt("Bit 4") pp(TRUE) promptgroup("51 - Output 0-7") special(SPC_MOD) interest(1) } field(B5, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("51 - Output 0-7") pp(TRUE) prompt("Bit 5") } field(B6, DBF_UCHAR) { promptgroup("51 - Output 0-7") pp(TRUE) prompt("Bit 6") interest(1) special(SPC_MOD) } field(B7, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("51 - Output 0-7") prompt("Bit 7") pp(TRUE) } field(B8, DBF_UCHAR) { promptgroup("52 - Output 8-15") pp(TRUE) prompt("Bit 8") interest(1) special(SPC_MOD) } field(B9, DBF_UCHAR) { promptgroup("52 - Output 8-15") pp(TRUE) prompt("Bit 9") interest(1) special(SPC_MOD) } field(BA, DBF_UCHAR) { special(SPC_MOD) interest(1) pp(TRUE) prompt("Bit 10") promptgroup("52 - Output 8-15") } field(BB, DBF_UCHAR) { special(SPC_MOD) interest(1) pp(TRUE) prompt("Bit 11") promptgroup("52 - Output 8-15") } field(BC, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("52 - Output 8-15") prompt("Bit 12") pp(TRUE) } field(BD, DBF_UCHAR) { promptgroup("52 - Output 8-15") pp(TRUE) prompt("Bit 13") interest(1) special(SPC_MOD) } field(BE, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("52 - Output 8-15") pp(TRUE) prompt("Bit 14") } field(BF, DBF_UCHAR) { special(SPC_MOD) interest(1) prompt("Bit 15") pp(TRUE) promptgroup("52 - Output 8-15") } field(B10, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("53 - Output 16-23") prompt("Bit 16") pp(TRUE) } field(B11, DBF_UCHAR) { pp(TRUE) prompt("Bit 17") promptgroup("53 - Output 16-23") special(SPC_MOD) interest(1) } field(B12, DBF_UCHAR) { promptgroup("53 - Output 16-23") prompt("Bit 18") pp(TRUE) interest(1) special(SPC_MOD) } field(B13, DBF_UCHAR) { special(SPC_MOD) interest(1) pp(TRUE) prompt("Bit 19") promptgroup("53 - Output 16-23") } field(B14, DBF_UCHAR) { pp(TRUE) prompt("Bit 20") promptgroup("53 - Output 16-23") special(SPC_MOD) interest(1) } field(B15, DBF_UCHAR) { pp(TRUE) prompt("Bit 21") promptgroup("53 - Output 16-23") special(SPC_MOD) interest(1) } field(B16, DBF_UCHAR) { special(SPC_MOD) interest(1) pp(TRUE) prompt("Bit 22") promptgroup("53 - Output 16-23") } field(B17, DBF_UCHAR) { promptgroup("53 - Output 16-23") pp(TRUE) prompt("Bit 23") interest(1) special(SPC_MOD) } field(B18, DBF_UCHAR) { special(SPC_MOD) interest(1) prompt("Bit 24") pp(TRUE) promptgroup("54 - Output 24-31") } field(B19, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("54 - Output 24-31") pp(TRUE) prompt("Bit 25") } field(B1A, DBF_UCHAR) { special(SPC_MOD) interest(1) pp(TRUE) prompt("Bit 26") promptgroup("54 - Output 24-31") } field(B1B, DBF_UCHAR) { prompt("Bit 27") pp(TRUE) promptgroup("54 - Output 24-31") special(SPC_MOD) interest(1) } field(B1C, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("54 - Output 24-31") prompt("Bit 28") pp(TRUE) } field(B1D, DBF_UCHAR) { prompt("Bit 29") pp(TRUE) promptgroup("54 - Output 24-31") special(SPC_MOD) interest(1) } field(B1E, DBF_UCHAR) { special(SPC_MOD) interest(1) prompt("Bit 30") pp(TRUE) promptgroup("54 - Output 24-31") } field(B1F, DBF_UCHAR) { interest(1) special(SPC_MOD) promptgroup("54 - Output 24-31") pp(TRUE) prompt("Bit 31") } } device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") device(mbboDirect, INST_IO, asynMbboDirectUInt32Digital, "asynUInt32Digital") recordtype(printf) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "devSup.h" % %/* Declare Device Support Entry Table */ %typedef struct printfdset { % long number; % DEVSUPFUN report; % DEVSUPFUN init; % DEVSUPFUN init_record; % DEVSUPFUN get_ioint_info; % DEVSUPFUN write_string; %} printfdset; % %/* Number of INPx fields defined */ %#define PRINTF_NLINKS 10 field(NAME, DBF_STRING) { size(61) special(SPC_NOMOD) prompt("Record Name") } field(DESC, DBF_STRING) { size(41) prompt("Descriptor") promptgroup("10 - Common") } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") special(SPC_AS) size(29) } field(SCAN, DBF_MENU) { special(SPC_SCAN) menu(menuScan) interest(1) prompt("Scan Mechanism") promptgroup("20 - Scan") } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { special(SPC_SCAN) size(40) interest(1) prompt("Event Name") promptgroup("20 - Scan") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) promptgroup("20 - Scan") prompt("Scanning Disable") } field(MLOK, DBF_NOACCESS) { prompt("Monitor lock") extra("epicsMutexId mlok") special(SPC_NOMOD) interest(4) } field(MLIS, DBF_NOACCESS) { extra("ELLLIST mlis") prompt("Monitor List") interest(4) special(SPC_NOMOD) } field(BKLNK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Backwards link tracking") extra("ELLLIST bklnk") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) pp(TRUE) prompt("Force Processing") } field(STAT, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { prompt("Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) interest(2) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKS, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") menu(menuYesNo) special(SPC_NOMOD) interest(2) } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { special(SPC_NOMOD) interest(2) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") interest(1) special(SPC_NOMOD) } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") special(SPC_NOMOD) interest(1) } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") interest(1) special(SPC_NOMOD) } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") interest(4) special(SPC_NOMOD) } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of RSET") extra("struct typed_rset *rset") } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") interest(4) special(SPC_NOMOD) } field(DPVT, DBF_NOACCESS) { extra("void *dpvt") prompt("Device Private") interest(4) special(SPC_NOMOD) } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { prompt("Scheduling Priority") promptgroup("20 - Scan") menu(menuPriority) special(SPC_SCAN) interest(1) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) prompt("Break Point") extra("char bkpt") } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") prompt("Undefined") initial("1") pp(TRUE) interest(1) } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { promptgroup("20 - Scan") prompt("Forward Process Link") interest(1) } field(VAL, DBF_NOACCESS) { special(SPC_DBADDR) asl(ASL0) pp(TRUE) extra("char *val") prompt("Result") } field(SIZV, DBF_USHORT) { special(SPC_NOMOD) interest(1) prompt("Size of VAL buffer") initial("41") promptgroup("30 - Action") } field(LEN, DBF_ULONG) { special(SPC_NOMOD) prompt("Length of VAL") } field(OUT, DBF_OUTLINK) { prompt("Output Specification") promptgroup("50 - Output") interest(1) } field(FMT, DBF_STRING) { prompt("Format String") pp(TRUE) promptgroup("30 - Action") size(81) } field(IVLS, DBF_STRING) { promptgroup("30 - Action") initial("LNK") prompt("Invalid Link String") size(16) } field(INP0, DBF_INLINK) { prompt("Input 0") promptgroup("40 - Input") interest(1) } field(INP1, DBF_INLINK) { promptgroup("40 - Input") prompt("Input 1") interest(1) } field(INP2, DBF_INLINK) { interest(1) promptgroup("40 - Input") prompt("Input 2") } field(INP3, DBF_INLINK) { interest(1) prompt("Input 3") promptgroup("40 - Input") } field(INP4, DBF_INLINK) { interest(1) promptgroup("40 - Input") prompt("Input 4") } field(INP5, DBF_INLINK) { promptgroup("40 - Input") prompt("Input 5") interest(1) } field(INP6, DBF_INLINK) { interest(1) promptgroup("40 - Input") prompt("Input 6") } field(INP7, DBF_INLINK) { interest(1) promptgroup("40 - Input") prompt("Input 7") } field(INP8, DBF_INLINK) { interest(1) prompt("Input 8") promptgroup("40 - Input") } field(INP9, DBF_INLINK) { interest(1) prompt("Input 9") promptgroup("40 - Input") } } device(printf, CONSTANT, devPrintfSoft, "Soft Channel") device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") device(printf, INST_IO, devPrintfStdio, "stdio") recordtype(permissive) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { special(SPC_AS) size(29) promptgroup("10 - Common") prompt("Access Security Group") } field(SCAN, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuScan) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) prompt("Time Stamp Event") promptgroup("20 - Scan") } field(TSEL, DBF_INLINK) { interest(1) prompt("Time Stamp Link") promptgroup("20 - Scan") } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") interest(4) special(SPC_NOMOD) } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { prompt("Backwards link tracking") extra("ELLLIST bklnk") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) prompt("Force Processing") pp(TRUE) } field(STAT, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { prompt("New Alarm Status") interest(2) menu(menuAlarmStat) special(SPC_NOMOD) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) } field(ACKS, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { interest(2) menu(menuYesNo) special(SPC_NOMOD) promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") special(SPC_NOMOD) interest(1) } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") interest(1) special(SPC_NOMOD) } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") interest(1) special(SPC_NOMOD) } field(ASP, DBF_NOACCESS) { prompt("Access Security Pvt") extra("struct asgMember *asp") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { extra("struct processNotify *ppn") prompt("pprocessNotify") special(SPC_NOMOD) interest(4) } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") interest(4) special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct scan_element *spvt") prompt("Scan Private") } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct dset *dset") prompt("DSET address") } field(DPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") } field(LSET, DBF_NOACCESS) { extra("struct lockRecord *lset") prompt("Lock Set") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) special(SPC_SCAN) menu(menuPriority) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { extra("char bkpt") prompt("Break Point") special(SPC_NOMOD) interest(1) } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") pp(TRUE) initial("1") prompt("Undefined") interest(1) } field(UDFS, DBF_MENU) { promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(TIME, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VAL, DBF_USHORT) { asl(ASL0) promptgroup("40 - Input") pp(TRUE) prompt("Status") } field(WFLG, DBF_USHORT) { prompt("Wait Flag") pp(TRUE) } field(LABL, DBF_STRING) { size(20) interest(1) pp(TRUE) prompt("Button Label") promptgroup("80 - Display") } field(OVAL, DBF_USHORT) { prompt("Old Status") interest(3) special(SPC_NOMOD) } field(OFLG, DBF_USHORT) { prompt("Old Flag") special(SPC_NOMOD) interest(3) } } recordtype(waveform) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { prompt("Descriptor") promptgroup("10 - Common") size(41) } field(ASG, DBF_STRING) { size(29) special(SPC_AS) promptgroup("10 - Common") prompt("Access Security Group") } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuScan) interest(1) } field(PINI, DBF_MENU) { menu(menuPini) interest(1) prompt("Process at iocInit") promptgroup("20 - Scan") } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) pp(TRUE) prompt("Force Processing") } field(STAT, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { interest(2) menu(menuAlarmStat) special(SPC_NOMOD) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) } field(ACKS, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") interest(2) special(SPC_NOMOD) menu(menuYesNo) } field(DISS, DBF_MENU) { prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") special(SPC_NOMOD) interest(1) } field(PUTF, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") special(SPC_NOMOD) interest(1) } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") special(SPC_NOMOD) interest(4) } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of RSET") extra("struct typed_rset *rset") } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { extra("void *dpvt") prompt("Device Private") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { prompt("Scheduling Priority") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuPriority) interest(1) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { extra("char bkpt") prompt("Break Point") special(SPC_NOMOD) interest(1) } field(UDF, DBF_UCHAR) { interest(1) promptgroup("10 - Common") initial("1") pp(TRUE) prompt("Undefined") } field(UDFS, DBF_MENU) { initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") interest(2) special(SPC_NOMOD) } field(FLNK, DBF_FWDLINK) { promptgroup("20 - Scan") prompt("Forward Process Link") interest(1) } field(VAL, DBF_NOACCESS) { prompt("Value") pp(TRUE) extra("void * val") special(SPC_DBADDR) asl(ASL0) } field(RARM, DBF_SHORT) { prompt("Rearm the waveform") pp(TRUE) promptgroup("30 - Action") interest(1) } field(PREC, DBF_SHORT) { interest(1) prompt("Display Precision") prop(YES) promptgroup("80 - Display") } field(INP, DBF_INLINK) { promptgroup("40 - Input") prompt("Input Specification") interest(1) } field(EGU, DBF_STRING) { prompt("Engineering Units") promptgroup("80 - Display") prop(YES) size(16) interest(1) } field(HOPR, DBF_DOUBLE) { prompt("High Operating Range") promptgroup("80 - Display") prop(YES) interest(1) } field(LOPR, DBF_DOUBLE) { prop(YES) promptgroup("80 - Display") prompt("Low Operating Range") interest(1) } field(NELM, DBF_ULONG) { initial("1") prompt("Number of Elements") promptgroup("30 - Action") special(SPC_NOMOD) interest(1) } field(FTVL, DBF_MENU) { menu(menuFtype) special(SPC_NOMOD) interest(1) prompt("Field Type of Value") promptgroup("30 - Action") } field(BUSY, DBF_SHORT) { prompt("Busy Indicator") special(SPC_NOMOD) } field(NORD, DBF_ULONG) { prompt("Number elements read") special(SPC_NOMOD) } field(BPTR, DBF_NOACCESS) { prompt("Buffer Pointer") extra("void * bptr") special(SPC_NOMOD) interest(4) } field(SIOL, DBF_INLINK) { interest(1) promptgroup("90 - Simulate") prompt("Simulation Input Link") } field(SIML, DBF_INLINK) { interest(1) prompt("Simulation Mode Link") promptgroup("90 - Simulate") } field(SIMM, DBF_MENU) { interest(1) special(SPC_MOD) menu(menuYesNo) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { prompt("Simulation Mode Severity") promptgroup("90 - Simulate") menu(menuAlarmSevr) interest(2) } field(OLDSIMM, DBF_MENU) { prompt("Prev. Simulation Mode") special(SPC_NOMOD) menu(menuSimm) interest(4) } field(SSCN, DBF_MENU) { prompt("Sim. Mode Scan") initial("65535") promptgroup("90 - Simulate") menu(menuScan) interest(1) } field(SDLY, DBF_DOUBLE) { promptgroup("90 - Simulate") prompt("Sim. Mode Async Delay") initial("-1.0") interest(2) } field(SIMPVT, DBF_NOACCESS) { prompt("Sim. Mode Private") extra("epicsCallback *simpvt") special(SPC_NOMOD) interest(4) } field(MPST, DBF_MENU) { interest(1) menu(waveformPOST) promptgroup("80 - Display") prompt("Post Value Monitors") } field(APST, DBF_MENU) { menu(waveformPOST) interest(1) prompt("Post Archive Monitors") promptgroup("80 - Display") } field(HASH, DBF_ULONG) { interest(3) prompt("Hash of OnChange data.") } } device(waveform, CONSTANT, devWfSoft, "Soft Channel") device(waveform, INST_IO, asynWfOctetCmdResponse, "asynOctetCmdResponse") device(waveform, INST_IO, asynWfOctetWriteRead, "asynOctetWriteRead") device(waveform, INST_IO, asynWfOctetRead, "asynOctetRead") device(waveform, INST_IO, asynWfOctetWrite, "asynOctetWrite") device(waveform, INST_IO, asynWfOctetWriteBinary, "asynOctetWriteBinary") device(waveform, INST_IO, asynInt8ArrayWfIn, "asynInt8ArrayIn") device(waveform, INST_IO, asynInt8ArrayWfOut, "asynInt8ArrayOut") device(waveform, INST_IO, asynInt16ArrayWfIn, "asynInt16ArrayIn") device(waveform, INST_IO, asynInt16ArrayWfOut, "asynInt16ArrayOut") device(waveform, INST_IO, asynInt32ArrayWfIn, "asynInt32ArrayIn") device(waveform, INST_IO, asynInt32ArrayWfOut, "asynInt32ArrayOut") device(waveform, INST_IO, asynInt32TimeSeries, "asynInt32TimeSeries") device(waveform, INST_IO, asynFloat32ArrayWfIn, "asynFloat32ArrayIn") device(waveform, INST_IO, asynFloat32ArrayWfOut, "asynFloat32ArrayOut") device(waveform, INST_IO, asynFloat64ArrayWfIn, "asynFloat64ArrayIn") device(waveform, INST_IO, asynFloat64ArrayWfOut, "asynFloat64ArrayOut") device(waveform, INST_IO, asynFloat64TimeSeries, "asynFloat64TimeSeries") device(waveform, INST_IO, asynInt64ArrayWfIn, "asynInt64ArrayIn") device(waveform, INST_IO, asynInt64ArrayWfOut, "asynInt64ArrayOut") device(waveform, INST_IO, asynInt64TimeSeries, "asynInt64TimeSeries") recordtype(asyn) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { promptgroup("10 - Common") prompt("Descriptor") size(41) } field(ASG, DBF_STRING) { special(SPC_AS) size(29) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuScan) interest(1) } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) prompt("Time Stamp Event") promptgroup("20 - Scan") } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { prompt("Monitor lock") extra("epicsMutexId mlok") special(SPC_NOMOD) interest(4) } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor List") extra("ELLLIST mlis") } field(BKLNK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("ELLLIST bklnk") prompt("Backwards link tracking") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) prompt("Force Processing") pp(TRUE) } field(STAT, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) prompt("Alarm Status") initial("UDF") } field(SEVR, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { prompt("New Alarm Status") menu(menuAlarmStat) special(SPC_NOMOD) interest(2) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKT, DBF_MENU) { interest(2) menu(menuYesNo) special(SPC_NOMOD) promptgroup("70 - Alarm") initial("YES") prompt("Alarm Ack Transient") } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { prompt("Lock Count") interest(2) special(SPC_NOMOD) } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") special(SPC_NOMOD) interest(1) } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") special(SPC_NOMOD) interest(1) } field(ASP, DBF_NOACCESS) { extra("struct asgMember *asp") prompt("Access Security Pvt") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") special(SPC_NOMOD) interest(4) } field(SPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of RSET") extra("struct typed_rset *rset") } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("void *dpvt") prompt("Device Private") } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Lock Set") extra("struct lockRecord *lset") } field(PRIO, DBF_MENU) { prompt("Scheduling Priority") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuPriority) interest(1) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { prompt("Break Point") extra("char bkpt") interest(1) special(SPC_NOMOD) } field(UDF, DBF_UCHAR) { interest(1) initial("1") pp(TRUE) prompt("Undefined") promptgroup("10 - Common") } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VAL, DBF_LONG) { asl(ASL0) interest(4) prompt("Value field (unused)") } field(PORT, DBF_STRING) { initial("") prompt("asyn port") interest(1) promptgroup("40 - Input") size(40) special(SPC_MOD) } field(ADDR, DBF_LONG) { interest(1) special(SPC_MOD) promptgroup("40 - Input") prompt("asyn address") initial("0") } field(PCNCT, DBF_MENU) { menu(asynCONNECT) special(SPC_MOD) interest(2) prompt("Port Connect/Disconnect") } field(DRVINFO, DBF_STRING) { size(40) special(SPC_MOD) promptgroup("40 - Input") interest(2) initial("") prompt("Driver info string") } field(REASON, DBF_LONG) { prompt("asynUser->reason") special(SPC_MOD) interest(2) } field(TMOD, DBF_MENU) { menu(asynTMOD) interest(1) prompt("Transaction mode") promptgroup("40 - Input") } field(TMOT, DBF_DOUBLE) { promptgroup("40 - Input") prompt("Timeout (sec)") initial("1.0") interest(1) } field(IFACE, DBF_MENU) { special(SPC_MOD) menu(asynINTERFACE) interest(2) prompt("Interface") promptgroup("40 - Input") } field(OCTETIV, DBF_LONG) { interest(2) prompt("asynOctet is valid") } field(OPTIONIV, DBF_LONG) { prompt("asynOption is valid") interest(2) } field(GPIBIV, DBF_LONG) { interest(2) prompt("asynGPIB is valid") } field(I32IV, DBF_LONG) { interest(2) prompt("asynInt32 is valid") } field(UI32IV, DBF_LONG) { interest(2) prompt("asynUInt32Digital is valid") } field(F64IV, DBF_LONG) { interest(2) prompt("asynFloat64 is valid") } field(AOUT, DBF_STRING) { prompt("Output (command) string") pp(TRUE) promptgroup("50 - Output") size(40) interest(1) } field(OEOS, DBF_STRING) { promptgroup("50 - Output") prompt("Output delimiter") interest(1) size(40) special(SPC_MOD) } field(BOUT, DBF_CHAR) { special(SPC_DBADDR) interest(1) prompt("Output binary data") pp(TRUE) } field(OPTR, DBF_NOACCESS) { prompt("Output buffer pointer") extra("void *optr") special(SPC_NOMOD) interest(4) } field(OMAX, DBF_LONG) { special(SPC_NOMOD) interest(1) prompt("Max. size of output array") initial("80") promptgroup("50 - Output") } field(NOWT, DBF_LONG) { initial("80") prompt("Number of bytes to write") promptgroup("50 - Output") interest(1) } field(NAWT, DBF_LONG) { prompt("Number of bytes actually written") interest(1) } field(OFMT, DBF_MENU) { interest(1) menu(asynFMT) promptgroup("50 - Output") prompt("Output format") } field(AINP, DBF_STRING) { prompt("Input (response) string") special(SPC_NOMOD) size(40) interest(1) } field(TINP, DBF_STRING) { special(SPC_NOMOD) size(40) asl(ASL0) interest(1) prompt("Translated input string") } field(IEOS, DBF_STRING) { size(40) special(SPC_MOD) interest(1) prompt("Input Delimiter") promptgroup("40 - Input") } field(BINP, DBF_CHAR) { prompt("Input binary data") special(SPC_DBADDR) asl(ASL0) } field(IPTR, DBF_NOACCESS) { extra("void *iptr") prompt("Input buffer pointer") special(SPC_NOMOD) size(4) interest(4) } field(IMAX, DBF_LONG) { special(SPC_NOMOD) interest(1) prompt("Max. size of input array") initial("80") promptgroup("40 - Input") } field(NRRD, DBF_LONG) { promptgroup("40 - Input") prompt("Number of bytes to read") interest(1) } field(NORD, DBF_LONG) { prompt("Number of bytes read") interest(1) special(SPC_NOMOD) } field(IFMT, DBF_MENU) { promptgroup("40 - Input") prompt("Input format") interest(1) menu(asynFMT) } field(EOMR, DBF_MENU) { interest(1) special(SPC_NOMOD) menu(asynEOMREASON) prompt("EOM reason") } field(I32INP, DBF_LONG) { prompt("asynInt32 input") special(SPC_NOMOD) interest(2) } field(I32OUT, DBF_LONG) { promptgroup("50 - Output") pp(TRUE) prompt("asynInt32 output") interest(2) } field(UI32INP, DBF_ULONG) { prompt("asynUInt32Digital input") interest(2) special(SPC_NOMOD) } field(UI32OUT, DBF_ULONG) { interest(2) promptgroup("50 - Output") prompt("asynUInt32Digital output") pp(TRUE) } field(UI32MASK, DBF_ULONG) { interest(2) special(SPC_MOD) promptgroup("50 - Output") initial("0xffffffff") prompt("asynUInt32Digital mask") } field(F64INP, DBF_DOUBLE) { prompt("asynFloat64 input") special(SPC_NOMOD) interest(2) } field(F64OUT, DBF_DOUBLE) { interest(2) promptgroup("50 - Output") pp(TRUE) prompt("asynFloat64 output") } field(BAUD, DBF_MENU) { promptgroup("40 - Input") prompt("Baud rate") interest(2) menu(serialBAUD) special(SPC_MOD) } field(LBAUD, DBF_LONG) { interest(2) special(SPC_MOD) promptgroup("40 - Input") prompt("Baud rate") } field(PRTY, DBF_MENU) { promptgroup("40 - Input") prompt("Parity") interest(2) menu(serialPRTY) special(SPC_MOD) } field(DBIT, DBF_MENU) { interest(2) menu(serialDBIT) special(SPC_MOD) promptgroup("40 - Input") prompt("Data bits") } field(SBIT, DBF_MENU) { interest(2) special(SPC_MOD) menu(serialSBIT) promptgroup("40 - Input") prompt("Stop bits") } field(MCTL, DBF_MENU) { promptgroup("40 - Input") prompt("Modem control") interest(2) menu(serialMCTL) special(SPC_MOD) } field(FCTL, DBF_MENU) { prompt("Flow control") promptgroup("40 - Input") special(SPC_MOD) menu(serialFCTL) interest(2) } field(IXON, DBF_MENU) { promptgroup("40 - Input") prompt("Output XON/XOFF") interest(2) menu(serialIX) special(SPC_MOD) } field(IXOFF, DBF_MENU) { promptgroup("40 - Input") prompt("Input XON/XOFF") interest(2) special(SPC_MOD) menu(serialIX) } field(IXANY, DBF_MENU) { prompt("XON=any character") promptgroup("40 - Input") menu(serialIX) special(SPC_MOD) interest(2) } field(HOSTINFO, DBF_STRING) { interest(1) initial("") prompt("host info") special(SPC_MOD) size(40) promptgroup("40 - Input") } field(DRTO, DBF_MENU) { prompt("Disconnect on timeout") promptgroup("40 - Input") menu(ipDRTO) special(SPC_MOD) interest(2) } field(UCMD, DBF_MENU) { menu(gpibUCMD) interest(2) prompt("Universal command") pp(TRUE) promptgroup("50 - Output") } field(ACMD, DBF_MENU) { promptgroup("50 - Output") prompt("Addressed command") pp(TRUE) interest(2) menu(gpibACMD) } field(SPR, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Serial poll response") } field(TMSK, DBF_LONG) { special(SPC_MOD) interest(1) prompt("Trace mask") promptgroup("80 - Display") } field(TB0, DBF_MENU) { interest(1) menu(asynTRACE) special(SPC_MOD) promptgroup("80 - Display") prompt("Trace error") } field(TB1, DBF_MENU) { prompt("Trace IO device") promptgroup("80 - Display") menu(asynTRACE) special(SPC_MOD) interest(1) } field(TB2, DBF_MENU) { menu(asynTRACE) special(SPC_MOD) interest(1) prompt("Trace IO filter") promptgroup("80 - Display") } field(TB3, DBF_MENU) { prompt("Trace IO driver") promptgroup("80 - Display") special(SPC_MOD) menu(asynTRACE) interest(1) } field(TB4, DBF_MENU) { promptgroup("80 - Display") prompt("Trace flow") interest(1) menu(asynTRACE) special(SPC_MOD) } field(TB5, DBF_MENU) { menu(asynTRACE) special(SPC_MOD) interest(1) prompt("Trace warning") promptgroup("80 - Display") } field(TIOM, DBF_LONG) { special(SPC_MOD) interest(1) prompt("Trace I/O mask") promptgroup("80 - Display") } field(TIB0, DBF_MENU) { promptgroup("80 - Display") prompt("Trace IO ASCII") interest(1) menu(asynTRACE) special(SPC_MOD) } field(TIB1, DBF_MENU) { interest(1) special(SPC_MOD) menu(asynTRACE) promptgroup("80 - Display") prompt("Trace IO escape") } field(TIB2, DBF_MENU) { special(SPC_MOD) menu(asynTRACE) interest(1) prompt("Trace IO hex") promptgroup("80 - Display") } field(TINM, DBF_LONG) { promptgroup("80 - Display") prompt("Trace Info mask") interest(1) special(SPC_MOD) } field(TINB0, DBF_MENU) { prompt("Trace Info Time") promptgroup("80 - Display") menu(asynTRACE) special(SPC_MOD) interest(1) } field(TINB1, DBF_MENU) { prompt("Trace Info Port") promptgroup("80 - Display") special(SPC_MOD) menu(asynTRACE) interest(1) } field(TINB2, DBF_MENU) { prompt("Trace Info Source") promptgroup("80 - Display") menu(asynTRACE) special(SPC_MOD) interest(1) } field(TINB3, DBF_MENU) { promptgroup("80 - Display") prompt("Trace Info Thread") interest(1) special(SPC_MOD) menu(asynTRACE) } field(TSIZ, DBF_LONG) { special(SPC_MOD) interest(1) prompt("Trace IO truncate size") promptgroup("80 - Display") } field(TFIL, DBF_STRING) { interest(1) size(40) special(SPC_MOD) promptgroup("80 - Display") prompt("Trace IO file") } field(AUCT, DBF_MENU) { interest(1) menu(asynAUTOCONNECT) special(SPC_MOD) promptgroup("40 - Input") prompt("Autoconnect") } field(CNCT, DBF_MENU) { interest(1) special(SPC_MOD) menu(asynCONNECT) promptgroup("40 - Input") prompt("Connect/Disconnect") } field(ENBL, DBF_MENU) { interest(1) menu(asynENABLE) special(SPC_MOD) promptgroup("40 - Input") prompt("Enable/Disable") } field(ERRS, DBF_NOACCESS) { prompt("Error string") extra("char *errs") special(SPC_DBADDR) interest(4) } field(AQR, DBF_UCHAR) { interest(4) special(SPC_MOD) prompt("Abort queueRequest") } } device(asyn, INST_IO, asynRecordDevice, "asynRecordDevice") recordtype(dfanout) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { size(41) prompt("Descriptor") promptgroup("10 - Common") } field(ASG, DBF_STRING) { prompt("Access Security Group") promptgroup("10 - Common") special(SPC_AS) size(29) } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuScan) interest(1) } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { special(SPC_SCAN) interest(1) prompt("Scan Phase") promptgroup("20 - Scan") } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") special(SPC_NOMOD) interest(4) } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { initial("UDF") prompt("Alarm Status") menu(menuAlarmStat) special(SPC_NOMOD) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") menu(menuAlarmStat) special(SPC_NOMOD) interest(2) } field(NSEV, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) } field(ACKT, DBF_MENU) { special(SPC_NOMOD) menu(menuYesNo) interest(2) prompt("Alarm Ack Transient") initial("YES") promptgroup("70 - Alarm") } field(DISS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Record active") } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") special(SPC_NOMOD) interest(1) } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") special(SPC_NOMOD) interest(4) } field(DSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") } field(LSET, DBF_NOACCESS) { extra("struct lockRecord *lset") prompt("Lock Set") special(SPC_NOMOD) interest(4) } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) special(SPC_SCAN) menu(menuPriority) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { pp(TRUE) initial("1") prompt("Undefined") promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Undefined Alarm Sevrty") initial("INVALID") } field(TIME, DBF_NOACCESS) { extra("epicsTimeStamp time") prompt("Time") interest(2) special(SPC_NOMOD) } field(FLNK, DBF_FWDLINK) { promptgroup("20 - Scan") prompt("Forward Process Link") interest(1) } field(VAL, DBF_DOUBLE) { pp(TRUE) prompt("Desired Output") promptgroup("40 - Input") asl(ASL0) } field(SELM, DBF_MENU) { promptgroup("30 - Action") prompt("Select Mechanism") interest(1) menu(dfanoutSELM) } field(SELN, DBF_USHORT) { prompt("Link Selection") initial("1") interest(1) } field(SELL, DBF_INLINK) { interest(1) prompt("Link Selection Loc") promptgroup("30 - Action") } field(OUTA, DBF_OUTLINK) { promptgroup("50 - Output") prompt("Output Spec A") interest(1) } field(OUTB, DBF_OUTLINK) { interest(1) prompt("Output Spec B") promptgroup("50 - Output") } field(OUTC, DBF_OUTLINK) { prompt("Output Spec C") promptgroup("50 - Output") interest(1) } field(OUTD, DBF_OUTLINK) { interest(1) prompt("Output Spec D") promptgroup("50 - Output") } field(OUTE, DBF_OUTLINK) { interest(1) promptgroup("50 - Output") prompt("Output Spec E") } field(OUTF, DBF_OUTLINK) { prompt("Output Spec F") promptgroup("50 - Output") interest(1) } field(OUTG, DBF_OUTLINK) { prompt("Output Spec G") promptgroup("50 - Output") interest(1) } field(OUTH, DBF_OUTLINK) { prompt("Output Spec H") promptgroup("50 - Output") interest(1) } field(DOL, DBF_INLINK) { prompt("Desired Output Loc") promptgroup("40 - Input") interest(1) } field(OMSL, DBF_MENU) { interest(1) menu(menuOmsl) promptgroup("50 - Output") prompt("Output Mode Select") } field(EGU, DBF_STRING) { size(16) interest(1) prompt("Engineering Units") promptgroup("80 - Display") prop(YES) } field(PREC, DBF_SHORT) { interest(1) promptgroup("80 - Display") prop(YES) prompt("Display Precision") } field(HOPR, DBF_DOUBLE) { promptgroup("80 - Display") prop(YES) prompt("High Operating Range") interest(1) } field(LOPR, DBF_DOUBLE) { interest(1) prompt("Low Operating Range") promptgroup("80 - Display") prop(YES) } field(HIHI, DBF_DOUBLE) { prompt("Hihi Alarm Limit") pp(TRUE) prop(YES) promptgroup("70 - Alarm") interest(1) } field(LOLO, DBF_DOUBLE) { interest(1) pp(TRUE) prompt("Lolo Alarm Limit") promptgroup("70 - Alarm") prop(YES) } field(HIGH, DBF_DOUBLE) { interest(1) pp(TRUE) prompt("High Alarm Limit") promptgroup("70 - Alarm") prop(YES) } field(LOW, DBF_DOUBLE) { promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Low Alarm Limit") interest(1) } field(HHSV, DBF_MENU) { prompt("Hihi Severity") pp(TRUE) prop(YES) promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LLSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("Lolo Severity") promptgroup("70 - Alarm") prop(YES) } field(HSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("High Severity") pp(TRUE) prop(YES) promptgroup("70 - Alarm") } field(LSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("Low Severity") promptgroup("70 - Alarm") prop(YES) } field(HYST, DBF_DOUBLE) { prompt("Alarm Deadband") promptgroup("70 - Alarm") interest(1) } field(ADEL, DBF_DOUBLE) { interest(1) prompt("Archive Deadband") promptgroup("80 - Display") } field(MDEL, DBF_DOUBLE) { interest(1) prompt("Monitor Deadband") promptgroup("80 - Display") } field(LALM, DBF_DOUBLE) { prompt("Last Value Alarmed") interest(3) special(SPC_NOMOD) } field(ALST, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Last Value Archived") } field(MLST, DBF_DOUBLE) { prompt("Last Val Monitored") special(SPC_NOMOD) interest(3) } } recordtype(subArray) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { prompt("Record Name") special(SPC_NOMOD) size(61) } field(DESC, DBF_STRING) { size(41) prompt("Descriptor") promptgroup("10 - Common") } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") size(29) special(SPC_AS) } field(SCAN, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuScan) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { special(SPC_SCAN) interest(1) prompt("Scan Phase") promptgroup("20 - Scan") } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") initial("1") prompt("Disable Value") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { interest(2) menu(menuAlarmStat) special(SPC_NOMOD) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) } field(ACKT, DBF_MENU) { menu(menuYesNo) special(SPC_NOMOD) interest(2) prompt("Alarm Ack Transient") initial("YES") promptgroup("70 - Alarm") } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") } field(SPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct scan_element *spvt") prompt("Scan Private") } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct typed_rset *rset") prompt("Address of RSET") } field(DSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") interest(4) special(SPC_NOMOD) } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") special(SPC_NOMOD) interest(4) } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) menu(menuPriority) special(SPC_SCAN) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") prompt("Undefined") pp(TRUE) initial("1") interest(1) } field(UDFS, DBF_MENU) { initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(TIME, DBF_NOACCESS) { extra("epicsTimeStamp time") prompt("Time") interest(2) special(SPC_NOMOD) } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VAL, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) prompt("Value") extra("void * val") pp(TRUE) } field(PREC, DBF_SHORT) { interest(1) prompt("Display Precision") promptgroup("80 - Display") prop(YES) } field(FTVL, DBF_MENU) { prompt("Field Type of Value") promptgroup("30 - Action") special(SPC_NOMOD) menu(menuFtype) interest(1) } field(INP, DBF_INLINK) { promptgroup("40 - Input") prompt("Input Specification") interest(1) } field(EGU, DBF_STRING) { prompt("Engineering Units") promptgroup("80 - Display") prop(YES) size(16) interest(1) } field(HOPR, DBF_DOUBLE) { interest(1) prop(YES) promptgroup("80 - Display") prompt("High Operating Range") } field(LOPR, DBF_DOUBLE) { prompt("Low Operating Range") prop(YES) promptgroup("80 - Display") interest(1) } field(MALM, DBF_ULONG) { interest(1) special(SPC_NOMOD) promptgroup("30 - Action") prompt("Maximum Elements") initial("1") } field(NELM, DBF_ULONG) { promptgroup("30 - Action") prompt("Number of Elements") pp(TRUE) initial("1") } field(INDX, DBF_ULONG) { pp(TRUE) prompt("Substring Index") promptgroup("30 - Action") } field(BUSY, DBF_SHORT) { special(SPC_NOMOD) prompt("Busy Indicator") } field(NORD, DBF_LONG) { special(SPC_NOMOD) prompt("Number elements read") } field(BPTR, DBF_NOACCESS) { extra("void * bptr") prompt("Buffer Pointer") interest(4) special(SPC_NOMOD) } } device(subArray, CONSTANT, devSASoft, "Soft Channel") recordtype(aai) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { size(61) special(SPC_NOMOD) prompt("Record Name") } field(DESC, DBF_STRING) { prompt("Descriptor") promptgroup("10 - Common") size(41) } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") size(29) special(SPC_AS) } field(SCAN, DBF_MENU) { promptgroup("20 - Scan") prompt("Scan Mechanism") interest(1) special(SPC_SCAN) menu(menuScan) } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { interest(1) special(SPC_SCAN) size(40) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Monitor lock") extra("epicsMutexId mlok") } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor List") extra("ELLLIST mlis") } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) pp(TRUE) prompt("Force Processing") } field(STAT, DBF_MENU) { prompt("Alarm Status") initial("UDF") menu(menuAlarmStat) special(SPC_NOMOD) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) interest(2) } field(NSEV, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { prompt("Alarm Ack Transient") initial("YES") promptgroup("70 - Alarm") menu(menuYesNo) special(SPC_NOMOD) interest(2) } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { special(SPC_NOMOD) interest(2) prompt("Lock Count") } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") interest(1) special(SPC_NOMOD) } field(RPRO, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { extra("struct asgMember *asp") prompt("Access Security Pvt") special(SPC_NOMOD) interest(4) } field(PPN, DBF_NOACCESS) { extra("struct processNotify *ppn") prompt("pprocessNotify") special(SPC_NOMOD) interest(4) } field(PPNR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct scan_element *spvt") prompt("Scan Private") } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") interest(4) special(SPC_NOMOD) } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("void *dpvt") prompt("Device Private") } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") special(SPC_NOMOD) interest(4) } field(LSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Lock Set") extra("struct lockRecord *lset") } field(PRIO, DBF_MENU) { prompt("Scheduling Priority") promptgroup("20 - Scan") menu(menuPriority) special(SPC_SCAN) interest(1) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { interest(1) prompt("Undefined") initial("1") pp(TRUE) promptgroup("10 - Common") } field(UDFS, DBF_MENU) { promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") special(SPC_NOMOD) interest(2) } field(FLNK, DBF_FWDLINK) { promptgroup("20 - Scan") prompt("Forward Process Link") interest(1) } field(VAL, DBF_NOACCESS) { pp(TRUE) extra("void * val") prompt("Value") asl(ASL0) special(SPC_DBADDR) } field(PREC, DBF_SHORT) { promptgroup("80 - Display") prop(YES) prompt("Display Precision") interest(1) } field(INP, DBF_INLINK) { prompt("Input Specification") promptgroup("40 - Input") interest(1) } field(EGU, DBF_STRING) { size(16) interest(1) prompt("Engineering Units") promptgroup("80 - Display") prop(YES) } field(HOPR, DBF_DOUBLE) { interest(1) promptgroup("80 - Display") prop(YES) prompt("High Operating Range") } field(LOPR, DBF_DOUBLE) { interest(1) prompt("Low Operating Range") promptgroup("80 - Display") prop(YES) } field(NELM, DBF_ULONG) { promptgroup("30 - Action") initial("1") prompt("Number of Elements") interest(1) special(SPC_NOMOD) } field(FTVL, DBF_MENU) { promptgroup("30 - Action") prompt("Field Type of Value") interest(1) menu(menuFtype) special(SPC_NOMOD) } field(NORD, DBF_ULONG) { special(SPC_NOMOD) prompt("Number elements read") } field(BPTR, DBF_NOACCESS) { prompt("Buffer Pointer") extra("void * bptr") special(SPC_NOMOD) interest(4) } field(SIML, DBF_INLINK) { interest(1) promptgroup("90 - Simulate") prompt("Simulation Mode Link") } field(SIMM, DBF_MENU) { prompt("Simulation Mode") interest(1) menu(menuYesNo) special(SPC_MOD) } field(SIMS, DBF_MENU) { prompt("Simulation Mode Severity") promptgroup("90 - Simulate") menu(menuAlarmSevr) interest(2) } field(SIOL, DBF_INLINK) { prompt("Simulation Input Link") promptgroup("90 - Simulate") interest(1) } field(OLDSIMM, DBF_MENU) { prompt("Prev. Simulation Mode") special(SPC_NOMOD) menu(menuSimm) interest(4) } field(SSCN, DBF_MENU) { prompt("Sim. Mode Scan") initial("65535") promptgroup("90 - Simulate") menu(menuScan) interest(1) } field(SDLY, DBF_DOUBLE) { initial("-1.0") prompt("Sim. Mode Async Delay") promptgroup("90 - Simulate") interest(2) } field(SIMPVT, DBF_NOACCESS) { extra("epicsCallback *simpvt") prompt("Sim. Mode Private") interest(4) special(SPC_NOMOD) } field(MPST, DBF_MENU) { prompt("Post Value Monitors") promptgroup("80 - Display") menu(aaiPOST) interest(1) } field(APST, DBF_MENU) { interest(1) menu(aaiPOST) promptgroup("80 - Display") prompt("Post Archive Monitors") } field(HASH, DBF_ULONG) { prompt("Hash of OnChange data.") interest(3) } } device(aai, CONSTANT, devAaiSoft, "Soft Channel") recordtype(longout) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { promptgroup("10 - Common") prompt("Descriptor") size(41) } field(ASG, DBF_STRING) { special(SPC_AS) size(29) promptgroup("10 - Common") prompt("Access Security Group") } field(SCAN, DBF_MENU) { promptgroup("20 - Scan") prompt("Scan Mechanism") interest(1) menu(menuScan) special(SPC_SCAN) } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { prompt("Scan Phase") promptgroup("20 - Scan") special(SPC_SCAN) interest(1) } field(EVNT, DBF_STRING) { prompt("Event Name") promptgroup("20 - Scan") size(40) special(SPC_SCAN) interest(1) } field(TSE, DBF_SHORT) { prompt("Time Stamp Event") promptgroup("20 - Scan") interest(1) } field(TSEL, DBF_INLINK) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Link") } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor lock") extra("epicsMutexId mlok") } field(MLIS, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { prompt("Backwards link tracking") extra("ELLLIST bklnk") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { pp(TRUE) prompt("Force Processing") interest(3) } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) prompt("Alarm Status") initial("UDF") } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { prompt("New Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) interest(2) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) } field(ACKS, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { menu(menuYesNo) special(SPC_NOMOD) interest(2) initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") } field(DISS, DBF_MENU) { prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") special(SPC_NOMOD) interest(1) } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") special(SPC_NOMOD) interest(1) } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { extra("struct processNotify *ppn") prompt("pprocessNotify") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") special(SPC_NOMOD) interest(4) } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") special(SPC_NOMOD) interest(4) } field(RSET, DBF_NOACCESS) { prompt("Address of RSET") extra("struct typed_rset *rset") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct dset *dset") prompt("DSET address") } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("void *dpvt") prompt("Device Private") } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) menu(menuPriority) special(SPC_SCAN) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") prompt("Undefined") pp(TRUE) initial("1") interest(1) } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Undefined Alarm Sevrty") initial("INVALID") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") special(SPC_NOMOD) interest(2) } field(FLNK, DBF_FWDLINK) { promptgroup("20 - Scan") prompt("Forward Process Link") interest(1) } field(VAL, DBF_LONG) { promptgroup("50 - Output") prompt("Desired Output") pp(TRUE) asl(ASL0) } field(OUT, DBF_OUTLINK) { interest(1) promptgroup("50 - Output") prompt("Output Specification") } field(DOL, DBF_INLINK) { promptgroup("40 - Input") prompt("Desired Output Loc") interest(1) } field(OMSL, DBF_MENU) { menu(menuOmsl) interest(1) prompt("Output Mode Select") promptgroup("50 - Output") } field(EGU, DBF_STRING) { prop(YES) promptgroup("80 - Display") prompt("Engineering Units") interest(1) size(16) } field(DRVH, DBF_LONG) { interest(1) pp(TRUE) prompt("Drive High Limit") promptgroup("30 - Action") prop(YES) } field(DRVL, DBF_LONG) { interest(1) promptgroup("30 - Action") prop(YES) pp(TRUE) prompt("Drive Low Limit") } field(HOPR, DBF_LONG) { interest(1) promptgroup("80 - Display") prop(YES) prompt("High Operating Range") } field(LOPR, DBF_LONG) { interest(1) prompt("Low Operating Range") promptgroup("80 - Display") prop(YES) } field(HIHI, DBF_LONG) { pp(TRUE) prompt("Hihi Alarm Limit") promptgroup("70 - Alarm") prop(YES) interest(1) } field(LOLO, DBF_LONG) { prop(YES) promptgroup("70 - Alarm") prompt("Lolo Alarm Limit") pp(TRUE) interest(1) } field(HIGH, DBF_LONG) { pp(TRUE) prompt("High Alarm Limit") promptgroup("70 - Alarm") prop(YES) interest(1) } field(LOW, DBF_LONG) { prompt("Low Alarm Limit") pp(TRUE) prop(YES) promptgroup("70 - Alarm") interest(1) } field(HHSV, DBF_MENU) { pp(TRUE) prompt("Hihi Severity") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LLSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Lolo Severity") pp(TRUE) } field(HSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("High Severity") pp(TRUE) promptgroup("70 - Alarm") } field(LSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Low Severity") pp(TRUE) } field(HYST, DBF_LONG) { interest(1) promptgroup("70 - Alarm") prompt("Alarm Deadband") } field(ADEL, DBF_LONG) { prompt("Archive Deadband") promptgroup("80 - Display") interest(1) } field(MDEL, DBF_LONG) { interest(1) promptgroup("80 - Display") prompt("Monitor Deadband") } field(LALM, DBF_LONG) { interest(3) special(SPC_NOMOD) prompt("Last Value Alarmed") } field(ALST, DBF_LONG) { prompt("Last Value Archived") special(SPC_NOMOD) interest(3) } field(MLST, DBF_LONG) { interest(3) special(SPC_NOMOD) prompt("Last Val Monitored") } field(SIOL, DBF_OUTLINK) { prompt("Sim Output Specifctn") promptgroup("90 - Simulate") interest(1) } field(SIML, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Sim Mode Location") interest(1) } field(SIMM, DBF_MENU) { menu(menuYesNo) special(SPC_MOD) interest(1) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { prompt("Sim mode Alarm Svrty") promptgroup("90 - Simulate") menu(menuAlarmSevr) interest(2) } field(OLDSIMM, DBF_MENU) { interest(4) special(SPC_NOMOD) menu(menuSimm) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { menu(menuScan) interest(1) initial("65535") prompt("Sim. Mode Scan") promptgroup("90 - Simulate") } field(SDLY, DBF_DOUBLE) { promptgroup("90 - Simulate") prompt("Sim. Mode Async Delay") initial("-1.0") interest(2) } field(SIMPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Sim. Mode Private") extra("epicsCallback *simpvt") } field(IVOA, DBF_MENU) { menu(menuIvoa) interest(2) prompt("INVALID output action") promptgroup("50 - Output") } field(IVOV, DBF_LONG) { interest(2) prompt("INVALID output value") promptgroup("50 - Output") } } device(longout, CONSTANT, devLoSoft, "Soft Channel") device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") device(longout, INST_IO, asynLoInt32, "asynInt32") device(longout, INST_IO, asynLoUInt32Digital, "asynUInt32Digital") recordtype(mbbi) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { size(61) special(SPC_NOMOD) prompt("Record Name") } field(DESC, DBF_STRING) { promptgroup("10 - Common") prompt("Descriptor") size(41) } field(ASG, DBF_STRING) { size(29) special(SPC_AS) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { interest(1) menu(menuScan) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { prompt("Event Name") promptgroup("20 - Scan") special(SPC_SCAN) size(40) interest(1) } field(TSE, DBF_SHORT) { prompt("Time Stamp Event") promptgroup("20 - Scan") interest(1) } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) promptgroup("20 - Scan") prompt("Scanning Disable") } field(MLOK, DBF_NOACCESS) { prompt("Monitor lock") extra("epicsMutexId mlok") special(SPC_NOMOD) interest(4) } field(MLIS, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Backwards link tracking") extra("ELLLIST bklnk") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { prompt("Alarm Status") initial("UDF") special(SPC_NOMOD) menu(menuAlarmStat) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) } field(NSTA, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) interest(2) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) } field(ACKT, DBF_MENU) { interest(2) menu(menuYesNo) special(SPC_NOMOD) promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") } field(DISS, DBF_MENU) { prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") special(SPC_NOMOD) interest(1) } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") special(SPC_NOMOD) interest(1) } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") special(SPC_NOMOD) interest(1) } field(ASP, DBF_NOACCESS) { extra("struct asgMember *asp") prompt("Access Security Pvt") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { extra("struct processNotify *ppn") prompt("pprocessNotify") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") special(SPC_NOMOD) interest(4) } field(SPVT, DBF_NOACCESS) { prompt("Scan Private") extra("struct scan_element *spvt") special(SPC_NOMOD) interest(4) } field(RSET, DBF_NOACCESS) { prompt("Address of RSET") extra("struct typed_rset *rset") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct dset *dset") prompt("DSET address") } field(DPVT, DBF_NOACCESS) { extra("void *dpvt") prompt("Device Private") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") } field(LSET, DBF_NOACCESS) { extra("struct lockRecord *lset") prompt("Lock Set") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) menu(menuPriority) special(SPC_SCAN) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { interest(1) promptgroup("10 - Common") pp(TRUE) initial("1") prompt("Undefined") } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Undefined Alarm Sevrty") initial("INVALID") } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") special(SPC_NOMOD) interest(2) } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_ENUM) { promptgroup("40 - Input") prompt("Current Value") pp(TRUE) asl(ASL0) } field(NOBT, DBF_USHORT) { special(SPC_NOMOD) interest(1) prompt("Number of Bits") promptgroup("40 - Input") } field(INP, DBF_INLINK) { interest(1) prompt("Input Specification") promptgroup("40 - Input") } field(ZRVL, DBF_ULONG) { promptgroup("41 - Input 0-7") special(SPC_MOD) prompt("Zero Value") pp(TRUE) interest(1) base(HEX) } field(ONVL, DBF_ULONG) { base(HEX) interest(1) prompt("One Value") pp(TRUE) special(SPC_MOD) promptgroup("41 - Input 0-7") } field(TWVL, DBF_ULONG) { base(HEX) interest(1) pp(TRUE) prompt("Two Value") special(SPC_MOD) promptgroup("41 - Input 0-7") } field(THVL, DBF_ULONG) { special(SPC_MOD) promptgroup("41 - Input 0-7") interest(1) base(HEX) prompt("Three Value") pp(TRUE) } field(FRVL, DBF_ULONG) { interest(1) base(HEX) pp(TRUE) prompt("Four Value") special(SPC_MOD) promptgroup("41 - Input 0-7") } field(FVVL, DBF_ULONG) { promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) prompt("Five Value") base(HEX) interest(1) } field(SXVL, DBF_ULONG) { interest(1) base(HEX) prompt("Six Value") pp(TRUE) special(SPC_MOD) promptgroup("41 - Input 0-7") } field(SVVL, DBF_ULONG) { promptgroup("41 - Input 0-7") special(SPC_MOD) prompt("Seven Value") pp(TRUE) base(HEX) interest(1) } field(EIVL, DBF_ULONG) { special(SPC_MOD) promptgroup("42 - Input 8-15") interest(1) base(HEX) prompt("Eight Value") pp(TRUE) } field(NIVL, DBF_ULONG) { base(HEX) interest(1) pp(TRUE) prompt("Nine Value") special(SPC_MOD) promptgroup("42 - Input 8-15") } field(TEVL, DBF_ULONG) { pp(TRUE) prompt("Ten Value") interest(1) base(HEX) promptgroup("42 - Input 8-15") special(SPC_MOD) } field(ELVL, DBF_ULONG) { base(HEX) interest(1) pp(TRUE) prompt("Eleven Value") special(SPC_MOD) promptgroup("42 - Input 8-15") } field(TVVL, DBF_ULONG) { base(HEX) interest(1) prompt("Twelve Value") pp(TRUE) special(SPC_MOD) promptgroup("42 - Input 8-15") } field(TTVL, DBF_ULONG) { special(SPC_MOD) promptgroup("42 - Input 8-15") interest(1) base(HEX) prompt("Thirteen Value") pp(TRUE) } field(FTVL, DBF_ULONG) { special(SPC_MOD) promptgroup("42 - Input 8-15") interest(1) base(HEX) prompt("Fourteen Value") pp(TRUE) } field(FFVL, DBF_ULONG) { special(SPC_MOD) promptgroup("42 - Input 8-15") interest(1) base(HEX) pp(TRUE) prompt("Fifteen Value") } field(ZRST, DBF_STRING) { interest(1) pp(TRUE) prompt("Zero String") size(26) special(SPC_MOD) promptgroup("81 - Display 0-7") } field(ONST, DBF_STRING) { promptgroup("81 - Display 0-7") special(SPC_MOD) size(26) pp(TRUE) prompt("One String") interest(1) } field(TWST, DBF_STRING) { special(SPC_MOD) size(26) promptgroup("81 - Display 0-7") interest(1) prompt("Two String") pp(TRUE) } field(THST, DBF_STRING) { size(26) special(SPC_MOD) promptgroup("81 - Display 0-7") interest(1) pp(TRUE) prompt("Three String") } field(FRST, DBF_STRING) { prompt("Four String") pp(TRUE) interest(1) promptgroup("81 - Display 0-7") special(SPC_MOD) size(26) } field(FVST, DBF_STRING) { promptgroup("81 - Display 0-7") size(26) special(SPC_MOD) prompt("Five String") pp(TRUE) interest(1) } field(SXST, DBF_STRING) { prompt("Six String") pp(TRUE) interest(1) promptgroup("81 - Display 0-7") size(26) special(SPC_MOD) } field(SVST, DBF_STRING) { special(SPC_MOD) size(26) promptgroup("81 - Display 0-7") interest(1) prompt("Seven String") pp(TRUE) } field(EIST, DBF_STRING) { promptgroup("82 - Display 8-15") size(26) special(SPC_MOD) prompt("Eight String") pp(TRUE) interest(1) } field(NIST, DBF_STRING) { special(SPC_MOD) size(26) promptgroup("82 - Display 8-15") interest(1) prompt("Nine String") pp(TRUE) } field(TEST, DBF_STRING) { special(SPC_MOD) size(26) promptgroup("82 - Display 8-15") interest(1) prompt("Ten String") pp(TRUE) } field(ELST, DBF_STRING) { promptgroup("82 - Display 8-15") special(SPC_MOD) size(26) prompt("Eleven String") pp(TRUE) interest(1) } field(TVST, DBF_STRING) { interest(1) pp(TRUE) prompt("Twelve String") size(26) special(SPC_MOD) promptgroup("82 - Display 8-15") } field(TTST, DBF_STRING) { special(SPC_MOD) size(26) promptgroup("82 - Display 8-15") interest(1) prompt("Thirteen String") pp(TRUE) } field(FTST, DBF_STRING) { size(26) special(SPC_MOD) promptgroup("82 - Display 8-15") interest(1) prompt("Fourteen String") pp(TRUE) } field(FFST, DBF_STRING) { interest(1) pp(TRUE) prompt("Fifteen String") size(26) special(SPC_MOD) promptgroup("82 - Display 8-15") } field(ZRSV, DBF_MENU) { prompt("State Zero Severity") pp(TRUE) promptgroup("71 - Alarm 0-7") menu(menuAlarmSevr) interest(1) } field(ONSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("71 - Alarm 0-7") prompt("State One Severity") pp(TRUE) } field(TWSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("State Two Severity") pp(TRUE) promptgroup("71 - Alarm 0-7") } field(THSV, DBF_MENU) { pp(TRUE) prompt("State Three Severity") promptgroup("71 - Alarm 0-7") menu(menuAlarmSevr) interest(1) } field(FRSV, DBF_MENU) { promptgroup("71 - Alarm 0-7") pp(TRUE) prompt("State Four Severity") interest(1) menu(menuAlarmSevr) } field(FVSV, DBF_MENU) { pp(TRUE) prompt("State Five Severity") promptgroup("71 - Alarm 0-7") menu(menuAlarmSevr) interest(1) } field(SXSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("State Six Severity") promptgroup("71 - Alarm 0-7") } field(SVSV, DBF_MENU) { promptgroup("71 - Alarm 0-7") prompt("State Seven Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(EISV, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("State Eight Severity") pp(TRUE) promptgroup("72 - Alarm 8-15") } field(NISV, DBF_MENU) { promptgroup("72 - Alarm 8-15") prompt("State Nine Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TESV, DBF_MENU) { promptgroup("72 - Alarm 8-15") prompt("State Ten Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ELSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("State Eleven Severity") promptgroup("72 - Alarm 8-15") } field(TVSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("72 - Alarm 8-15") pp(TRUE) prompt("State Twelve Severity") } field(TTSV, DBF_MENU) { promptgroup("72 - Alarm 8-15") pp(TRUE) prompt("State Thirteen Sevr") interest(1) menu(menuAlarmSevr) } field(FTSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("State Fourteen Sevr") promptgroup("72 - Alarm 8-15") } field(FFSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("72 - Alarm 8-15") prompt("State Fifteen Severity") pp(TRUE) } field(AFTC, DBF_DOUBLE) { prompt("Alarm Filter Time Constant") promptgroup("70 - Alarm") interest(1) } field(AFVL, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Alarm Filter Value") } field(UNSV, DBF_MENU) { prompt("Unknown State Severity") pp(TRUE) promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(COSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Change of State Svr") pp(TRUE) } field(RVAL, DBF_ULONG) { pp(TRUE) prompt("Raw Value") } field(ORAW, DBF_ULONG) { prompt("Prev Raw Value") special(SPC_NOMOD) interest(3) } field(MASK, DBF_ULONG) { prompt("Hardware Mask") interest(1) special(SPC_NOMOD) } field(MLST, DBF_USHORT) { interest(3) special(SPC_NOMOD) prompt("Last Value Monitored") } field(LALM, DBF_USHORT) { prompt("Last Value Alarmed") interest(3) special(SPC_NOMOD) } field(SDEF, DBF_SHORT) { special(SPC_NOMOD) interest(3) prompt("States Defined") } field(SHFT, DBF_USHORT) { promptgroup("40 - Input") prompt("Shift") interest(1) } field(SIOL, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Input Link") interest(1) } field(SVAL, DBF_ULONG) { prompt("Simulation Value") } field(SIML, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Mode Link") interest(1) } field(SIMM, DBF_MENU) { prompt("Simulation Mode") interest(1) menu(menuSimm) special(SPC_MOD) } field(SIMS, DBF_MENU) { interest(2) menu(menuAlarmSevr) promptgroup("90 - Simulate") prompt("Simulation Mode Severity") } field(OLDSIMM, DBF_MENU) { menu(menuSimm) special(SPC_NOMOD) interest(4) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { prompt("Sim. Mode Scan") initial("65535") promptgroup("90 - Simulate") menu(menuScan) interest(1) } field(SDLY, DBF_DOUBLE) { promptgroup("90 - Simulate") initial("-1.0") prompt("Sim. Mode Async Delay") interest(2) } field(SIMPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Sim. Mode Private") extra("epicsCallback *simpvt") } } device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") device(mbbi, INST_IO, asynMbbiInt32, "asynInt32") device(mbbi, INST_IO, asynMbbiUInt32Digital, "asynUInt32Digital") recordtype(histogram) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") special(SPC_NOMOD) size(61) } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { special(SPC_AS) size(29) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { special(SPC_SCAN) menu(menuScan) interest(1) prompt("Scan Mechanism") promptgroup("20 - Scan") } field(PINI, DBF_MENU) { interest(1) menu(menuPini) promptgroup("20 - Scan") prompt("Process at iocInit") } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { prompt("Event Name") promptgroup("20 - Scan") special(SPC_SCAN) size(40) interest(1) } field(TSE, DBF_SHORT) { promptgroup("20 - Scan") prompt("Time Stamp Event") interest(1) } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") initial("1") prompt("Disable Value") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor List") extra("ELLLIST mlis") } field(BKLNK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST bklnk") prompt("Backwards link tracking") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { pp(TRUE) prompt("Force Processing") interest(3) } field(STAT, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) prompt("Alarm Status") initial("UDF") } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") interest(2) menu(menuAlarmStat) special(SPC_NOMOD) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) } field(ACKS, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { special(SPC_NOMOD) menu(menuYesNo) interest(2) initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") } field(DISS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { prompt("pprocessNotify") extra("struct processNotify *ppn") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") interest(4) special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") special(SPC_NOMOD) interest(4) } field(DSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) menu(menuPriority) special(SPC_SCAN) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") initial("1") pp(TRUE) prompt("Undefined") interest(1) } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") } field(TIME, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { interest(1) promptgroup("20 - Scan") prompt("Forward Process Link") } field(VAL, DBF_NOACCESS) { extra("void * val") prompt("Value") asl(ASL0) special(SPC_DBADDR) } field(NELM, DBF_USHORT) { special(SPC_NOMOD) interest(1) initial("1") prompt("Num of Array Elements") promptgroup("30 - Action") } field(CSTA, DBF_SHORT) { interest(1) special(SPC_NOMOD) prompt("Collection Status") initial("1") } field(CMD, DBF_MENU) { menu(histogramCMD) asl(ASL0) special(SPC_CALC) interest(1) prompt("Collection Control") } field(ULIM, DBF_DOUBLE) { special(SPC_RESET) interest(1) prompt("Upper Signal Limit") promptgroup("30 - Action") prop(YES) } field(LLIM, DBF_DOUBLE) { special(SPC_RESET) interest(1) prompt("Lower Signal Limit ") prop(YES) promptgroup("30 - Action") } field(WDTH, DBF_DOUBLE) { prompt("Element Width") special(SPC_NOMOD) interest(3) } field(SGNL, DBF_DOUBLE) { special(SPC_MOD) prompt("Signal Value") } field(PREC, DBF_SHORT) { interest(1) promptgroup("80 - Display") prop(YES) prompt("Display Precision") } field(SVL, DBF_INLINK) { interest(1) promptgroup("40 - Input") prompt("Signal Value Location") } field(BPTR, DBF_NOACCESS) { prompt("Buffer Pointer") extra("epicsUInt32 *bptr") interest(4) special(SPC_NOMOD) } field(WDOG, DBF_NOACCESS) { extra("void * wdog") prompt("Watchdog callback") interest(4) special(SPC_NOMOD) } field(MDEL, DBF_SHORT) { prompt("Monitor Count Deadband") promptgroup("80 - Display") interest(1) } field(MCNT, DBF_SHORT) { interest(3) special(SPC_NOMOD) prompt("Counts Since Monitor") } field(SDEL, DBF_DOUBLE) { special(SPC_RESET) interest(1) prompt("Monitor Seconds Dband") promptgroup("80 - Display") } field(SIOL, DBF_INLINK) { interest(1) promptgroup("90 - Simulate") prompt("Simulation Input Link") } field(SVAL, DBF_DOUBLE) { prompt("Simulation Value") } field(SIML, DBF_INLINK) { interest(1) promptgroup("90 - Simulate") prompt("Simulation Mode Link") } field(SIMM, DBF_MENU) { prompt("Simulation Mode") special(SPC_MOD) menu(menuYesNo) interest(1) } field(SIMS, DBF_MENU) { interest(2) menu(menuAlarmSevr) promptgroup("90 - Simulate") prompt("Simulation Mode Severity") } field(OLDSIMM, DBF_MENU) { prompt("Prev. Simulation Mode") special(SPC_NOMOD) menu(menuSimm) interest(4) } field(SSCN, DBF_MENU) { menu(menuScan) interest(1) initial("65535") prompt("Sim. Mode Scan") promptgroup("90 - Simulate") } field(SDLY, DBF_DOUBLE) { interest(2) prompt("Sim. Mode Async Delay") initial("-1.0") promptgroup("90 - Simulate") } field(SIMPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("epicsCallback *simpvt") prompt("Sim. Mode Private") } field(HOPR, DBF_ULONG) { interest(1) prompt("High Operating Range") promptgroup("80 - Display") prop(YES) } field(LOPR, DBF_ULONG) { interest(1) prompt("Low Operating Range") promptgroup("80 - Display") prop(YES) } } device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") recordtype(stringout) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { size(61) special(SPC_NOMOD) prompt("Record Name") } field(DESC, DBF_STRING) { promptgroup("10 - Common") prompt("Descriptor") size(41) } field(ASG, DBF_STRING) { special(SPC_AS) size(29) promptgroup("10 - Common") prompt("Access Security Group") } field(SCAN, DBF_MENU) { promptgroup("20 - Scan") prompt("Scan Mechanism") interest(1) special(SPC_SCAN) menu(menuScan) } field(PINI, DBF_MENU) { interest(1) menu(menuPini) promptgroup("20 - Scan") prompt("Process at iocInit") } field(PHAS, DBF_SHORT) { special(SPC_SCAN) interest(1) prompt("Scan Phase") promptgroup("20 - Scan") } field(EVNT, DBF_STRING) { size(40) special(SPC_SCAN) interest(1) prompt("Event Name") promptgroup("20 - Scan") } field(TSE, DBF_SHORT) { interest(1) prompt("Time Stamp Event") promptgroup("20 - Scan") } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { prompt("Disable Value") initial("1") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { prompt("Monitor lock") extra("epicsMutexId mlok") interest(4) special(SPC_NOMOD) } field(MLIS, DBF_NOACCESS) { extra("ELLLIST mlis") prompt("Monitor List") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Backwards link tracking") extra("ELLLIST bklnk") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { prompt("Alarm Status") initial("UDF") menu(menuAlarmStat) special(SPC_NOMOD) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") menu(menuAlarmStat) special(SPC_NOMOD) interest(2) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) } field(ACKS, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") menu(menuYesNo) special(SPC_NOMOD) interest(2) } field(DISS, DBF_MENU) { prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LCNT, DBF_UCHAR) { special(SPC_NOMOD) interest(2) prompt("Lock Count") } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") special(SPC_NOMOD) interest(1) } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") special(SPC_NOMOD) interest(4) } field(SPVT, DBF_NOACCESS) { prompt("Scan Private") extra("struct scan_element *spvt") special(SPC_NOMOD) interest(4) } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of RSET") extra("struct typed_rset *rset") } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") special(SPC_NOMOD) interest(4) } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuPriority) promptgroup("20 - Scan") prompt("Scheduling Priority") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { pp(TRUE) initial("1") prompt("Undefined") promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Undefined Alarm Sevrty") initial("INVALID") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") special(SPC_NOMOD) interest(2) } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_STRING) { size(40) asl(ASL0) promptgroup("50 - Output") prompt("Current Value") pp(TRUE) } field(OVAL, DBF_STRING) { interest(3) special(SPC_NOMOD) size(40) prompt("Previous Value") } field(DOL, DBF_INLINK) { prompt("Desired Output Loc") promptgroup("40 - Input") interest(1) } field(OMSL, DBF_MENU) { prompt("Output Mode Select") promptgroup("50 - Output") menu(menuOmsl) interest(1) } field(OUT, DBF_OUTLINK) { interest(1) promptgroup("50 - Output") prompt("Output Specification") } field(MPST, DBF_MENU) { promptgroup("80 - Display") prompt("Post Value Monitors") interest(1) menu(stringoutPOST) } field(APST, DBF_MENU) { menu(stringoutPOST) interest(1) prompt("Post Archive Monitors") promptgroup("80 - Display") } field(SIOL, DBF_OUTLINK) { promptgroup("90 - Simulate") prompt("Simulation Output Link") interest(1) } field(SIML, DBF_INLINK) { interest(1) prompt("Simulation Mode Link") promptgroup("90 - Simulate") } field(SIMM, DBF_MENU) { prompt("Simulation Mode") menu(menuYesNo) special(SPC_MOD) interest(1) } field(SIMS, DBF_MENU) { promptgroup("90 - Simulate") prompt("Simulation Mode Severity") interest(2) menu(menuAlarmSevr) } field(OLDSIMM, DBF_MENU) { prompt("Prev. Simulation Mode") interest(4) special(SPC_NOMOD) menu(menuSimm) } field(SSCN, DBF_MENU) { promptgroup("90 - Simulate") initial("65535") prompt("Sim. Mode Scan") interest(1) menu(menuScan) } field(SDLY, DBF_DOUBLE) { interest(2) promptgroup("90 - Simulate") prompt("Sim. Mode Async Delay") initial("-1.0") } field(SIMPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsCallback *simpvt") prompt("Sim. Mode Private") } field(IVOA, DBF_MENU) { prompt("INVALID output action") promptgroup("50 - Output") menu(menuIvoa) interest(2) } field(IVOV, DBF_STRING) { interest(2) size(40) promptgroup("50 - Output") prompt("INVALID output value") } } device(stringout, CONSTANT, devSoSoft, "Soft Channel") device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") device(stringout, INST_IO, devSoStdio, "stdio") device(stringout, INST_IO, asynSoOctetWrite, "asynOctetWrite") recordtype(seq) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { promptgroup("10 - Common") prompt("Descriptor") size(41) } field(ASG, DBF_STRING) { prompt("Access Security Group") promptgroup("10 - Common") size(29) special(SPC_AS) } field(SCAN, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuScan) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { prompt("Scan Phase") promptgroup("20 - Scan") special(SPC_SCAN) interest(1) } field(EVNT, DBF_STRING) { promptgroup("20 - Scan") prompt("Event Name") interest(1) size(40) special(SPC_SCAN) } field(TSE, DBF_SHORT) { prompt("Time Stamp Event") promptgroup("20 - Scan") interest(1) } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Monitor lock") extra("epicsMutexId mlok") } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Backwards link tracking") extra("ELLLIST bklnk") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { pp(TRUE) prompt("Force Processing") interest(3) } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { interest(2) menu(menuAlarmStat) special(SPC_NOMOD) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) } field(ACKT, DBF_MENU) { initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") special(SPC_NOMOD) menu(menuYesNo) interest(2) } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { prompt("Lock Count") special(SPC_NOMOD) interest(2) } field(PACT, DBF_UCHAR) { prompt("Record active") interest(1) special(SPC_NOMOD) } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") special(SPC_NOMOD) interest(1) } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") special(SPC_NOMOD) interest(1) } field(ASP, DBF_NOACCESS) { prompt("Access Security Pvt") extra("struct asgMember *asp") special(SPC_NOMOD) interest(4) } field(PPN, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") interest(4) special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct scan_element *spvt") prompt("Scan Private") } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct typed_rset *rset") prompt("Address of RSET") } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") interest(4) special(SPC_NOMOD) } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuPriority) promptgroup("20 - Scan") prompt("Scheduling Priority") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { interest(1) promptgroup("10 - Common") prompt("Undefined") pp(TRUE) initial("1") } field(UDFS, DBF_MENU) { prompt("Undefined Alarm Sevrty") initial("INVALID") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(TIME, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_LONG) { prompt("Used to trigger") pp(TRUE) asl(ASL0) } field(SELM, DBF_MENU) { promptgroup("30 - Action") prompt("Select Mechanism") interest(1) menu(seqSELM) } field(SELN, DBF_USHORT) { prompt("Link Selection") initial("1") interest(1) } field(SELL, DBF_INLINK) { prompt("Link Selection Loc") promptgroup("30 - Action") interest(1) } field(OFFS, DBF_SHORT) { interest(1) prompt("Offset for Specified") initial("0") promptgroup("30 - Action") } field(SHFT, DBF_SHORT) { interest(1) promptgroup("30 - Action") prompt("Shift for Mask mode") initial("-1") } field(OLDN, DBF_USHORT) { interest(4) prompt("Old Selection") } field(PREC, DBF_SHORT) { promptgroup("80 - Display") prompt("Display Precision") interest(1) } field(DLY0, DBF_DOUBLE) { promptgroup("41 - Link 0-7") prompt("Delay 0") interest(1) } field(DOL0, DBF_INLINK) { promptgroup("41 - Link 0-7") prompt("Input link 0") interest(1) } field(DO0, DBF_DOUBLE) { interest(1) prompt("Value 0") } field(LNK0, DBF_OUTLINK) { interest(1) prompt("Output Link 0") promptgroup("41 - Link 0-7") } field(DLY1, DBF_DOUBLE) { interest(1) promptgroup("41 - Link 0-7") prompt("Delay 1") } field(DOL1, DBF_INLINK) { interest(1) prompt("Input link1") promptgroup("41 - Link 0-7") } field(DO1, DBF_DOUBLE) { interest(1) prompt("Value 1") } field(LNK1, DBF_OUTLINK) { prompt("Output Link 1") promptgroup("41 - Link 0-7") interest(1) } field(DLY2, DBF_DOUBLE) { interest(1) promptgroup("41 - Link 0-7") prompt("Delay 2") } field(DOL2, DBF_INLINK) { interest(1) prompt("Input link 2") promptgroup("41 - Link 0-7") } field(DO2, DBF_DOUBLE) { interest(1) prompt("Value 2") } field(LNK2, DBF_OUTLINK) { prompt("Output Link 2") promptgroup("41 - Link 0-7") interest(1) } field(DLY3, DBF_DOUBLE) { prompt("Delay 3") promptgroup("41 - Link 0-7") interest(1) } field(DOL3, DBF_INLINK) { promptgroup("41 - Link 0-7") prompt("Input link 3") interest(1) } field(DO3, DBF_DOUBLE) { interest(1) prompt("Value 3") } field(LNK3, DBF_OUTLINK) { interest(1) prompt("Output Link 3") promptgroup("41 - Link 0-7") } field(DLY4, DBF_DOUBLE) { prompt("Delay 4") promptgroup("41 - Link 0-7") interest(1) } field(DOL4, DBF_INLINK) { interest(1) promptgroup("41 - Link 0-7") prompt("Input link 4") } field(DO4, DBF_DOUBLE) { prompt("Value 4") interest(1) } field(LNK4, DBF_OUTLINK) { promptgroup("41 - Link 0-7") prompt("Output Link 4") interest(1) } field(DLY5, DBF_DOUBLE) { interest(1) prompt("Delay 5") promptgroup("41 - Link 0-7") } field(DOL5, DBF_INLINK) { prompt("Input link 5") promptgroup("41 - Link 0-7") interest(1) } field(DO5, DBF_DOUBLE) { prompt("Value 5") interest(1) } field(LNK5, DBF_OUTLINK) { prompt("Output Link 5") promptgroup("41 - Link 0-7") interest(1) } field(DLY6, DBF_DOUBLE) { promptgroup("41 - Link 0-7") prompt("Delay 6") interest(1) } field(DOL6, DBF_INLINK) { promptgroup("41 - Link 0-7") prompt("Input link 6") interest(1) } field(DO6, DBF_DOUBLE) { interest(1) prompt("Value 6") } field(LNK6, DBF_OUTLINK) { interest(1) promptgroup("41 - Link 0-7") prompt("Output Link 6") } field(DLY7, DBF_DOUBLE) { promptgroup("41 - Link 0-7") prompt("Delay 7") interest(1) } field(DOL7, DBF_INLINK) { promptgroup("41 - Link 0-7") prompt("Input link 7") interest(1) } field(DO7, DBF_DOUBLE) { interest(1) prompt("Value 7") } field(LNK7, DBF_OUTLINK) { interest(1) prompt("Output Link 7") promptgroup("41 - Link 0-7") } field(DLY8, DBF_DOUBLE) { interest(1) promptgroup("42 - Link 8-F") prompt("Delay 8") } field(DOL8, DBF_INLINK) { interest(1) promptgroup("42 - Link 8-F") prompt("Input link 8") } field(DO8, DBF_DOUBLE) { prompt("Value 8") interest(1) } field(LNK8, DBF_OUTLINK) { prompt("Output Link 8") promptgroup("42 - Link 8-F") interest(1) } field(DLY9, DBF_DOUBLE) { interest(1) prompt("Delay 9") promptgroup("42 - Link 8-F") } field(DOL9, DBF_INLINK) { interest(1) promptgroup("42 - Link 8-F") prompt("Input link 9") } field(DO9, DBF_DOUBLE) { interest(1) prompt("Value 9") } field(LNK9, DBF_OUTLINK) { interest(1) prompt("Output Link 9") promptgroup("42 - Link 8-F") } field(DLYA, DBF_DOUBLE) { promptgroup("42 - Link 8-F") prompt("Delay 10") interest(1) } field(DOLA, DBF_INLINK) { interest(1) promptgroup("42 - Link 8-F") prompt("Input link 10") } field(DOA, DBF_DOUBLE) { prompt("Value 10") interest(1) } field(LNKA, DBF_OUTLINK) { interest(1) promptgroup("42 - Link 8-F") prompt("Output Link 10") } field(DLYB, DBF_DOUBLE) { prompt("Delay 11") promptgroup("42 - Link 8-F") interest(1) } field(DOLB, DBF_INLINK) { interest(1) prompt("Input link 11") promptgroup("42 - Link 8-F") } field(DOB, DBF_DOUBLE) { prompt("Value 11") interest(1) } field(LNKB, DBF_OUTLINK) { interest(1) prompt("Output Link 11") promptgroup("42 - Link 8-F") } field(DLYC, DBF_DOUBLE) { prompt("Delay 12") promptgroup("42 - Link 8-F") interest(1) } field(DOLC, DBF_INLINK) { prompt("Input link 12") promptgroup("42 - Link 8-F") interest(1) } field(DOC, DBF_DOUBLE) { interest(1) prompt("Value 12") } field(LNKC, DBF_OUTLINK) { promptgroup("42 - Link 8-F") prompt("Output Link 12") interest(1) } field(DLYD, DBF_DOUBLE) { prompt("Delay 13") promptgroup("42 - Link 8-F") interest(1) } field(DOLD, DBF_INLINK) { prompt("Input link 13") promptgroup("42 - Link 8-F") interest(1) } field(DOD, DBF_DOUBLE) { interest(1) prompt("Value 13") } field(LNKD, DBF_OUTLINK) { prompt("Output Link 13") promptgroup("42 - Link 8-F") interest(1) } field(DLYE, DBF_DOUBLE) { interest(1) prompt("Delay 14") promptgroup("42 - Link 8-F") } field(DOLE, DBF_INLINK) { prompt("Input link 14") promptgroup("42 - Link 8-F") interest(1) } field(DOE, DBF_DOUBLE) { interest(1) prompt("Value 14") } field(LNKE, DBF_OUTLINK) { promptgroup("42 - Link 8-F") prompt("Output Link 14") interest(1) } field(DLYF, DBF_DOUBLE) { prompt("Delay 15") promptgroup("42 - Link 8-F") interest(1) } field(DOLF, DBF_INLINK) { interest(1) prompt("Input link 15") promptgroup("42 - Link 8-F") } field(DOF, DBF_DOUBLE) { interest(1) prompt("Value 15") } field(LNKF, DBF_OUTLINK) { interest(1) prompt("Output Link 15") promptgroup("42 - Link 8-F") } } recordtype(lso) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "devSup.h" % %/* Declare Device Support Entry Table */ %typedef struct lsodset { % long number; % DEVSUPFUN report; % DEVSUPFUN init; % DEVSUPFUN init_record; % DEVSUPFUN get_ioint_info; % DEVSUPFUN write_string; %} lsodset; % %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { size(41) prompt("Descriptor") promptgroup("10 - Common") } field(ASG, DBF_STRING) { prompt("Access Security Group") promptgroup("10 - Common") special(SPC_AS) size(29) } field(SCAN, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuScan) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { size(40) special(SPC_SCAN) interest(1) prompt("Event Name") promptgroup("20 - Scan") } field(TSE, DBF_SHORT) { prompt("Time Stamp Event") promptgroup("20 - Scan") interest(1) } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") special(SPC_NOMOD) interest(4) } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor List") extra("ELLLIST mlis") } field(BKLNK, DBF_NOACCESS) { prompt("Backwards link tracking") extra("ELLLIST bklnk") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) pp(TRUE) prompt("Force Processing") } field(STAT, DBF_MENU) { initial("UDF") prompt("Alarm Status") menu(menuAlarmStat) special(SPC_NOMOD) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) } field(NSTA, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) interest(2) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKT, DBF_MENU) { prompt("Alarm Ack Transient") initial("YES") promptgroup("70 - Alarm") special(SPC_NOMOD) menu(menuYesNo) interest(2) } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { prompt("Lock Count") special(SPC_NOMOD) interest(2) } field(PACT, DBF_UCHAR) { prompt("Record active") interest(1) special(SPC_NOMOD) } field(PUTF, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") special(SPC_NOMOD) interest(1) } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of RSET") extra("struct typed_rset *rset") } field(DSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { extra("void *dpvt") prompt("Device Private") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") } field(LSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { menu(menuPriority) special(SPC_SCAN) interest(1) prompt("Scheduling Priority") promptgroup("20 - Scan") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { interest(1) promptgroup("10 - Common") prompt("Undefined") initial("1") pp(TRUE) } field(UDFS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Undefined Alarm Sevrty") initial("INVALID") interest(1) menu(menuAlarmSevr) } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) pp(TRUE) extra("char *val") prompt("Current Value") } field(OVAL, DBF_NOACCESS) { extra("char *oval") prompt("Previous Value") interest(3) special(SPC_DBADDR) } field(SIZV, DBF_USHORT) { promptgroup("50 - Output") initial("41") prompt("Size of buffers") interest(1) special(SPC_NOMOD) } field(LEN, DBF_ULONG) { special(SPC_NOMOD) prompt("Length of VAL") } field(OLEN, DBF_ULONG) { prompt("Length of OVAL") interest(3) special(SPC_NOMOD) } field(DOL, DBF_INLINK) { interest(1) promptgroup("40 - Input") prompt("Desired Output Link") } field(IVOA, DBF_MENU) { interest(2) menu(menuIvoa) promptgroup("50 - Output") prompt("INVALID Output Action") } field(IVOV, DBF_STRING) { prompt("INVALID Output Value") promptgroup("50 - Output") size(40) interest(2) } field(OMSL, DBF_MENU) { promptgroup("50 - Output") prompt("Output Mode Select") interest(1) menu(menuOmsl) } field(OUT, DBF_OUTLINK) { interest(1) promptgroup("50 - Output") prompt("Output Specification") } field(MPST, DBF_MENU) { interest(1) menu(menuPost) promptgroup("80 - Display") prompt("Post Value Monitors") } field(APST, DBF_MENU) { menu(menuPost) interest(1) prompt("Post Archive Monitors") promptgroup("80 - Display") } field(SIML, DBF_INLINK) { prompt("Simulation Mode link") promptgroup("90 - Simulate") interest(1) } field(SIMM, DBF_MENU) { interest(1) menu(menuYesNo) special(SPC_MOD) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { promptgroup("90 - Simulate") prompt("Simulation Mode Severity") interest(2) menu(menuAlarmSevr) } field(SIOL, DBF_OUTLINK) { promptgroup("90 - Simulate") prompt("Simulation Output Link") interest(1) } field(OLDSIMM, DBF_MENU) { interest(4) menu(menuSimm) special(SPC_NOMOD) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { interest(1) menu(menuScan) promptgroup("90 - Simulate") prompt("Sim. Mode Scan") initial("65535") } field(SDLY, DBF_DOUBLE) { interest(2) prompt("Sim. Mode Async Delay") initial("-1.0") promptgroup("90 - Simulate") } field(SIMPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsCallback *simpvt") prompt("Sim. Mode Private") } } device(lso, CONSTANT, devLsoSoft, "Soft Channel") device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") device(lso, INST_IO, devLsoStdio, "stdio") recordtype(int64in) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") special(SPC_NOMOD) size(61) } field(DESC, DBF_STRING) { promptgroup("10 - Common") prompt("Descriptor") size(41) } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") size(29) special(SPC_AS) } field(SCAN, DBF_MENU) { promptgroup("20 - Scan") prompt("Scan Mechanism") interest(1) menu(menuScan) special(SPC_SCAN) } field(PINI, DBF_MENU) { menu(menuPini) interest(1) prompt("Process at iocInit") promptgroup("20 - Scan") } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) prompt("Time Stamp Event") promptgroup("20 - Scan") } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { prompt("Device Type") promptgroup("10 - Common") interest(1) } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") initial("1") prompt("Disable Value") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor lock") extra("epicsMutexId mlok") } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor List") extra("ELLLIST mlis") } field(BKLNK, DBF_NOACCESS) { prompt("Backwards link tracking") extra("ELLLIST bklnk") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { prompt("Alarm Status") initial("UDF") special(SPC_NOMOD) menu(menuAlarmStat) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") menu(menuAlarmSevr) special(SPC_NOMOD) } field(NSTA, DBF_MENU) { interest(2) menu(menuAlarmStat) special(SPC_NOMOD) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { prompt("Alarm Ack Transient") initial("YES") promptgroup("70 - Alarm") special(SPC_NOMOD) menu(menuYesNo) interest(2) } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { special(SPC_NOMOD) interest(2) prompt("Lock Count") } field(PACT, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Record active") } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") interest(1) special(SPC_NOMOD) } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") special(SPC_NOMOD) interest(1) } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { extra("struct processNotify *ppn") prompt("pprocessNotify") special(SPC_NOMOD) interest(4) } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") interest(4) special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of RSET") extra("struct typed_rset *rset") } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") special(SPC_NOMOD) interest(4) } field(LSET, DBF_NOACCESS) { extra("struct lockRecord *lset") prompt("Lock Set") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { prompt("Scheduling Priority") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuPriority) interest(1) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { extra("char bkpt") prompt("Break Point") interest(1) special(SPC_NOMOD) } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") prompt("Undefined") initial("1") pp(TRUE) interest(1) } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Undefined Alarm Sevrty") initial("INVALID") } field(TIME, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_INT64) { asl(ASL0) pp(TRUE) prompt("Current value") promptgroup("40 - Input") } field(INP, DBF_INLINK) { interest(1) promptgroup("40 - Input") prompt("Input Specification") } field(EGU, DBF_STRING) { interest(1) size(16) promptgroup("80 - Display") prop(YES) prompt("Units name") } field(HOPR, DBF_INT64) { interest(1) prompt("High Operating Range") prop(YES) promptgroup("80 - Display") } field(LOPR, DBF_INT64) { interest(1) prompt("Low Operating Range") promptgroup("80 - Display") prop(YES) } field(HIHI, DBF_INT64) { interest(1) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Hihi Alarm Limit") } field(LOLO, DBF_INT64) { interest(1) pp(TRUE) prompt("Lolo Alarm Limit") promptgroup("70 - Alarm") prop(YES) } field(HIGH, DBF_INT64) { promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("High Alarm Limit") interest(1) } field(LOW, DBF_INT64) { prop(YES) promptgroup("70 - Alarm") prompt("Low Alarm Limit") pp(TRUE) interest(1) } field(HHSV, DBF_MENU) { promptgroup("70 - Alarm") prompt("Hihi Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LLSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") pp(TRUE) prompt("Lolo Severity") } field(HSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("High Severity") promptgroup("70 - Alarm") } field(LSV, DBF_MENU) { pp(TRUE) prompt("Low Severity") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(HYST, DBF_INT64) { interest(1) prompt("Alarm Deadband") promptgroup("70 - Alarm") } field(AFTC, DBF_DOUBLE) { prompt("Alarm Filter Time Constant") promptgroup("70 - Alarm") interest(1) } field(AFVL, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Alarm Filter Value") } field(ADEL, DBF_INT64) { interest(1) promptgroup("80 - Display") prompt("Archive Deadband") } field(MDEL, DBF_INT64) { prompt("Monitor Deadband") promptgroup("80 - Display") interest(1) } field(LALM, DBF_INT64) { special(SPC_NOMOD) interest(3) prompt("Last Value Alarmed") } field(ALST, DBF_INT64) { prompt("Last Value Archived") interest(3) special(SPC_NOMOD) } field(MLST, DBF_INT64) { prompt("Last Val Monitored") special(SPC_NOMOD) interest(3) } field(SIOL, DBF_INLINK) { interest(1) prompt("Simulation Input Link") promptgroup("90 - Simulate") } field(SVAL, DBF_INT64) { prompt("Simulation Value") } field(SIML, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Mode Link") interest(1) } field(SIMM, DBF_MENU) { prompt("Simulation Mode") interest(1) special(SPC_MOD) menu(menuYesNo) } field(SIMS, DBF_MENU) { promptgroup("90 - Simulate") prompt("Simulation Mode Severity") interest(2) menu(menuAlarmSevr) } field(OLDSIMM, DBF_MENU) { prompt("Prev. Simulation Mode") special(SPC_NOMOD) menu(menuSimm) interest(4) } field(SSCN, DBF_MENU) { initial("65535") prompt("Sim. Mode Scan") promptgroup("90 - Simulate") menu(menuScan) interest(1) } field(SDLY, DBF_DOUBLE) { promptgroup("90 - Simulate") initial("-1.0") prompt("Sim. Mode Async Delay") interest(2) } field(SIMPVT, DBF_NOACCESS) { extra("epicsCallback *simpvt") prompt("Sim. Mode Private") interest(4) special(SPC_NOMOD) } } device(int64in, CONSTANT, devI64inSoft, "Soft Channel") device(int64in, CONSTANT, devI64inSoftCallback, "Async Soft Channel") device(int64in, INST_IO, asynInt64In, "asynInt64") recordtype(event) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "dbScan.h" %#include "callback.h" field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { size(29) special(SPC_AS) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { interest(1) menu(menuScan) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { interest(1) prompt("Time Stamp Link") promptgroup("20 - Scan") } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { prompt("Monitor lock") extra("epicsMutexId mlok") interest(4) special(SPC_NOMOD) } field(MLIS, DBF_NOACCESS) { extra("ELLLIST mlis") prompt("Monitor List") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) prompt("Force Processing") pp(TRUE) } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) interest(2) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKT, DBF_MENU) { promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") interest(2) special(SPC_NOMOD) menu(menuYesNo) } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") special(SPC_NOMOD) interest(4) } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct scan_element *spvt") prompt("Scan Private") } field(RSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct typed_rset *rset") prompt("Address of RSET") } field(DSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Lock Set") extra("struct lockRecord *lset") } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) special(SPC_SCAN) menu(menuPriority) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { extra("char bkpt") prompt("Break Point") interest(1) special(SPC_NOMOD) } field(UDF, DBF_UCHAR) { prompt("Undefined") initial("1") pp(TRUE) promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Undefined Alarm Sevrty") initial("INVALID") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { prompt("Forward Process Link") promptgroup("20 - Scan") interest(1) } field(VAL, DBF_STRING) { special(SPC_MOD) size(40) asl(ASL0) prompt("Event Name To Post") promptgroup("40 - Input") } field(EPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("EVENTPVT epvt") prompt("Event private") } field(INP, DBF_INLINK) { interest(1) promptgroup("40 - Input") prompt("Input Specification") } field(SIOL, DBF_INLINK) { interest(1) promptgroup("90 - Simulate") prompt("Sim Input Specifctn") } field(SVAL, DBF_STRING) { size(40) prompt("Simulation Value") } field(SIML, DBF_INLINK) { prompt("Sim Mode Location") promptgroup("90 - Simulate") interest(1) } field(SIMM, DBF_MENU) { prompt("Simulation Mode") menu(menuYesNo) special(SPC_MOD) interest(1) } field(SIMS, DBF_MENU) { interest(2) menu(menuAlarmSevr) promptgroup("90 - Simulate") prompt("Sim mode Alarm Svrty") } field(OLDSIMM, DBF_MENU) { interest(4) special(SPC_NOMOD) menu(menuSimm) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { interest(1) menu(menuScan) promptgroup("90 - Simulate") initial("65535") prompt("Sim. Mode Scan") } field(SDLY, DBF_DOUBLE) { interest(2) prompt("Sim. Mode Async Delay") initial("-1.0") promptgroup("90 - Simulate") } field(SIMPVT, DBF_NOACCESS) { extra("epicsCallback *simpvt") prompt("Sim. Mode Private") special(SPC_NOMOD) interest(4) } } device(event, CONSTANT, devEventSoft, "Soft Channel") recordtype(sel) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { size(41) prompt("Descriptor") promptgroup("10 - Common") } field(ASG, DBF_STRING) { prompt("Access Security Group") promptgroup("10 - Common") special(SPC_AS) size(29) } field(SCAN, DBF_MENU) { special(SPC_SCAN) menu(menuScan) interest(1) prompt("Scan Mechanism") promptgroup("20 - Scan") } field(PINI, DBF_MENU) { menu(menuPini) interest(1) prompt("Process at iocInit") promptgroup("20 - Scan") } field(PHAS, DBF_SHORT) { prompt("Scan Phase") promptgroup("20 - Scan") special(SPC_SCAN) interest(1) } field(EVNT, DBF_STRING) { special(SPC_SCAN) size(40) interest(1) prompt("Event Name") promptgroup("20 - Scan") } field(TSE, DBF_SHORT) { promptgroup("20 - Scan") prompt("Time Stamp Event") interest(1) } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { prompt("Disable Value") initial("1") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { prompt("Monitor lock") extra("epicsMutexId mlok") interest(4) special(SPC_NOMOD) } field(MLIS, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) pp(TRUE) prompt("Force Processing") } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) prompt("Alarm Status") initial("UDF") } field(SEVR, DBF_MENU) { prompt("Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) } field(NSTA, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmStat) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) } field(ACKT, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuYesNo) promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") } field(DISS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") } field(LCNT, DBF_UCHAR) { interest(2) special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") special(SPC_NOMOD) interest(1) } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") interest(1) special(SPC_NOMOD) } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { prompt("Access Security Pvt") extra("struct asgMember *asp") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { extra("struct processNotify *ppn") prompt("pprocessNotify") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") interest(4) special(SPC_NOMOD) } field(RSET, DBF_NOACCESS) { prompt("Address of RSET") extra("struct typed_rset *rset") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") interest(4) special(SPC_NOMOD) } field(DPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("void *dpvt") prompt("Device Private") } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Lock Set") extra("struct lockRecord *lset") } field(PRIO, DBF_MENU) { menu(menuPriority) special(SPC_SCAN) interest(1) prompt("Scheduling Priority") promptgroup("20 - Scan") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { prompt("Break Point") extra("char bkpt") special(SPC_NOMOD) interest(1) } field(UDF, DBF_UCHAR) { prompt("Undefined") initial("1") pp(TRUE) promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(TIME, DBF_NOACCESS) { interest(2) special(SPC_NOMOD) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_DOUBLE) { asl(ASL0) special(SPC_NOMOD) prompt("Result") promptgroup("40 - Input") } field(SELM, DBF_MENU) { menu(selSELM) prompt("Select Mechanism") promptgroup("30 - Action") } field(SELN, DBF_USHORT) { prompt("Index value") } field(PREC, DBF_SHORT) { promptgroup("80 - Display") prompt("Display Precision") interest(1) } field(NVL, DBF_INLINK) { promptgroup("30 - Action") prompt("Index Value Location") interest(1) } field(INPA, DBF_INLINK) { interest(1) prompt("Input A") promptgroup("41 - Input A-F") } field(INPB, DBF_INLINK) { promptgroup("41 - Input A-F") prompt("Input B") interest(1) } field(INPC, DBF_INLINK) { promptgroup("41 - Input A-F") prompt("Input C") interest(1) } field(INPD, DBF_INLINK) { prompt("Input D") promptgroup("41 - Input A-F") interest(1) } field(INPE, DBF_INLINK) { interest(1) prompt("Input E") promptgroup("41 - Input A-F") } field(INPF, DBF_INLINK) { prompt("Input F") promptgroup("41 - Input A-F") interest(1) } field(INPG, DBF_INLINK) { interest(1) promptgroup("42 - Input G-L") prompt("Input G") } field(INPH, DBF_INLINK) { interest(1) promptgroup("42 - Input G-L") prompt("Input H") } field(INPI, DBF_INLINK) { promptgroup("42 - Input G-L") prompt("Input I") interest(1) } field(INPJ, DBF_INLINK) { interest(1) promptgroup("42 - Input G-L") prompt("Input J") } field(INPK, DBF_INLINK) { interest(1) prompt("Input K") promptgroup("42 - Input G-L") } field(INPL, DBF_INLINK) { interest(1) prompt("Input L") promptgroup("42 - Input G-L") } field(EGU, DBF_STRING) { promptgroup("80 - Display") prop(YES) prompt("Engineering Units") interest(1) size(16) } field(HOPR, DBF_DOUBLE) { prompt("High Operating Rng") prop(YES) promptgroup("80 - Display") interest(1) } field(LOPR, DBF_DOUBLE) { interest(1) prompt("Low Operating Range") prop(YES) promptgroup("80 - Display") } field(HIHI, DBF_DOUBLE) { interest(1) prop(YES) promptgroup("70 - Alarm") prompt("Hihi Alarm Limit") pp(TRUE) } field(LOLO, DBF_DOUBLE) { interest(1) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Lolo Alarm Limit") } field(HIGH, DBF_DOUBLE) { prompt("High Alarm Limit") pp(TRUE) prop(YES) promptgroup("70 - Alarm") interest(1) } field(LOW, DBF_DOUBLE) { pp(TRUE) prompt("Low Alarm Limit") promptgroup("70 - Alarm") prop(YES) interest(1) } field(HHSV, DBF_MENU) { prompt("Hihi Severity") pp(TRUE) prop(YES) promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LLSV, DBF_MENU) { pp(TRUE) prompt("Lolo Severity") promptgroup("70 - Alarm") prop(YES) menu(menuAlarmSevr) interest(1) } field(HSV, DBF_MENU) { prompt("High Severity") pp(TRUE) prop(YES) promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) prop(YES) promptgroup("70 - Alarm") prompt("Low Severity") pp(TRUE) } field(HYST, DBF_DOUBLE) { promptgroup("70 - Alarm") prompt("Alarm Deadband") interest(1) } field(ADEL, DBF_DOUBLE) { prompt("Archive Deadband") promptgroup("80 - Display") interest(1) } field(MDEL, DBF_DOUBLE) { promptgroup("80 - Display") prompt("Monitor Deadband") interest(1) } field(A, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input A") } field(B, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input B") } field(C, DBF_DOUBLE) { prompt("Value of Input C") pp(TRUE) } field(D, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input D") } field(E, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input E") } field(F, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input F") } field(G, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input G") } field(H, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input H") } field(I, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input I") } field(J, DBF_DOUBLE) { prompt("Value of Input J") pp(TRUE) } field(K, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input K") } field(L, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input L") } field(LA, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of A") } field(LB, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of B") } field(LC, DBF_DOUBLE) { prompt("Prev Value of C") special(SPC_NOMOD) interest(3) } field(LD, DBF_DOUBLE) { prompt("Prev Value of D") interest(3) special(SPC_NOMOD) } field(LE, DBF_DOUBLE) { prompt("Prev Value of E") interest(3) special(SPC_NOMOD) } field(LF, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of F") } field(LG, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of G") } field(LH, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of H") } field(LI, DBF_DOUBLE) { prompt("Prev Value of I") interest(3) special(SPC_NOMOD) } field(LJ, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of J") } field(LK, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of K") } field(LL, DBF_DOUBLE) { prompt("Prev Value of L") special(SPC_NOMOD) interest(3) } field(LALM, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Last Value Alarmed") } field(ALST, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Last Value Archived") } field(MLST, DBF_DOUBLE) { prompt("Last Val Monitored") special(SPC_NOMOD) interest(3) } field(NLST, DBF_USHORT) { prompt("Last Index Monitored") interest(3) special(SPC_NOMOD) } } recordtype(sub) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %struct subRecord; %typedef long (*SUBFUNCPTR)(struct subRecord *); field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") size(29) special(SPC_AS) } field(SCAN, DBF_MENU) { interest(1) menu(menuScan) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { interest(1) menu(menuPini) promptgroup("20 - Scan") prompt("Process at iocInit") } field(PHAS, DBF_SHORT) { special(SPC_SCAN) interest(1) prompt("Scan Phase") promptgroup("20 - Scan") } field(EVNT, DBF_STRING) { interest(1) special(SPC_SCAN) size(40) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { promptgroup("20 - Scan") prompt("Time Stamp Event") interest(1) } field(TSEL, DBF_INLINK) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Link") } field(DTYP, DBF_DEVICE) { interest(1) promptgroup("10 - Common") prompt("Device Type") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor lock") extra("epicsMutexId mlok") } field(MLIS, DBF_NOACCESS) { prompt("Monitor List") extra("ELLLIST mlis") special(SPC_NOMOD) interest(4) } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { pp(TRUE) prompt("Force Processing") interest(3) } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) prompt("Alarm Status") initial("UDF") } field(SEVR, DBF_MENU) { prompt("Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") menu(menuAlarmStat) special(SPC_NOMOD) interest(2) } field(NSEV, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuYesNo) promptgroup("70 - Alarm") initial("YES") prompt("Alarm Ack Transient") } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { prompt("Lock Count") interest(2) special(SPC_NOMOD) } field(PACT, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Record active") } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Access Security Pvt") extra("struct asgMember *asp") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") interest(4) special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct scan_element *spvt") prompt("Scan Private") } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") special(SPC_NOMOD) interest(4) } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") } field(LSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct lockRecord *lset") prompt("Lock Set") } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) special(SPC_SCAN) menu(menuPriority) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { prompt("Break Point") extra("char bkpt") interest(1) special(SPC_NOMOD) } field(UDF, DBF_UCHAR) { interest(1) pp(TRUE) initial("1") prompt("Undefined") promptgroup("10 - Common") } field(UDFS, DBF_MENU) { prompt("Undefined Alarm Sevrty") initial("INVALID") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) extra("epicsTimeStamp time") prompt("Time") } field(FLNK, DBF_FWDLINK) { interest(1) promptgroup("20 - Scan") prompt("Forward Process Link") } field(VAL, DBF_DOUBLE) { pp(TRUE) prompt("Result") asl(ASL0) } field(INAM, DBF_STRING) { promptgroup("30 - Action") prompt("Init Routine Name") interest(1) special(SPC_NOMOD) size(40) } field(SNAM, DBF_STRING) { promptgroup("30 - Action") prompt("Subroutine Name") interest(1) size(40) special(SPC_MOD) } field(SADR, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("SUBFUNCPTR sadr") prompt("Subroutine Address") } field(INPA, DBF_INLINK) { interest(1) promptgroup("41 - Input A-F") prompt("Input A") } field(INPB, DBF_INLINK) { promptgroup("41 - Input A-F") prompt("Input B") interest(1) } field(INPC, DBF_INLINK) { prompt("Input C") promptgroup("41 - Input A-F") interest(1) } field(INPD, DBF_INLINK) { prompt("Input D") promptgroup("41 - Input A-F") interest(1) } field(INPE, DBF_INLINK) { prompt("Input E") promptgroup("41 - Input A-F") interest(1) } field(INPF, DBF_INLINK) { interest(1) promptgroup("41 - Input A-F") prompt("Input F") } field(INPG, DBF_INLINK) { interest(1) prompt("Input G") promptgroup("42 - Input G-L") } field(INPH, DBF_INLINK) { interest(1) promptgroup("42 - Input G-L") prompt("Input H") } field(INPI, DBF_INLINK) { prompt("Input I") promptgroup("42 - Input G-L") interest(1) } field(INPJ, DBF_INLINK) { prompt("Input J") promptgroup("42 - Input G-L") interest(1) } field(INPK, DBF_INLINK) { interest(1) prompt("Input K") promptgroup("42 - Input G-L") } field(INPL, DBF_INLINK) { interest(1) promptgroup("42 - Input G-L") prompt("Input L") } field(EGU, DBF_STRING) { size(16) interest(1) prompt("Engineering Units") promptgroup("80 - Display") prop(YES) } field(HOPR, DBF_DOUBLE) { prop(YES) promptgroup("80 - Display") prompt("High Operating Range") interest(1) } field(LOPR, DBF_DOUBLE) { interest(1) promptgroup("80 - Display") prop(YES) prompt("Low Operating Range") } field(HIHI, DBF_DOUBLE) { promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Hihi Alarm Limit") interest(1) } field(LOLO, DBF_DOUBLE) { interest(1) pp(TRUE) prompt("Lolo Alarm Limit") promptgroup("70 - Alarm") prop(YES) } field(HIGH, DBF_DOUBLE) { pp(TRUE) prompt("High Alarm Limit") promptgroup("70 - Alarm") prop(YES) interest(1) } field(LOW, DBF_DOUBLE) { pp(TRUE) prompt("Low Alarm Limit") promptgroup("70 - Alarm") prop(YES) interest(1) } field(PREC, DBF_SHORT) { prompt("Display Precision") prop(YES) promptgroup("80 - Display") interest(1) } field(BRSV, DBF_MENU) { prompt("Bad Return Severity") pp(TRUE) promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(HHSV, DBF_MENU) { prop(YES) promptgroup("70 - Alarm") prompt("Hihi Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LLSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) prop(YES) promptgroup("70 - Alarm") prompt("Lolo Severity") pp(TRUE) } field(HSV, DBF_MENU) { promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("High Severity") interest(1) menu(menuAlarmSevr) } field(LSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Low Severity") pp(TRUE) prop(YES) promptgroup("70 - Alarm") } field(HYST, DBF_DOUBLE) { prompt("Alarm Deadband") promptgroup("70 - Alarm") interest(1) } field(ADEL, DBF_DOUBLE) { prompt("Archive Deadband") promptgroup("80 - Display") interest(1) } field(MDEL, DBF_DOUBLE) { prompt("Monitor Deadband") promptgroup("80 - Display") interest(1) } field(A, DBF_DOUBLE) { prompt("Value of Input A") pp(TRUE) } field(B, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input B") } field(C, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input C") } field(D, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input D") } field(E, DBF_DOUBLE) { prompt("Value of Input E") pp(TRUE) } field(F, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input F") } field(G, DBF_DOUBLE) { prompt("Value of Input G") pp(TRUE) } field(H, DBF_DOUBLE) { prompt("Value of Input H") pp(TRUE) } field(I, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input I") } field(J, DBF_DOUBLE) { prompt("Value of Input J") pp(TRUE) } field(K, DBF_DOUBLE) { prompt("Value of Input K") pp(TRUE) } field(L, DBF_DOUBLE) { prompt("Value of Input L") pp(TRUE) } field(LA, DBF_DOUBLE) { prompt("Prev Value of A") special(SPC_NOMOD) interest(3) } field(LB, DBF_DOUBLE) { prompt("Prev Value of B") special(SPC_NOMOD) interest(3) } field(LC, DBF_DOUBLE) { prompt("Prev Value of C") special(SPC_NOMOD) interest(3) } field(LD, DBF_DOUBLE) { prompt("Prev Value of D") special(SPC_NOMOD) interest(3) } field(LE, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of E") } field(LF, DBF_DOUBLE) { prompt("Prev Value of F") interest(3) special(SPC_NOMOD) } field(LG, DBF_DOUBLE) { prompt("Prev Value of G") interest(3) special(SPC_NOMOD) } field(LH, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of H") } field(LI, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of I") } field(LJ, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of J") } field(LK, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of K") } field(LL, DBF_DOUBLE) { prompt("Prev Value of L") special(SPC_NOMOD) interest(3) } field(LALM, DBF_DOUBLE) { prompt("Last Value Alarmed") interest(3) special(SPC_NOMOD) } field(ALST, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Last Value Archived") } field(MLST, DBF_DOUBLE) { prompt("Last Value Monitored") special(SPC_NOMOD) interest(3) } } recordtype(calcout) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "dbScan.h" %#include "postfix.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { size(41) promptgroup("10 - Common") prompt("Descriptor") } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") size(29) special(SPC_AS) } field(SCAN, DBF_MENU) { interest(1) special(SPC_SCAN) menu(menuScan) promptgroup("20 - Scan") prompt("Scan Mechanism") } field(PINI, DBF_MENU) { prompt("Process at iocInit") promptgroup("20 - Scan") menu(menuPini) interest(1) } field(PHAS, DBF_SHORT) { interest(1) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scan Phase") } field(EVNT, DBF_STRING) { promptgroup("20 - Scan") prompt("Event Name") interest(1) size(40) special(SPC_SCAN) } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Link") } field(DTYP, DBF_DEVICE) { prompt("Device Type") promptgroup("10 - Common") interest(1) } field(DISV, DBF_SHORT) { initial("1") prompt("Disable Value") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor List") extra("ELLLIST mlis") } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { prompt("Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") interest(2) menu(menuAlarmStat) special(SPC_NOMOD) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKT, DBF_MENU) { prompt("Alarm Ack Transient") initial("YES") promptgroup("70 - Alarm") menu(menuYesNo) special(SPC_NOMOD) interest(2) } field(DISS, DBF_MENU) { prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LCNT, DBF_UCHAR) { prompt("Lock Count") interest(2) special(SPC_NOMOD) } field(PACT, DBF_UCHAR) { prompt("Record active") interest(1) special(SPC_NOMOD) } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") special(SPC_NOMOD) interest(1) } field(RPRO, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { extra("struct asgMember *asp") prompt("Access Security Pvt") special(SPC_NOMOD) interest(4) } field(PPN, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") special(SPC_NOMOD) interest(4) } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Scan Private") extra("struct scan_element *spvt") } field(RSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct typed_rset *rset") prompt("Address of RSET") } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") special(SPC_NOMOD) interest(4) } field(PRIO, DBF_MENU) { promptgroup("20 - Scan") prompt("Scheduling Priority") interest(1) special(SPC_SCAN) menu(menuPriority) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") prompt("Undefined") pp(TRUE) initial("1") interest(1) } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Undefined Alarm Sevrty") initial("INVALID") } field(TIME, DBF_NOACCESS) { extra("epicsTimeStamp time") prompt("Time") interest(2) special(SPC_NOMOD) } field(FLNK, DBF_FWDLINK) { promptgroup("20 - Scan") prompt("Forward Process Link") interest(1) } field(RPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Record Private") extra("struct rpvtStruct *rpvt") } field(VAL, DBF_DOUBLE) { asl(ASL0) prompt("Result") promptgroup("50 - Output") } field(PVAL, DBF_DOUBLE) { prompt("Previous Value") } field(CALC, DBF_STRING) { promptgroup("30 - Action") special(SPC_CALC) size(80) initial("0") pp(TRUE) prompt("Calculation") } field(CLCV, DBF_LONG) { prompt("CALC Valid") interest(1) } field(INPA, DBF_INLINK) { special(SPC_MOD) interest(1) prompt("Input A") promptgroup("41 - Input A-F") } field(INPB, DBF_INLINK) { promptgroup("41 - Input A-F") prompt("Input B") interest(1) special(SPC_MOD) } field(INPC, DBF_INLINK) { interest(1) special(SPC_MOD) promptgroup("41 - Input A-F") prompt("Input C") } field(INPD, DBF_INLINK) { interest(1) special(SPC_MOD) promptgroup("41 - Input A-F") prompt("Input D") } field(INPE, DBF_INLINK) { prompt("Input E") promptgroup("41 - Input A-F") special(SPC_MOD) interest(1) } field(INPF, DBF_INLINK) { special(SPC_MOD) interest(1) prompt("Input F") promptgroup("41 - Input A-F") } field(INPG, DBF_INLINK) { prompt("Input G") promptgroup("42 - Input G-L") special(SPC_MOD) interest(1) } field(INPH, DBF_INLINK) { promptgroup("42 - Input G-L") prompt("Input H") interest(1) special(SPC_MOD) } field(INPI, DBF_INLINK) { promptgroup("42 - Input G-L") prompt("Input I") interest(1) special(SPC_MOD) } field(INPJ, DBF_INLINK) { interest(1) special(SPC_MOD) promptgroup("42 - Input G-L") prompt("Input J") } field(INPK, DBF_INLINK) { special(SPC_MOD) interest(1) prompt("Input K") promptgroup("42 - Input G-L") } field(INPL, DBF_INLINK) { promptgroup("42 - Input G-L") prompt("Input L") interest(1) special(SPC_MOD) } field(OUT, DBF_OUTLINK) { prompt("Output Specification") promptgroup("50 - Output") special(SPC_MOD) interest(1) } field(INAV, DBF_MENU) { initial("1") prompt("INPA PV Status") special(SPC_NOMOD) menu(calcoutINAV) interest(1) } field(INBV, DBF_MENU) { menu(calcoutINAV) special(SPC_NOMOD) interest(1) prompt("INPB PV Status") initial("1") } field(INCV, DBF_MENU) { menu(calcoutINAV) special(SPC_NOMOD) interest(1) prompt("INPC PV Status") initial("1") } field(INDV, DBF_MENU) { prompt("INPD PV Status") initial("1") interest(1) special(SPC_NOMOD) menu(calcoutINAV) } field(INEV, DBF_MENU) { initial("1") prompt("INPE PV Status") interest(1) menu(calcoutINAV) special(SPC_NOMOD) } field(INFV, DBF_MENU) { initial("1") prompt("INPF PV Status") special(SPC_NOMOD) menu(calcoutINAV) interest(1) } field(INGV, DBF_MENU) { special(SPC_NOMOD) menu(calcoutINAV) interest(1) prompt("INPG PV Status") initial("1") } field(INHV, DBF_MENU) { special(SPC_NOMOD) menu(calcoutINAV) interest(1) prompt("INPH PV Status") initial("1") } field(INIV, DBF_MENU) { prompt("INPI PV Status") initial("1") menu(calcoutINAV) special(SPC_NOMOD) interest(1) } field(INJV, DBF_MENU) { interest(1) special(SPC_NOMOD) menu(calcoutINAV) prompt("INPJ PV Status") initial("1") } field(INKV, DBF_MENU) { interest(1) menu(calcoutINAV) special(SPC_NOMOD) initial("1") prompt("INPK PV Status") } field(INLV, DBF_MENU) { initial("1") prompt("INPL PV Status") menu(calcoutINAV) special(SPC_NOMOD) interest(1) } field(OUTV, DBF_MENU) { interest(1) menu(calcoutINAV) special(SPC_NOMOD) prompt("OUT PV Status") } field(OOPT, DBF_MENU) { menu(calcoutOOPT) interest(1) prompt("Output Execute Opt") promptgroup("50 - Output") } field(ODLY, DBF_DOUBLE) { promptgroup("50 - Output") prompt("Output Execute Delay") interest(1) asl(ASL0) } field(DLYA, DBF_USHORT) { asl(ASL0) special(SPC_NOMOD) prompt("Output Delay Active") } field(DOPT, DBF_MENU) { promptgroup("30 - Action") prompt("Output Data Opt") interest(1) menu(calcoutDOPT) } field(OCAL, DBF_STRING) { prompt("Output Calculation") pp(TRUE) initial("0") size(80) special(SPC_CALC) promptgroup("30 - Action") } field(OCLV, DBF_LONG) { prompt("OCAL Valid") interest(1) } field(OEVT, DBF_STRING) { prompt("Event To Issue") promptgroup("30 - Action") asl(ASL0) size(40) special(SPC_MOD) } field(EPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Event private") extra("EVENTPVT epvt") } field(IVOA, DBF_MENU) { interest(2) menu(menuIvoa) promptgroup("50 - Output") prompt("INVALID output action") } field(IVOV, DBF_DOUBLE) { prompt("INVALID output value") promptgroup("50 - Output") interest(2) } field(EGU, DBF_STRING) { prompt("Engineering Units") prop(YES) promptgroup("80 - Display") size(16) interest(1) } field(PREC, DBF_SHORT) { prompt("Display Precision") promptgroup("80 - Display") prop(YES) interest(1) } field(HOPR, DBF_DOUBLE) { interest(1) prompt("High Operating Rng") prop(YES) promptgroup("80 - Display") } field(LOPR, DBF_DOUBLE) { interest(1) prompt("Low Operating Range") promptgroup("80 - Display") prop(YES) } field(HIHI, DBF_DOUBLE) { interest(1) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Hihi Alarm Limit") } field(LOLO, DBF_DOUBLE) { prop(YES) promptgroup("70 - Alarm") prompt("Lolo Alarm Limit") pp(TRUE) interest(1) } field(HIGH, DBF_DOUBLE) { interest(1) promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("High Alarm Limit") } field(LOW, DBF_DOUBLE) { prompt("Low Alarm Limit") pp(TRUE) prop(YES) promptgroup("70 - Alarm") interest(1) } field(HHSV, DBF_MENU) { prop(YES) promptgroup("70 - Alarm") prompt("Hihi Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LLSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("Lolo Severity") promptgroup("70 - Alarm") prop(YES) } field(HSV, DBF_MENU) { prompt("High Severity") pp(TRUE) prop(YES) promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LSV, DBF_MENU) { promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Low Severity") interest(1) menu(menuAlarmSevr) } field(HYST, DBF_DOUBLE) { interest(1) promptgroup("70 - Alarm") prompt("Alarm Deadband") } field(ADEL, DBF_DOUBLE) { interest(1) promptgroup("80 - Display") prompt("Archive Deadband") } field(MDEL, DBF_DOUBLE) { interest(1) promptgroup("80 - Display") prompt("Monitor Deadband") } field(A, DBF_DOUBLE) { prompt("Value of Input A") pp(TRUE) } field(B, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input B") } field(C, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input C") } field(D, DBF_DOUBLE) { prompt("Value of Input D") pp(TRUE) } field(E, DBF_DOUBLE) { prompt("Value of Input E") pp(TRUE) } field(F, DBF_DOUBLE) { prompt("Value of Input F") pp(TRUE) } field(G, DBF_DOUBLE) { prompt("Value of Input G") pp(TRUE) } field(H, DBF_DOUBLE) { prompt("Value of Input H") pp(TRUE) } field(I, DBF_DOUBLE) { prompt("Value of Input I") pp(TRUE) } field(J, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input J") } field(K, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input K") } field(L, DBF_DOUBLE) { pp(TRUE) prompt("Value of Input L") } field(OVAL, DBF_DOUBLE) { asl(ASL0) prompt("Output Value") } field(LA, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of A") } field(LB, DBF_DOUBLE) { prompt("Prev Value of B") special(SPC_NOMOD) interest(3) } field(LC, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of C") } field(LD, DBF_DOUBLE) { prompt("Prev Value of D") interest(3) special(SPC_NOMOD) } field(LE, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of E") } field(LF, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of F") } field(LG, DBF_DOUBLE) { prompt("Prev Value of G") interest(3) special(SPC_NOMOD) } field(LH, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of H") } field(LI, DBF_DOUBLE) { prompt("Prev Value of I") interest(3) special(SPC_NOMOD) } field(LJ, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Prev Value of J") } field(LK, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Prev Value of K") } field(LL, DBF_DOUBLE) { prompt("Prev Value of L") interest(3) special(SPC_NOMOD) } field(POVL, DBF_DOUBLE) { asl(ASL0) prompt("Prev Value of OVAL") } field(LALM, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Last Value Alarmed") } field(ALST, DBF_DOUBLE) { prompt("Last Value Archived") special(SPC_NOMOD) interest(3) } field(MLST, DBF_DOUBLE) { prompt("Last Val Monitored") special(SPC_NOMOD) interest(3) } field(RPCL, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Reverse Polish Calc") extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") } field(ORPC, DBF_NOACCESS) { prompt("Reverse Polish OCalc") extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") special(SPC_NOMOD) interest(4) } } device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") recordtype(ai) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { size(61) special(SPC_NOMOD) prompt("Record Name") } field(DESC, DBF_STRING) { prompt("Descriptor") promptgroup("10 - Common") size(41) } field(ASG, DBF_STRING) { size(29) special(SPC_AS) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") menu(menuScan) special(SPC_SCAN) interest(1) } field(PINI, DBF_MENU) { menu(menuPini) interest(1) prompt("Process at iocInit") promptgroup("20 - Scan") } field(PHAS, DBF_SHORT) { special(SPC_SCAN) interest(1) prompt("Scan Phase") promptgroup("20 - Scan") } field(EVNT, DBF_STRING) { promptgroup("20 - Scan") prompt("Event Name") interest(1) special(SPC_SCAN) size(40) } field(TSE, DBF_SHORT) { promptgroup("20 - Scan") prompt("Time Stamp Event") interest(1) } field(TSEL, DBF_INLINK) { prompt("Time Stamp Link") promptgroup("20 - Scan") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") initial("1") prompt("Disable Value") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") special(SPC_NOMOD) interest(4) } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") interest(4) special(SPC_NOMOD) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { interest(3) prompt("Force Processing") pp(TRUE) } field(STAT, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { prompt("New Alarm Status") special(SPC_NOMOD) menu(menuAlarmStat) interest(2) } field(NSEV, DBF_MENU) { prompt("New Alarm Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) } field(ACKT, DBF_MENU) { promptgroup("70 - Alarm") initial("YES") prompt("Alarm Ack Transient") interest(2) menu(menuYesNo) special(SPC_NOMOD) } field(DISS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(LCNT, DBF_UCHAR) { special(SPC_NOMOD) interest(2) prompt("Lock Count") } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { prompt("Access Security Pvt") extra("struct asgMember *asp") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") interest(4) special(SPC_NOMOD) } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") special(SPC_NOMOD) interest(4) } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct dset *dset") prompt("DSET address") } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") interest(4) special(SPC_NOMOD) } field(LSET, DBF_NOACCESS) { extra("struct lockRecord *lset") prompt("Lock Set") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { interest(1) menu(menuPriority) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Scheduling Priority") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) extra("char bkpt") prompt("Break Point") } field(UDF, DBF_UCHAR) { pp(TRUE) initial("1") prompt("Undefined") promptgroup("10 - Common") interest(1) } field(UDFS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") } field(TIME, DBF_NOACCESS) { special(SPC_NOMOD) interest(2) prompt("Time") extra("epicsTimeStamp time") } field(FLNK, DBF_FWDLINK) { promptgroup("20 - Scan") prompt("Forward Process Link") interest(1) } field(VAL, DBF_DOUBLE) { asl(ASL0) prompt("Current EGU Value") pp(TRUE) promptgroup("40 - Input") } field(INP, DBF_INLINK) { prompt("Input Specification") promptgroup("40 - Input") interest(1) } field(PREC, DBF_SHORT) { interest(1) prompt("Display Precision") prop(YES) promptgroup("80 - Display") } field(LINR, DBF_MENU) { interest(1) prompt("Linearization") pp(TRUE) special(SPC_LINCONV) menu(menuConvert) promptgroup("60 - Convert") } field(EGUF, DBF_DOUBLE) { promptgroup("60 - Convert") prompt("Engineer Units Full") pp(TRUE) interest(1) special(SPC_LINCONV) } field(EGUL, DBF_DOUBLE) { prompt("Engineer Units Low") pp(TRUE) promptgroup("60 - Convert") special(SPC_LINCONV) interest(1) } field(EGU, DBF_STRING) { prop(YES) promptgroup("80 - Display") prompt("Engineering Units") interest(1) size(16) } field(HOPR, DBF_DOUBLE) { interest(1) prompt("High Operating Range") promptgroup("80 - Display") prop(YES) } field(LOPR, DBF_DOUBLE) { prompt("Low Operating Range") promptgroup("80 - Display") prop(YES) interest(1) } field(AOFF, DBF_DOUBLE) { promptgroup("60 - Convert") prompt("Adjustment Offset") pp(TRUE) interest(1) } field(ASLO, DBF_DOUBLE) { interest(1) prompt("Adjustment Slope") initial("1") pp(TRUE) promptgroup("60 - Convert") } field(SMOO, DBF_DOUBLE) { prompt("Smoothing") promptgroup("60 - Convert") interest(1) } field(HIHI, DBF_DOUBLE) { promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Hihi Alarm Limit") interest(1) } field(LOLO, DBF_DOUBLE) { interest(1) prop(YES) promptgroup("70 - Alarm") prompt("Lolo Alarm Limit") pp(TRUE) } field(HIGH, DBF_DOUBLE) { prop(YES) promptgroup("70 - Alarm") prompt("High Alarm Limit") pp(TRUE) interest(1) } field(LOW, DBF_DOUBLE) { prompt("Low Alarm Limit") pp(TRUE) prop(YES) promptgroup("70 - Alarm") interest(1) } field(HHSV, DBF_MENU) { prop(YES) promptgroup("70 - Alarm") prompt("Hihi Severity") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LLSV, DBF_MENU) { promptgroup("70 - Alarm") prop(YES) pp(TRUE) prompt("Lolo Severity") interest(1) menu(menuAlarmSevr) } field(HSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("High Severity") promptgroup("70 - Alarm") prop(YES) } field(LSV, DBF_MENU) { pp(TRUE) prompt("Low Severity") promptgroup("70 - Alarm") prop(YES) menu(menuAlarmSevr) interest(1) } field(HYST, DBF_DOUBLE) { interest(1) promptgroup("70 - Alarm") prompt("Alarm Deadband") } field(AFTC, DBF_DOUBLE) { promptgroup("70 - Alarm") prompt("Alarm Filter Time Constant") interest(1) } field(ADEL, DBF_DOUBLE) { interest(1) prompt("Archive Deadband") promptgroup("80 - Display") } field(MDEL, DBF_DOUBLE) { prompt("Monitor Deadband") promptgroup("80 - Display") interest(1) } field(LALM, DBF_DOUBLE) { prompt("Last Value Alarmed") interest(3) special(SPC_NOMOD) } field(AFVL, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Alarm Filter Value") } field(ALST, DBF_DOUBLE) { special(SPC_NOMOD) interest(3) prompt("Last Value Archived") } field(MLST, DBF_DOUBLE) { prompt("Last Val Monitored") interest(3) special(SPC_NOMOD) } field(ESLO, DBF_DOUBLE) { initial("1") pp(TRUE) prompt("Raw to EGU Slope") promptgroup("60 - Convert") interest(2) } field(EOFF, DBF_DOUBLE) { interest(2) promptgroup("60 - Convert") prompt("Raw to EGU Offset") pp(TRUE) } field(ROFF, DBF_ULONG) { interest(2) pp(TRUE) prompt("Raw Offset") } field(PBRK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Ptrto brkTable") extra("void * pbrk") } field(INIT, DBF_SHORT) { special(SPC_NOMOD) interest(3) prompt("Initialized?") } field(LBRK, DBF_SHORT) { interest(3) special(SPC_NOMOD) prompt("LastBreak Point") } field(RVAL, DBF_LONG) { pp(TRUE) prompt("Current Raw Value") } field(ORAW, DBF_LONG) { prompt("Previous Raw Value") interest(3) special(SPC_NOMOD) } field(SIOL, DBF_INLINK) { prompt("Simulation Input Link") promptgroup("90 - Simulate") interest(1) } field(SVAL, DBF_DOUBLE) { prompt("Simulation Value") } field(SIML, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Simulation Mode Link") interest(1) } field(SIMM, DBF_MENU) { special(SPC_MOD) menu(menuSimm) interest(1) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { menu(menuAlarmSevr) interest(2) prompt("Simulation Mode Severity") promptgroup("90 - Simulate") } field(OLDSIMM, DBF_MENU) { special(SPC_NOMOD) menu(menuSimm) interest(4) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { promptgroup("90 - Simulate") prompt("Sim. Mode Scan") initial("65535") interest(1) menu(menuScan) } field(SDLY, DBF_DOUBLE) { promptgroup("90 - Simulate") prompt("Sim. Mode Async Delay") initial("-1.0") interest(2) } field(SIMPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("epicsCallback *simpvt") prompt("Sim. Mode Private") } } device(ai, CONSTANT, devAiSoft, "Soft Channel") device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") device(ai, INST_IO, devTimestampAI, "Soft Timestamp") device(ai, INST_IO, devAiGeneralTime, "General Time") device(ai, INST_IO, asynAiInt32, "asynInt32") device(ai, INST_IO, asynAiInt32Average, "asynInt32Average") device(ai, INST_IO, asynAiFloat64, "asynFloat64") device(ai, INST_IO, asynAiFloat64Average, "asynFloat64Average") recordtype(bo) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { special(SPC_NOMOD) size(61) prompt("Record Name") } field(DESC, DBF_STRING) { prompt("Descriptor") promptgroup("10 - Common") size(41) } field(ASG, DBF_STRING) { size(29) special(SPC_AS) prompt("Access Security Group") promptgroup("10 - Common") } field(SCAN, DBF_MENU) { special(SPC_SCAN) menu(menuScan) interest(1) prompt("Scan Mechanism") promptgroup("20 - Scan") } field(PINI, DBF_MENU) { menu(menuPini) interest(1) prompt("Process at iocInit") promptgroup("20 - Scan") } field(PHAS, DBF_SHORT) { prompt("Scan Phase") promptgroup("20 - Scan") special(SPC_SCAN) interest(1) } field(EVNT, DBF_STRING) { prompt("Event Name") promptgroup("20 - Scan") size(40) special(SPC_SCAN) interest(1) } field(TSE, DBF_SHORT) { interest(1) prompt("Time Stamp Event") promptgroup("20 - Scan") } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { interest(1) prompt("Device Type") promptgroup("10 - Common") } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { promptgroup("20 - Scan") prompt("Scanning Disable") interest(1) } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Monitor List") extra("ELLLIST mlis") } field(BKLNK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST bklnk") prompt("Backwards link tracking") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { pp(TRUE) prompt("Force Processing") interest(3) } field(STAT, DBF_MENU) { prompt("Alarm Status") initial("UDF") menu(menuAlarmStat) special(SPC_NOMOD) } field(SEVR, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmStat) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) } field(ACKT, DBF_MENU) { initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") menu(menuYesNo) special(SPC_NOMOD) interest(2) } field(DISS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(LCNT, DBF_UCHAR) { prompt("Lock Count") interest(2) special(SPC_NOMOD) } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") special(SPC_NOMOD) interest(1) } field(ASP, DBF_NOACCESS) { prompt("Access Security Pvt") extra("struct asgMember *asp") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("pprocessNotify") extra("struct processNotify *ppn") } field(PPNR, DBF_NOACCESS) { extra("struct processNotifyRecord *ppnr") prompt("pprocessNotifyRecord") interest(4) special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { prompt("Scan Private") extra("struct scan_element *spvt") interest(4) special(SPC_NOMOD) } field(RSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct typed_rset *rset") prompt("Address of RSET") } field(DSET, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("DSET address") extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { extra("void *dpvt") prompt("Device Private") special(SPC_NOMOD) interest(4) } field(RDES, DBF_NOACCESS) { prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") special(SPC_NOMOD) interest(4) } field(LSET, DBF_NOACCESS) { extra("struct lockRecord *lset") prompt("Lock Set") interest(4) special(SPC_NOMOD) } field(PRIO, DBF_MENU) { prompt("Scheduling Priority") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuPriority) interest(1) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) prompt("Break Point") extra("char bkpt") } field(UDF, DBF_UCHAR) { interest(1) prompt("Undefined") initial("1") pp(TRUE) promptgroup("10 - Common") } field(UDFS, DBF_MENU) { promptgroup("70 - Alarm") initial("INVALID") prompt("Undefined Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(TIME, DBF_NOACCESS) { extra("epicsTimeStamp time") prompt("Time") interest(2) special(SPC_NOMOD) } field(FLNK, DBF_FWDLINK) { interest(1) promptgroup("20 - Scan") prompt("Forward Process Link") } field(VAL, DBF_ENUM) { promptgroup("50 - Output") pp(TRUE) prompt("Current Value") asl(ASL0) } field(OMSL, DBF_MENU) { prompt("Output Mode Select") promptgroup("50 - Output") menu(menuOmsl) interest(1) } field(DOL, DBF_INLINK) { prompt("Desired Output Loc") promptgroup("40 - Input") interest(1) } field(OUT, DBF_OUTLINK) { interest(1) promptgroup("50 - Output") prompt("Output Specification") } field(HIGH, DBF_DOUBLE) { interest(1) prompt("Seconds to Hold High") promptgroup("30 - Action") } field(ZNAM, DBF_STRING) { pp(TRUE) prompt("Zero Name") promptgroup("80 - Display") prop(YES) size(26) interest(1) } field(ONAM, DBF_STRING) { size(26) interest(1) pp(TRUE) prompt("One Name") promptgroup("80 - Display") prop(YES) } field(RVAL, DBF_ULONG) { pp(TRUE) prompt("Raw Value") } field(ORAW, DBF_ULONG) { prompt("prev Raw Value") interest(3) special(SPC_NOMOD) } field(MASK, DBF_ULONG) { prompt("Hardware Mask") special(SPC_NOMOD) interest(1) } field(RPVT, DBF_NOACCESS) { extra("void * rpvt") prompt("Record Private") special(SPC_NOMOD) interest(4) } field(WDPT, DBF_NOACCESS) { extra("void * wdpt") prompt("Watch Dog Timer ID") interest(4) special(SPC_NOMOD) } field(ZSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Zero Error Severity") pp(TRUE) promptgroup("70 - Alarm") } field(OSV, DBF_MENU) { promptgroup("70 - Alarm") pp(TRUE) prompt("One Error Severity") interest(1) menu(menuAlarmSevr) } field(COSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Change of State Sevr") pp(TRUE) promptgroup("70 - Alarm") } field(RBV, DBF_ULONG) { prompt("Readback Value") special(SPC_NOMOD) } field(ORBV, DBF_ULONG) { prompt("Prev Readback Value") interest(3) special(SPC_NOMOD) } field(MLST, DBF_USHORT) { prompt("Last Value Monitored") special(SPC_NOMOD) interest(3) } field(LALM, DBF_USHORT) { special(SPC_NOMOD) interest(3) prompt("Last Value Alarmed") } field(SIOL, DBF_OUTLINK) { promptgroup("90 - Simulate") prompt("Simulation Output Link") interest(1) } field(SIML, DBF_INLINK) { interest(1) promptgroup("90 - Simulate") prompt("Simulation Mode Link") } field(SIMM, DBF_MENU) { interest(1) menu(menuYesNo) special(SPC_MOD) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { interest(2) menu(menuAlarmSevr) promptgroup("90 - Simulate") prompt("Simulation Mode Severity") } field(OLDSIMM, DBF_MENU) { menu(menuSimm) special(SPC_NOMOD) interest(4) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { interest(1) menu(menuScan) promptgroup("90 - Simulate") initial("65535") prompt("Sim. Mode Scan") } field(SDLY, DBF_DOUBLE) { interest(2) promptgroup("90 - Simulate") initial("-1.0") prompt("Sim. Mode Async Delay") } field(SIMPVT, DBF_NOACCESS) { extra("epicsCallback *simpvt") prompt("Sim. Mode Private") interest(4) special(SPC_NOMOD) } field(IVOA, DBF_MENU) { promptgroup("50 - Output") prompt("INVALID outpt action") interest(2) menu(menuIvoa) } field(IVOV, DBF_USHORT) { interest(2) promptgroup("50 - Output") prompt("INVALID output value") } } device(bo, CONSTANT, devBoSoft, "Soft Channel") device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") device(bo, INST_IO, devBoGeneralTime, "General Time") device(bo, INST_IO, devBoDbState, "Db State") device(bo, INST_IO, asynBoInt32, "asynInt32") device(bo, INST_IO, asynBoUInt32Digital, "asynUInt32Digital") recordtype(longin) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") size(61) special(SPC_NOMOD) } field(DESC, DBF_STRING) { size(41) prompt("Descriptor") promptgroup("10 - Common") } field(ASG, DBF_STRING) { prompt("Access Security Group") promptgroup("10 - Common") special(SPC_AS) size(29) } field(SCAN, DBF_MENU) { promptgroup("20 - Scan") prompt("Scan Mechanism") interest(1) menu(menuScan) special(SPC_SCAN) } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { interest(1) size(40) special(SPC_SCAN) promptgroup("20 - Scan") prompt("Event Name") } field(TSE, DBF_SHORT) { prompt("Time Stamp Event") promptgroup("20 - Scan") interest(1) } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { prompt("Device Type") promptgroup("10 - Common") interest(1) } field(DISV, DBF_SHORT) { prompt("Disable Value") initial("1") promptgroup("20 - Scan") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { extra("ELLLIST mlis") prompt("Monitor List") interest(4) special(SPC_NOMOD) } field(BKLNK, DBF_NOACCESS) { extra("ELLLIST bklnk") prompt("Backwards link tracking") special(SPC_NOMOD) interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmStat) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { prompt("Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) } field(NSTA, DBF_MENU) { prompt("New Alarm Status") menu(menuAlarmStat) special(SPC_NOMOD) interest(2) } field(NSEV, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { prompt("Alarm Ack Severity") interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) } field(ACKT, DBF_MENU) { menu(menuYesNo) special(SPC_NOMOD) interest(2) initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") } field(DISS, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") } field(LCNT, DBF_UCHAR) { prompt("Lock Count") special(SPC_NOMOD) interest(2) } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") interest(1) special(SPC_NOMOD) } field(ASP, DBF_NOACCESS) { extra("struct asgMember *asp") prompt("Access Security Pvt") interest(4) special(SPC_NOMOD) } field(PPN, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") special(SPC_NOMOD) interest(4) } field(SPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct scan_element *spvt") prompt("Scan Private") } field(RSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct typed_rset *rset") prompt("Address of RSET") } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") interest(4) special(SPC_NOMOD) } field(DPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("void *dpvt") prompt("Device Private") } field(RDES, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") } field(LSET, DBF_NOACCESS) { extra("struct lockRecord *lset") prompt("Lock Set") special(SPC_NOMOD) interest(4) } field(PRIO, DBF_MENU) { special(SPC_SCAN) menu(menuPriority) interest(1) prompt("Scheduling Priority") promptgroup("20 - Scan") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) prompt("Break Point") extra("char bkpt") } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") prompt("Undefined") initial("1") pp(TRUE) interest(1) } field(UDFS, DBF_MENU) { initial("INVALID") prompt("Undefined Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") interest(2) special(SPC_NOMOD) } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_LONG) { promptgroup("40 - Input") pp(TRUE) prompt("Current value") asl(ASL0) } field(INP, DBF_INLINK) { interest(1) prompt("Input Specification") promptgroup("40 - Input") } field(EGU, DBF_STRING) { size(16) interest(1) prompt("Engineering Units") prop(YES) promptgroup("80 - Display") } field(HOPR, DBF_LONG) { interest(1) prop(YES) promptgroup("80 - Display") prompt("High Operating Range") } field(LOPR, DBF_LONG) { interest(1) prompt("Low Operating Range") promptgroup("80 - Display") prop(YES) } field(HIHI, DBF_LONG) { interest(1) pp(TRUE) prompt("Hihi Alarm Limit") promptgroup("70 - Alarm") prop(YES) } field(LOLO, DBF_LONG) { prop(YES) promptgroup("70 - Alarm") prompt("Lolo Alarm Limit") pp(TRUE) interest(1) } field(HIGH, DBF_LONG) { interest(1) prop(YES) promptgroup("70 - Alarm") prompt("High Alarm Limit") pp(TRUE) } field(LOW, DBF_LONG) { prop(YES) promptgroup("70 - Alarm") prompt("Low Alarm Limit") pp(TRUE) interest(1) } field(HHSV, DBF_MENU) { prompt("Hihi Severity") pp(TRUE) promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LLSV, DBF_MENU) { menu(menuAlarmSevr) interest(1) pp(TRUE) prompt("Lolo Severity") promptgroup("70 - Alarm") } field(HSV, DBF_MENU) { prompt("High Severity") pp(TRUE) promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LSV, DBF_MENU) { interest(1) menu(menuAlarmSevr) promptgroup("70 - Alarm") pp(TRUE) prompt("Low Severity") } field(HYST, DBF_LONG) { interest(1) prompt("Alarm Deadband") promptgroup("70 - Alarm") } field(AFTC, DBF_DOUBLE) { prompt("Alarm Filter Time Constant") promptgroup("70 - Alarm") interest(1) } field(AFVL, DBF_DOUBLE) { interest(3) special(SPC_NOMOD) prompt("Alarm Filter Value") } field(ADEL, DBF_LONG) { interest(1) prompt("Archive Deadband") promptgroup("80 - Display") } field(MDEL, DBF_LONG) { interest(1) promptgroup("80 - Display") prompt("Monitor Deadband") } field(LALM, DBF_LONG) { special(SPC_NOMOD) interest(3) prompt("Last Value Alarmed") } field(ALST, DBF_LONG) { prompt("Last Value Archived") interest(3) special(SPC_NOMOD) } field(MLST, DBF_LONG) { prompt("Last Val Monitored") special(SPC_NOMOD) interest(3) } field(SIOL, DBF_INLINK) { promptgroup("90 - Simulate") prompt("Sim Input Specifctn") interest(1) } field(SVAL, DBF_LONG) { prompt("Simulation Value") } field(SIML, DBF_INLINK) { interest(1) prompt("Sim Mode Location") promptgroup("90 - Simulate") } field(SIMM, DBF_MENU) { menu(menuYesNo) special(SPC_MOD) interest(1) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { promptgroup("90 - Simulate") prompt("Sim mode Alarm Svrty") interest(2) menu(menuAlarmSevr) } field(OLDSIMM, DBF_MENU) { special(SPC_NOMOD) menu(menuSimm) interest(4) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { promptgroup("90 - Simulate") initial("65535") prompt("Sim. Mode Scan") interest(1) menu(menuScan) } field(SDLY, DBF_DOUBLE) { initial("-1.0") prompt("Sim. Mode Async Delay") promptgroup("90 - Simulate") interest(2) } field(SIMPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Sim. Mode Private") extra("epicsCallback *simpvt") } } device(longin, CONSTANT, devLiSoft, "Soft Channel") device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") device(longin, INST_IO, devLiGeneralTime, "General Time") device(longin, INST_IO, asynLiInt32, "asynInt32") device(longin, INST_IO, asynLiUInt32Digital, "asynUInt32Digital") recordtype(mbbiDirect) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") special(SPC_NOMOD) size(61) } field(DESC, DBF_STRING) { size(41) prompt("Descriptor") promptgroup("10 - Common") } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") size(29) special(SPC_AS) } field(SCAN, DBF_MENU) { menu(menuScan) special(SPC_SCAN) interest(1) prompt("Scan Mechanism") promptgroup("20 - Scan") } field(PINI, DBF_MENU) { interest(1) menu(menuPini) promptgroup("20 - Scan") prompt("Process at iocInit") } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { prompt("Event Name") promptgroup("20 - Scan") size(40) special(SPC_SCAN) interest(1) } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { promptgroup("10 - Common") prompt("Device Type") interest(1) } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") prompt("Disable Value") initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { prompt("Scanning Disable") promptgroup("20 - Scan") interest(1) } field(MLOK, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("epicsMutexId mlok") prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("ELLLIST mlis") prompt("Monitor List") } field(BKLNK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Backwards link tracking") extra("ELLLIST bklnk") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { prompt("Force Processing") pp(TRUE) interest(3) } field(STAT, DBF_MENU) { menu(menuAlarmStat) special(SPC_NOMOD) initial("UDF") prompt("Alarm Status") } field(SEVR, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) prompt("Alarm Severity") } field(NSTA, DBF_MENU) { prompt("New Alarm Status") interest(2) special(SPC_NOMOD) menu(menuAlarmStat) } field(NSEV, DBF_MENU) { special(SPC_NOMOD) menu(menuAlarmSevr) interest(2) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { menu(menuAlarmSevr) special(SPC_NOMOD) interest(2) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { interest(2) menu(menuYesNo) special(SPC_NOMOD) promptgroup("70 - Alarm") prompt("Alarm Ack Transient") initial("YES") } field(DISS, DBF_MENU) { promptgroup("70 - Alarm") prompt("Disable Alarm Sevrty") interest(1) menu(menuAlarmSevr) } field(LCNT, DBF_UCHAR) { prompt("Lock Count") special(SPC_NOMOD) interest(2) } field(PACT, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Record active") } field(PUTF, DBF_UCHAR) { interest(1) special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { prompt("Reprocess ") interest(1) special(SPC_NOMOD) } field(ASP, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("struct processNotify *ppn") prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") } field(SPVT, DBF_NOACCESS) { extra("struct scan_element *spvt") prompt("Scan Private") special(SPC_NOMOD) interest(4) } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") special(SPC_NOMOD) interest(4) } field(DSET, DBF_NOACCESS) { extra("struct dset *dset") prompt("DSET address") interest(4) special(SPC_NOMOD) } field(DPVT, DBF_NOACCESS) { prompt("Device Private") extra("void *dpvt") interest(4) special(SPC_NOMOD) } field(RDES, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) prompt("Address of dbRecordType") extra("struct dbRecordType *rdes") } field(LSET, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Lock Set") extra("struct lockRecord *lset") } field(PRIO, DBF_MENU) { prompt("Scheduling Priority") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuPriority) interest(1) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { special(SPC_NOMOD) interest(1) prompt("Break Point") extra("char bkpt") } field(UDF, DBF_UCHAR) { interest(1) prompt("Undefined") pp(TRUE) initial("1") promptgroup("10 - Common") } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Undefined Alarm Sevrty") initial("INVALID") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") special(SPC_NOMOD) interest(2) } field(FLNK, DBF_FWDLINK) { interest(1) prompt("Forward Process Link") promptgroup("20 - Scan") } field(VAL, DBF_LONG) { asl(ASL0) promptgroup("40 - Input") pp(TRUE) prompt("Current Value") } field(NOBT, DBF_SHORT) { promptgroup("40 - Input") prompt("Number of Bits") interest(1) special(SPC_NOMOD) } field(INP, DBF_INLINK) { prompt("Input Specification") promptgroup("40 - Input") interest(1) } field(RVAL, DBF_ULONG) { prompt("Raw Value") pp(TRUE) } field(ORAW, DBF_ULONG) { prompt("Prev Raw Value") special(SPC_NOMOD) interest(3) } field(MASK, DBF_ULONG) { prompt("Hardware Mask") special(SPC_NOMOD) interest(1) } field(MLST, DBF_LONG) { interest(3) special(SPC_NOMOD) prompt("Last Value Monitored") } field(SHFT, DBF_USHORT) { interest(1) promptgroup("40 - Input") prompt("Shift") } field(SIOL, DBF_INLINK) { interest(1) promptgroup("90 - Simulate") prompt("Simulation Input Link") } field(SVAL, DBF_LONG) { prompt("Simulation Value") } field(SIML, DBF_INLINK) { interest(1) prompt("Simulation Mode Link") promptgroup("90 - Simulate") } field(SIMM, DBF_MENU) { prompt("Simulation Mode") menu(menuSimm) special(SPC_MOD) interest(1) } field(SIMS, DBF_MENU) { menu(menuAlarmSevr) interest(2) prompt("Simulation Mode Severity") promptgroup("90 - Simulate") } field(OLDSIMM, DBF_MENU) { prompt("Prev. Simulation Mode") interest(4) menu(menuSimm) special(SPC_NOMOD) } field(SSCN, DBF_MENU) { prompt("Sim. Mode Scan") initial("65535") promptgroup("90 - Simulate") menu(menuScan) interest(1) } field(SDLY, DBF_DOUBLE) { interest(2) initial("-1.0") prompt("Sim. Mode Async Delay") promptgroup("90 - Simulate") } field(SIMPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsCallback *simpvt") prompt("Sim. Mode Private") } field(B0, DBF_UCHAR) { interest(1) prompt("Bit 0") pp(TRUE) } field(B1, DBF_UCHAR) { interest(1) prompt("Bit 1") pp(TRUE) } field(B2, DBF_UCHAR) { interest(1) pp(TRUE) prompt("Bit 2") } field(B3, DBF_UCHAR) { prompt("Bit 3") pp(TRUE) interest(1) } field(B4, DBF_UCHAR) { interest(1) pp(TRUE) prompt("Bit 4") } field(B5, DBF_UCHAR) { interest(1) prompt("Bit 5") pp(TRUE) } field(B6, DBF_UCHAR) { prompt("Bit 6") pp(TRUE) interest(1) } field(B7, DBF_UCHAR) { pp(TRUE) prompt("Bit 7") interest(1) } field(B8, DBF_UCHAR) { pp(TRUE) prompt("Bit 8") interest(1) } field(B9, DBF_UCHAR) { prompt("Bit 9") pp(TRUE) interest(1) } field(BA, DBF_UCHAR) { prompt("Bit 10") pp(TRUE) interest(1) } field(BB, DBF_UCHAR) { interest(1) prompt("Bit 11") pp(TRUE) } field(BC, DBF_UCHAR) { interest(1) pp(TRUE) prompt("Bit 12") } field(BD, DBF_UCHAR) { interest(1) prompt("Bit 13") pp(TRUE) } field(BE, DBF_UCHAR) { prompt("Bit 14") pp(TRUE) interest(1) } field(BF, DBF_UCHAR) { interest(1) pp(TRUE) prompt("Bit 15") } field(B10, DBF_UCHAR) { prompt("Bit 16") pp(TRUE) interest(1) } field(B11, DBF_UCHAR) { interest(1) pp(TRUE) prompt("Bit 17") } field(B12, DBF_UCHAR) { pp(TRUE) prompt("Bit 18") interest(1) } field(B13, DBF_UCHAR) { interest(1) pp(TRUE) prompt("Bit 19") } field(B14, DBF_UCHAR) { pp(TRUE) prompt("Bit 20") interest(1) } field(B15, DBF_UCHAR) { pp(TRUE) prompt("Bit 21") interest(1) } field(B16, DBF_UCHAR) { pp(TRUE) prompt("Bit 22") interest(1) } field(B17, DBF_UCHAR) { interest(1) prompt("Bit 23") pp(TRUE) } field(B18, DBF_UCHAR) { interest(1) prompt("Bit 24") pp(TRUE) } field(B19, DBF_UCHAR) { interest(1) prompt("Bit 25") pp(TRUE) } field(B1A, DBF_UCHAR) { prompt("Bit 26") pp(TRUE) interest(1) } field(B1B, DBF_UCHAR) { prompt("Bit 27") pp(TRUE) interest(1) } field(B1C, DBF_UCHAR) { pp(TRUE) prompt("Bit 28") interest(1) } field(B1D, DBF_UCHAR) { interest(1) prompt("Bit 29") pp(TRUE) } field(B1E, DBF_UCHAR) { interest(1) prompt("Bit 30") pp(TRUE) } field(B1F, DBF_UCHAR) { prompt("Bit 31") pp(TRUE) interest(1) } } device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") device(mbbiDirect, INST_IO, asynMbbiDirectUInt32Digital, "asynUInt32Digital") recordtype(lsi) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" %#include "devSup.h" % %/* Declare Device Support Entry Table */ %typedef struct lsidset { % long number; % DEVSUPFUN report; % DEVSUPFUN init; % DEVSUPFUN init_record; % DEVSUPFUN get_ioint_info; % DEVSUPFUN read_string; %} lsidset; % %#include "callback.h" field(NAME, DBF_STRING) { prompt("Record Name") special(SPC_NOMOD) size(61) } field(DESC, DBF_STRING) { prompt("Descriptor") promptgroup("10 - Common") size(41) } field(ASG, DBF_STRING) { promptgroup("10 - Common") prompt("Access Security Group") special(SPC_AS) size(29) } field(SCAN, DBF_MENU) { prompt("Scan Mechanism") promptgroup("20 - Scan") special(SPC_SCAN) menu(menuScan) interest(1) } field(PINI, DBF_MENU) { promptgroup("20 - Scan") prompt("Process at iocInit") interest(1) menu(menuPini) } field(PHAS, DBF_SHORT) { promptgroup("20 - Scan") prompt("Scan Phase") interest(1) special(SPC_SCAN) } field(EVNT, DBF_STRING) { promptgroup("20 - Scan") prompt("Event Name") interest(1) size(40) special(SPC_SCAN) } field(TSE, DBF_SHORT) { interest(1) promptgroup("20 - Scan") prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { promptgroup("20 - Scan") prompt("Time Stamp Link") interest(1) } field(DTYP, DBF_DEVICE) { prompt("Device Type") promptgroup("10 - Common") interest(1) } field(DISV, DBF_SHORT) { promptgroup("20 - Scan") initial("1") prompt("Disable Value") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { interest(1) prompt("Scanning Disable") promptgroup("20 - Scan") } field(MLOK, DBF_NOACCESS) { extra("epicsMutexId mlok") prompt("Monitor lock") special(SPC_NOMOD) interest(4) } field(MLIS, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Monitor List") extra("ELLLIST mlis") } field(BKLNK, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("ELLLIST bklnk") prompt("Backwards link tracking") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { pp(TRUE) prompt("Force Processing") interest(3) } field(STAT, DBF_MENU) { prompt("Alarm Status") initial("UDF") special(SPC_NOMOD) menu(menuAlarmStat) } field(SEVR, DBF_MENU) { prompt("Alarm Severity") special(SPC_NOMOD) menu(menuAlarmSevr) } field(NSTA, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmStat) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { interest(2) menu(menuAlarmSevr) special(SPC_NOMOD) prompt("New Alarm Severity") } field(ACKS, DBF_MENU) { interest(2) special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Ack Severity") } field(ACKT, DBF_MENU) { initial("YES") prompt("Alarm Ack Transient") promptgroup("70 - Alarm") special(SPC_NOMOD) menu(menuYesNo) interest(2) } field(DISS, DBF_MENU) { prompt("Disable Alarm Sevrty") promptgroup("70 - Alarm") menu(menuAlarmSevr) interest(1) } field(LCNT, DBF_UCHAR) { special(SPC_NOMOD) interest(2) prompt("Lock Count") } field(PACT, DBF_UCHAR) { prompt("Record active") special(SPC_NOMOD) interest(1) } field(PUTF, DBF_UCHAR) { prompt("dbPutField process") special(SPC_NOMOD) interest(1) } field(RPRO, DBF_UCHAR) { special(SPC_NOMOD) interest(1) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct asgMember *asp") prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { prompt("pprocessNotify") extra("struct processNotify *ppn") interest(4) special(SPC_NOMOD) } field(PPNR, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("pprocessNotifyRecord") extra("struct processNotifyRecord *ppnr") } field(SPVT, DBF_NOACCESS) { prompt("Scan Private") extra("struct scan_element *spvt") interest(4) special(SPC_NOMOD) } field(RSET, DBF_NOACCESS) { extra("struct typed_rset *rset") prompt("Address of RSET") interest(4) special(SPC_NOMOD) } field(DSET, DBF_NOACCESS) { prompt("DSET address") extra("struct dset *dset") special(SPC_NOMOD) interest(4) } field(DPVT, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) prompt("Device Private") extra("void *dpvt") } field(RDES, DBF_NOACCESS) { interest(4) special(SPC_NOMOD) extra("struct dbRecordType *rdes") prompt("Address of dbRecordType") } field(LSET, DBF_NOACCESS) { prompt("Lock Set") extra("struct lockRecord *lset") special(SPC_NOMOD) interest(4) } field(PRIO, DBF_MENU) { menu(menuPriority) special(SPC_SCAN) interest(1) prompt("Scheduling Priority") promptgroup("20 - Scan") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { interest(1) special(SPC_NOMOD) prompt("Break Point") extra("char bkpt") } field(UDF, DBF_UCHAR) { promptgroup("10 - Common") pp(TRUE) initial("1") prompt("Undefined") interest(1) } field(UDFS, DBF_MENU) { menu(menuAlarmSevr) interest(1) prompt("Undefined Alarm Sevrty") initial("INVALID") promptgroup("70 - Alarm") } field(TIME, DBF_NOACCESS) { prompt("Time") extra("epicsTimeStamp time") special(SPC_NOMOD) interest(2) } field(FLNK, DBF_FWDLINK) { promptgroup("20 - Scan") prompt("Forward Process Link") interest(1) } field(VAL, DBF_NOACCESS) { asl(ASL0) special(SPC_DBADDR) prompt("Current Value") extra("char *val") pp(TRUE) } field(OVAL, DBF_NOACCESS) { special(SPC_DBADDR) interest(3) prompt("Old Value") extra("char *oval") } field(SIZV, DBF_USHORT) { interest(1) special(SPC_NOMOD) promptgroup("40 - Input") prompt("Size of buffers") initial("41") } field(LEN, DBF_ULONG) { special(SPC_NOMOD) prompt("Length of VAL") } field(OLEN, DBF_ULONG) { prompt("Length of OVAL") special(SPC_NOMOD) } field(INP, DBF_INLINK) { prompt("Input Specification") promptgroup("40 - Input") interest(1) } field(MPST, DBF_MENU) { menu(menuPost) interest(1) prompt("Post Value Monitors") promptgroup("80 - Display") } field(APST, DBF_MENU) { prompt("Post Archive Monitors") promptgroup("80 - Display") menu(menuPost) interest(1) } field(SIML, DBF_INLINK) { prompt("Simulation Mode Link") promptgroup("90 - Simulate") interest(1) } field(SIMM, DBF_MENU) { interest(1) special(SPC_MOD) menu(menuYesNo) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { promptgroup("90 - Simulate") prompt("Simulation Mode Severity") interest(2) menu(menuAlarmSevr) } field(SIOL, DBF_INLINK) { prompt("Simulation Input Link") promptgroup("90 - Simulate") interest(1) } field(OLDSIMM, DBF_MENU) { menu(menuSimm) special(SPC_NOMOD) interest(4) prompt("Prev. Simulation Mode") } field(SSCN, DBF_MENU) { interest(1) menu(menuScan) promptgroup("90 - Simulate") initial("65535") prompt("Sim. Mode Scan") } field(SDLY, DBF_DOUBLE) { interest(2) promptgroup("90 - Simulate") prompt("Sim. Mode Async Delay") initial("-1.0") } field(SIMPVT, DBF_NOACCESS) { special(SPC_NOMOD) interest(4) extra("epicsCallback *simpvt") prompt("Sim. Mode Private") } } device(lsi, CONSTANT, devLsiSoft, "Soft Channel") device(lsi, INST_IO, devLsiEnviron, "getenv") driver(drvAsyn) link(calc, lnkCalcIf) link(state, lnkStateIf) link(trace, lnkTraceIf) link(debug, lnkDebugIf) link(const, lnkConstIf) registrar(asynInterposeEchoRegister) registrar(asynInterposeEosRegister) registrar(asynInterposeDelayRegister) registrar(motorRegister) registrar(decInitialize) registrar(asSub) registrar(motorUtilRegister) registrar(arrInitialize) registrar(tsInitialize) registrar(drvAsynSerialPortRegisterCommands) registrar(syncInitialize) registrar(drvAsynIPServerPortRegisterCommands) registrar(asynInterposeFlushRegister) registrar(SMC9300Register) registrar(asynRegister) registrar(drvAsynIPPortRegisterCommands) registrar(asynMotorControllerRegister) registrar(dbndInitialize) registrar(rsrvRegistrar) variable(logClientDebug, int) variable(histogramSDELprecision, int) variable(boHIGHlimit, double) variable(lnkDebug_debug, int) variable(seqDLYlimit, double) variable(dbRecordsAbcSorted, int) variable(dbBptNotMonotonic, int) variable(dbJLinkDebug, int) variable(dbConvertStrict, int) variable(dbRecordsOnceOnly, int) variable(dbTemplateMaxVars, int) variable(calcoutODLYprecision, int) variable(dbQuietMacroWarnings, int) variable(dbThreadRealtimeLock, int) variable(dbAccessDebugPUTF, int) variable(calcoutODLYlimit, double) variable(seqDLYprecision, int) variable(callbackParallelThreadsDefault, int) variable(CASDEBUG, int) variable(asCaDebug, int) variable(boHIGHprecision, int) variable(atExitDebug, int)