Skip to content
Snippets Groups Projects
pyDevCRLsingle.db 4.19 KiB
Newer Older
record(ao, "$(P)CRL$(N):energy"){
mwyman's avatar
mwyman committed
	field(EGU, "keV")
mwyman's avatar
mwyman committed
    field(DOL,  "$(KEV) CP")
    field(OMSL, "closed_loop")
	field(DTYP, "pydev")
	field(OUT, "@$(OBJ).updateE('VAL')")
	field(FLNK, "$(P)CRL$(N):recalc_table.PROC CA")
record(ai, "$(P)CRL$(N):energy_RBV"){
  field(DTYP, "pydev")
  field(INP,  "@pydev.iointr('updated_E')")
  field(SCAN, "I/O Intr")
  field(PREC, "5")
}


record(ao, "$(P)CRL$(N):focalSize"){
	field(EGU, "m")
	field(DTYP, "pydev")
	field(OUT, "@$(OBJ).updateFsize('VAL')")
}

#record(bo, "$(P)CRL$(N):fSize_twk_up"){
#	field(DTYP, "pydev")
#	field(OUT, "@$(OBJ).tweakUp()")
#}
#
#record(bo, "$(P)CRL$(N):fSize_twk_dn"){
#	field(DTYP, "pydev")
#	field(OUT, "@$(OBJ).tweakDn()")
#}

record(calcout, "$(P)CRL$(N):fSize_twk_up"){
	field(INPA, "$(P)CRL$(N):sortedIndex_RBV")
	field(CALC, "MIN(A+1,2**$(NUM)-1)")
	field(OUT, "$(P)Filter$(N):sortedIndex PP")
record(calcout, "$(P)CRL$(N):fSize_twk_dn"){
	field(INPA, "$(P)CRL$(N):sortedIndex_RBV")
	field(CALC, "MAX(0,A-1)")
	field(OUT, "$(P)Filter$(N):sortedIndex PP")
record(ao, "$(P)CRL$(N):slitSize_H"){
mwyman's avatar
mwyman committed
    field(DOL,  "$(SLITH) CP")
    field(OMSL, "closed_loop")
	field(DTYP, "pydev")
	field(OUT, "@$(OBJ).updateSlitSize('VAL', 'hor')")
	field(FLNK, "$(P)CRL$(N):recalc_table.PROC CA")
}

record(ai, "$(P)CRL$(N):slitSize_H_RBV"){
  field(DTYP, "pydev")
  field(INP,  "@pydev.iointr('updated_slitSize_H')")
  field(SCAN, "I/O Intr")
  field(PREC, "5")
record(ao, "$(P)CRL$(N):slitSize_V"){
mwyman's avatar
mwyman committed
    field(DOL,  "$(SLITV) CP")
    field(OMSL, "closed_loop")
	field(DTYP, "pydev")
	field(OUT, "@$(OBJ).updateSlitSize('VAL', 'vert')")
	field(FLNK, "$(P)CRL$(N):recalc_table.PROC CA")
}

record(ai, "$(P)CRL$(N):slitSize_V_RBV"){
  field(DTYP, "pydev")
  field(INP,  "@pydev.iointr('updated_slitSize_V')")
  field(SCAN, "I/O Intr")
  field(PREC, "5")
}

mwyman's avatar
mwyman committed
record(bo, "$(P)CRL$(N):recalc_enable"){
	field(DESC, "Lookup table calc enable")
	field(SCAN, "Passive")
	field(ZNAM, "Disabled")
	field(ONAM, "Enabled"
}

# Not sure this would work -- how to get a PV to simply trigger code?
record(bo, "$(P)CRL$(N):recalc_table"){
	field(DTYP, "pydev")
	field(OUT, "@$(OBJ).construct_lookup_table()")
	field(FLNK, "$(P)CRL$(N):refind_config.PROC CA")
mwyman's avatar
mwyman committed
	field(SDIS, "$(P)CRL$(N):recalc_enable")
	field(DISV, "0")
}

# Not sure this would work -- how to get a PV to simply trigger code?
record(bo, "$(P)CRL$(N):refind_config"){
	field(DTYP, "pydev")
	field(OUT, "@$(OBJ).find_config()")
}

record(bo, "$(P)CRL$(N):thickerr_flag"){
	field(DTYP, "pydev")
	field(OUT, "@$(OBJ).updateThickerrFlag()")
record(longin, "$(P)CRL$(N):lenses") {
  field(INP,  "@pydev.iointr('new_lenses')")
record(transform, "$(P)CRL$(N):lens_decode"){
	field(INPA, "$(P)CRL$(N):lenses 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)CRL$(N):lens_encode"){
	field(OUT, "$(P)CRL$(N):lensConfig_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")
} 

record(longout, "$(P)CRL$(N):lensConfig_BW") {
  field(DTYP, "pydev")
  field(OUT, "@$(OBJ).updateConfig('VAL')")
}

record(longin, "$(P)CRL$(N):inMask_RBV") {
  field(DTYP, "pydev")
  field(INP,  "@pydev.iointr('new_inMask')")
  field(SCAN, "I/O Intr")
}

record(longin, "$(P)CRL$(N):outMask_RBV") {
  field(DTYP, "pydev")
  field(INP,  "@pydev.iointr('new_outMask')")
  field(SCAN, "I/O Intr")
}

record(ai, "$(P)CRL$(N):fSize_actual"){
  field(DTYP, "pydev")
  field(INP,  "@pydev.iointr('new_fSize')")
  field(SCAN, "I/O Intr")
  field(PREC, "5")
}

record(longout, "$(P)CRL$(N):sortedIndex") {
  field(DTYP, "pydev")
  field(OUT, "@$(OBJ).updateIndex('VAL')")
}

record(longin, "$(P)CRL$(N):sortedIndex_RBV") {
  field(DTYP, "pydev")
  field(INP,  "@pydev.iointr('new_index')")
  field(SCAN, "I/O Intr")
}

record(bo, "$(P)CRL$(N):verbosity"){
	field(DTYP, "pydev")
	field(OUT, "@$(OBJ).updateVerbosity('VAL')")
	field(ZNAM, "Off")
	field(ONAM, "On")
}