Newer
Older
record(ao, "$(P)$(FILTER_ID):transmission"){
field(DRVL, "0")
field(DRVH, "1")
field(PREC, "8")
}
record(calcout, "$(P)$(FILTER_ID):conv_trans") {
field(INPA, "$(P)$(FILTER_ID):transmission CP")
field(CALC, "1/A")
field(OUT, "$(P)$(FILTER_ID):attenuation PP")
}
mwyman
committed
record(ao, "$(P)$(FILTER_ID):attenuation"){
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(OUT, "@$(OBJ).updateAtten(VAL)")
mwyman
committed
field(DRVL, "1")
field(PREC, "3")
}
mwyman
committed
record(ao, "$(P)$(FILTER_ID):attenFactor"){
mwyman
committed
field(VAL, "1.0")
mwyman
committed
field(FLNK, "$(P)$(FILTER_ID):attenFactor_Calc PP")
mwyman
committed
}
mwyman
committed
record(calcout, "$(P)$(FILTER_ID):attenFactor_Calc"){
mwyman
committed
field(SCAN, "Passive")
mwyman
committed
field(INPA, "$(P)$(FILTER_ID):attenuation_actual")
field(INPB, "$(P)$(FILTER_ID):attenFactor")
mwyman
committed
field(CALC, "MAX(A*B,1.0)")
mwyman
committed
field(OUT, "$(P)$(FILTER_ID):attenuation PP")
mwyman
committed
}
# Select the source field for the energy
mwyman
committed
record(bo, "$(P)$(FILTER_ID):EnergySelect") {
mwyman
committed
field(DESC, "energy selection")
field(DTYP, "Soft Channel")
field(ZNAM, "Mono")
field(ONAM, "Local")
field(VAL, "1")
mwyman
committed
field(FLNK, "$(P)$(FILTER_ID):EnergyCalc")
mwyman
committed
}
# The local energy
mwyman
committed
record(ao, "$(P)$(FILTER_ID):EnergyLocal") {
mwyman
committed
field(DESC, "local energy")
field(VAL, "12.398")
field(PREC, "4")
field(EGU, "keV")
mwyman
committed
field(FLNK, "$(P)$(FILTER_ID):EnergyCalc")
mwyman
committed
}
# The beamline energy
mwyman
committed
record(ao, "$(P)$(FILTER_ID):EnergyBeamline") {
mwyman
committed
field(DESC, "beamline energy")
field(DOL, "$(KEV) CP")
field(OMSL, "closed_loop")
field(PREC, "4")
field(EGU, "keV")
mwyman
committed
field(FLNK, "$(P)$(FILTER_ID):EnergyCalc")
mwyman
committed
}
# Calculate the energy to be used
mwyman
committed
record(calcout, "$(P)$(FILTER_ID):EnergyCalc"){
mwyman
committed
field(DESC, "Energy select calc")
field(SCAN, "Passive")
mwyman
committed
field(INPA, "$(P)$(FILTER_ID):EnergySelect.RVAL")
field(INPB, "$(P)$(FILTER_ID):EnergyBeamline")
field(INPC, "$(P)$(FILTER_ID):EnergyLocal")
mwyman
committed
field(CALC, "(A==0)?B:C")
mwyman
committed
field(OUT, "$(P)$(FILTER_ID):energy PP")
mwyman
committed
field(PREC, "4")
field(SCAN, "Passive")
}
mwyman
committed
record(ao, "$(P)$(FILTER_ID):energy"){
mwyman
committed
field(EGU, "keV")
field(DTYP, "pydev")
mwyman
committed
field(OUT, "@$(OBJ).updateEnergy(VAL)")
mwyman
committed
field(PREC, "4")
}
mwyman
committed
record(ai, "$(P)$(FILTER_ID):energy_RBV"){
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_new_energy')")
mwyman
committed
field(SCAN, "I/O Intr")
mwyman
committed
field(PREC, "4")
}
mwyman
committed
record(calcout, "$(P)$(FILTER_ID):attenuation_twk_up"){
field(INPA, "$(P)$(FILTER_ID):sortedIndex_RBV")
mwyman
committed
field(CALC, "MIN(A+1,2**$(NUM)-1)")
mwyman
committed
field(OUT, "$(P)$(FILTER_ID):sortedIndex PP")
mwyman
committed
}
mwyman
committed
record(calcout, "$(P)$(FILTER_ID):attenuation_twk_dn"){
field(INPA, "$(P)$(FILTER_ID):sortedIndex_RBV")
mwyman
committed
field(CALC, "MAX(0,A-1)")
mwyman
committed
field(OUT, "$(P)$(FILTER_ID):sortedIndex PP")
mwyman
committed
}
mwyman
committed
record(ai, "$(P)$(FILTER_ID):attenuation_actual"){
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_new_atten')")
mwyman
committed
field(SCAN, "I/O Intr")
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
field(PREC, "5")
}
record(calcout, "$(P)$(FILTER_ID):conv_atten") {
field(INPA, "$(P)$(FILTER_ID):attenuation_actual CP")
field(CALC, "1/A")
field(OUT, "$(P)$(FILTER_ID):transmission_RBV PP")
}
record(ao, "$(P)$(FILTER_ID):transmission_RBV"){
field(DRVL, "0")
field(DRVH, "1")
field(PREC, "8")
}
record(ai, "$(P)$(FILTER_ID):atten_up"){
field(DTYP, "pydev")
field(INP, "@pydev.iointr('$(FILTER_ID)_atten_up')")
field(SCAN, "I/O Intr")
field(PREC, "5")
}
record(ai, "$(P)$(FILTER_ID):atten_dn"){
field(DTYP, "pydev")
field(INP, "@pydev.iointr('$(FILTER_ID)_atten_dn')")
field(SCAN, "I/O Intr")
field(PREC, "5")
mwyman
committed
}
mwyman
committed
record(longin, "$(P)$(FILTER_ID):filterConfig") {
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_new_filters')")
mwyman
committed
field(SCAN, "I/O Intr")
field(FLNK, "$(P)$(FILTER_ID):safeTransCalc")
mwyman
committed
}
mwyman
committed
record(longout, "$(P)$(FILTER_ID):sortedIndex") {
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(OUT, "@$(OBJ).updateIndex(VAL)")
mwyman
committed
}
mwyman
committed
record(longin, "$(P)$(FILTER_ID):sortedIndex_RBV") {
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_new_index')")
mwyman
committed
field(SCAN, "I/O Intr")
}
mwyman
committed
record(longin, "$(P)$(FILTER_ID):inMask_RBV") {
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_new_inMask')")
mwyman
committed
field(SCAN, "I/O Intr")
}
mwyman
committed
record(longin, "$(P)$(FILTER_ID):outMask_RBV") {
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_new_outMask')")
mwyman
committed
field(SCAN, "I/O Intr")
}
mwyman
committed
record(longout, "$(P)$(FILTER_ID):previewIndex") {
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(OUT, "@$(OBJ).getPreviewAtten(VAL)")
mwyman
committed
}
mwyman
committed
record(ai, "$(P)$(FILTER_ID):attenuation_preview"){
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_new_preview')")
mwyman
committed
field(SCAN, "I/O Intr")
field(PREC, "3")
}
record(calcout, "$(P)$(FILTER_ID):safeTransCalc") {
field(INPA, "$(P)$(FILTER_ID):filterConfig_RBV")
field(INPB, "$(P)$(FILTER_ID):filterConfig")
field(CALC, "A|B")
field(OUT, "$(P)$(FILTER_ID):safeTransState PP")
field(FLNK, "$(P)$(FILTER_ID):safeTransition")
}
record(longin, "$(P)$(FILTER_ID):safeTransState") {}
mwyman
committed
record(sseq, "$(P)$(FILTER_ID):safeTransition"){
mwyman
committed
field(DO1, "1")
mwyman
committed
field(LNK1, "$(P)$(FILTER_ID):disableEncode PP")
field(DOL3, "$(P)$(FILTER_ID):safeTransState")
mwyman
committed
field(LNK3, "$(P)$(FILTER_ID):filter_decode.A PP")
field(DLY4, "1.0")
field(DOL4, "$(P)$(FILTER_ID):filterConfig")
field(LNK4, "$(P)$(FILTER_ID):filter_decode.A PP")
field(DO5, "0")
field(LNK5, "$(P)$(FILTER_ID):disableEncode PP")
field(DLY6, "0.5")
mwyman
committed
field(DO6, "1")
field(LNK6, "$(P)$(FILTER_ID):filter_RBV_encode.PROC PP")
field(DO7, "1")
field(LNK7, "$(P)$(FILTER_ID):filter_encode.PROC PP")
mwyman
committed
}
mwyman
committed
record(transform, "$(P)$(FILTER_ID):filter_decode"){
mwyman
committed
field(CLCB, "A % 2")
field(CLCC, "(A >> 1) % 2")
field(CLCD, "(A >> 2) % 2")
field(CLCE, "(A >> 3) % 2")
field(CLCF, "(A >> 4) % 2")
field(CLCG, "(A >> 5) % 2")
field(CLCH, "(A >> 6) % 2")
field(CLCI, "(A >> 7) % 2")
field(CLCJ, "(A >> 8) % 2")
field(CLCK, "(A >> 9) % 2")
field(CLCL, "(A >> 10) % 2")
field(CLCM, "(A >> 11) % 2")
}
mwyman
committed
record(calcout, "$(P)$(FILTER_ID):filter_RBV_encode"){
field(OUT, "$(P)$(FILTER_ID):filterConfig_RBV PP")
mwyman
committed
field(CALC, "A+B*2+C*4+D*8+E*16+F*32+G*64+H*128+I*256+J*512+K*1024+L*2048")
}
mwyman
committed
record(longin, "$(P)$(FILTER_ID):filterConfig_RBV") {
mwyman
committed
}
mwyman
committed
record(calcout, "$(P)$(FILTER_ID):filterConfig_RBV_update") {
field(INPA, "$(P)$(FILTER_ID):filterConfig_RBV CP")
field(INPB, "$(P)$(FILTER_ID):filterConfig_BW NPP")
field(CALC, "A==B?1:0")
field(OOPT, "When Zero")
field(DOPT, "Use OCAL")
field(OCAL, "A")
field(OUT, "$(P)$(FILTER_ID):filterConfig_BW PP")
}
mwyman
committed
record(bo, "$(P)$(FILTER_ID):disableEncode"){
mwyman
committed
field(ZNAM, "Enabled")
field(ONAM, "Disabled")
}
mwyman
committed
record(calcout, "$(P)$(FILTER_ID):filter_encode"){
field(OUT, "$(P)$(FILTER_ID):filterConfig_BW PP")
mwyman
committed
field(CALC, "A+B*2+C*4+D*8+E*16+F*32+G*64+H*128+I*256+J*512+K*1024+L*2048")
}
mwyman
committed
record(longout, "$(P)$(FILTER_ID):filterConfig_BW") {
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(OUT, "@$(OBJ).updateConfig(VAL)")
mwyman
committed
}
mwyman
committed
record(ai, "$(P)$(FILTER_ID):filterRBV_atten"){
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_config_atten')")
mwyman
committed
field(SCAN, "I/O Intr")
}
mwyman
committed
record(ai, "$(P)$(FILTER_ID):attenuation_2E_actual"){
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_new_atten_2E')")
mwyman
committed
field(SCAN, "I/O Intr")
}
mwyman
committed
record(ai, "$(P)$(FILTER_ID):attenuation_3E_actual"){
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(INP, "@pydev.iointr('$(FILTER_ID)_new_atten_3E')")
mwyman
committed
field(SCAN, "I/O Intr")
}
mwyman
committed
record(calcout, "$(P)$(FILTER_ID):outMask_encode"){
field(OUT, "$(P)$(FILTER_ID):outMask PP")
mwyman
committed
field(CALC, "A+B*2+C*4+D*8+E*16+F*32+G*64+H*128+I*256+J*512+K*1024+L*2048")
}
mwyman
committed
record(longout, "$(P)$(FILTER_ID):outMask") {
mwyman
committed
field(DTYP, "pydev")
field(DESC, "Fixed-out filter mask")
mwyman
committed
field(OUT, "@$(OBJ).setOutMask(VAL)")
mwyman
committed
}
mwyman
committed
record(calcout, "$(P)$(FILTER_ID):inMask_encode"){
field(OUT, "$(P)$(FILTER_ID):inMask PP")
mwyman
committed
field(CALC, "A+B*2+C*4+D*8+E*16+F*32+G*64+H*128+I*256+J*512+K*1024+L*2048")
}
mwyman
committed
record(longout, "$(P)$(FILTER_ID):inMask") {
mwyman
committed
field(DTYP, "pydev")
field(DESC, "Fixed-in filter mask")
mwyman
committed
field(OUT, "@$(OBJ).setInMask(VAL)")
mwyman
committed
}
mwyman
committed
record(bo, "$(P)$(FILTER_ID):verbosity"){
mwyman
committed
field(DTYP, "pydev")
mwyman
committed
field(OUT, "@$(OBJ).updateVerbosity(VAL)")
mwyman
committed
field(ZNAM, "Off")
field(ONAM, "On")
}