Skip to content
Snippets Groups Projects
pyDevFilters.db 6.96 KiB
Newer Older
record(ao, "$(P)$(FILTER_ID):attenuation"){
record(ao, "$(P)$(FILTER_ID):attenFactor"){
	field(FLNK, "$(P)$(FILTER_ID):attenFactor_Calc PP")
record(calcout, "$(P)$(FILTER_ID):attenFactor_Calc"){
	field(INPA, "$(P)$(FILTER_ID):attenuation_actual")
	field(INPB, "$(P)$(FILTER_ID):attenFactor")
	field(OUT, "$(P)$(FILTER_ID):attenuation PP")
record(bo, "$(P)$(FILTER_ID):EnergySelect") {
  field(DESC, "energy selection")
  field(DTYP, "Soft Channel")
  field(ZNAM, "Mono")
  field(ONAM, "Local")
  field(VAL, "1")
  field(FLNK, "$(P)$(FILTER_ID):EnergyCalc")
record(ao, "$(P)$(FILTER_ID):EnergyLocal") {
  field(DESC, "local energy")
  field(VAL,  "12.398")
  field(PREC, "4")
  field(EGU, "keV")
  field(FLNK, "$(P)$(FILTER_ID):EnergyCalc")
record(ao, "$(P)$(FILTER_ID):EnergyBeamline") {
  field(DESC, "beamline energy")
  field(DOL,  "$(KEV) CP")
  field(OMSL, "closed_loop")
  field(PREC, "4")
  field(EGU, "keV")
  field(FLNK, "$(P)$(FILTER_ID):EnergyCalc")
record(calcout, "$(P)$(FILTER_ID):EnergyCalc"){
  field(DESC, "Energy select calc")
  field(SCAN, "Passive")
  field(INPA, "$(P)$(FILTER_ID):EnergySelect.RVAL")
  field(INPB, "$(P)$(FILTER_ID):EnergyBeamline")
  field(INPC, "$(P)$(FILTER_ID):EnergyLocal")
record(ai, "$(P)$(FILTER_ID):energy_RBV"){
  field(INP,  "@pydev.iointr('$(FILTER_ID)_new_energy')")
mwyman's avatar
mwyman committed
  field(EGU, "keV")
#record(bo, "$(P)$(FILTER_ID):attenuation_twk_up"){
#	field(DTYP, "pydev")
##	field(HIGH, "0.25")
#	field(OUT, "@$(OBJ).tweakUp()")
#}
#
#record(bo, "$(P)$(FILTER_ID):attenuation_twk_dn"){
#	field(DTYP, "pydev")
##	field(HIGH, "0.25")
#	field(OUT, "@$(OBJ).tweakDn()")
#}



record(calcout, "$(P)$(FILTER_ID):attenuation_twk_up"){
	field(INPA, "$(P)$(FILTER_ID):sortedIndex_RBV")
	field(OUT, "$(P)$(FILTER_ID):sortedIndex PP")
record(calcout, "$(P)$(FILTER_ID):attenuation_twk_dn"){
	field(INPA, "$(P)$(FILTER_ID):sortedIndex_RBV")
	field(OUT, "$(P)$(FILTER_ID):sortedIndex PP")
record(ai, "$(P)$(FILTER_ID):attenuation_actual"){
  field(INP,  "@pydev.iointr('$(FILTER_ID)_new_atten')")
record(longin, "$(P)$(FILTER_ID):filterConfig") {
  field(INP,  "@pydev.iointr('$(FILTER_ID)_new_filters')")
  field(FLNK, "$(P)$(FILTER_ID):safeTransition")
record(longout, "$(P)$(FILTER_ID):sortedIndex") {
record(longin, "$(P)$(FILTER_ID):sortedIndex_RBV") {
  field(INP,  "@pydev.iointr('$(FILTER_ID)_new_index')")
record(longin, "$(P)$(FILTER_ID):inMask_RBV") {
  field(INP,  "@pydev.iointr('$(FILTER_ID)_new_inMask')")
record(longin, "$(P)$(FILTER_ID):outMask_RBV") {
  field(INP,  "@pydev.iointr('$(FILTER_ID)_new_outMask')")
record(longout, "$(P)$(FILTER_ID):previewIndex") {
  field(OUT, "@$(OBJ).getPreviewAtten(VAL)")
record(ai, "$(P)$(FILTER_ID):attenuation_preview"){
  field(INP,  "@pydev.iointr('$(FILTER_ID)_new_preview')")
record(sseq, "$(P)$(FILTER_ID):safeTransition"){
	field(LNK1, "$(P)$(FILTER_ID):disableEncode PP")
#	field(LNK2, "$(P)$(FILTER_ID):rawConfig PP")
	field(LNK2, "$(P)$(FILTER_ID):filter_decode.A PP")
	field(DOL3, "$(P)$(FILTER_ID):filterConfig")
#	field(LNK3, "$(P)$(FILTER_ID):rawConfig PP")
	field(LNK3, "$(P)$(FILTER_ID):filter_decode.A PP")
	field(LNK4, "$(P)$(FILTER_ID):disableEncode PP")
	field(LNK5, "$(P)$(FILTER_ID):filter_RBV_encode.PROC PP")
	field(LNK6, "$(P)$(FILTER_ID):filter_encode.PROC PP")
#record(longin, "$(P)$(FILTER_ID):rawConfig") {
record(transform, "$(P)$(FILTER_ID):filter_decode"){
#	field(INPA, "$(P)$(FILTER_ID):rawConfig CP")
	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")
}

record(calcout, "$(P)$(FILTER_ID):filter_RBV_encode"){
	field(OUT, "$(P)$(FILTER_ID):filterConfig_RBV PP")
	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")
#	field(SDIS, "$(P)$(FILTER_ID):disableEncode")
record(longin, "$(P)$(FILTER_ID):filterConfig_RBV") {
record(bo, "$(P)$(FILTER_ID):disableEncode"){
record(calcout, "$(P)$(FILTER_ID):filter_encode"){
	field(OUT, "$(P)$(FILTER_ID):filterConfig_BW PP")
	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")
#	field(SDIS, "$(P)$(FILTER_ID):disableEncode")
record(longout, "$(P)$(FILTER_ID):filterConfig_BW") {
record(ai, "$(P)$(FILTER_ID):filterRBV_atten"){
  field(INP,  "@pydev.iointr('$(FILTER_ID)_config_atten')")
record(ai, "$(P)$(FILTER_ID):attenuation_2E_actual"){
  field(INP,  "@pydev.iointr('$(FILTER_ID)_new_atten_2E')")
record(ai, "$(P)$(FILTER_ID):attenuation_3E_actual"){
  field(INP,  "@pydev.iointr('$(FILTER_ID)_new_atten_3E')")
record(calcout, "$(P)$(FILTER_ID):outMask_encode"){
	field(OUT, "$(P)$(FILTER_ID):outMask PP")
	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")
}

record(longout, "$(P)$(FILTER_ID):outMask") {
  field(DTYP, "pydev")
  field(DESC, "Fixed-out filter mask")
record(calcout, "$(P)$(FILTER_ID):inMask_encode"){
	field(OUT, "$(P)$(FILTER_ID):inMask PP")
	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")
}

record(longout, "$(P)$(FILTER_ID):inMask") {
  field(DTYP, "pydev")
  field(DESC, "Fixed-in filter mask")
record(bo, "$(P)$(FILTER_ID):verbosity"){
	field(OUT, "@$(OBJ).updateVerbosity(VAL)")