Skip to content
Snippets Groups Projects
pyDevCRL_stack.db 3.55 KiB
Newer Older
record(dfanout, "$(P)$(CRLID):stack$(M)_dfanout"){
	field(DOL, "$(P)$(CRLID):lens_decode.$(DECODE) CP")
mwyman's avatar
mwyman committed
	field(OMSL, "closed_loop")
	field(OUTA, "$(P)$(CRLID):stack$(M) PP")
mwyman's avatar
mwyman committed
}

record(bo, "$(P)$(CRLID):stack$(M)"){
mwyman's avatar
mwyman committed
	field(DESC, "$(NUMLENS), $(RADIUS), $(LOC), $(MAT), $(THICKERR)")
	field(ZNAM, "Out")
	field(ONAM, "In")
	field(DISV, "1")
record(calcout, "$(P)$(CRLID):stack$(M)_calc"){
	field(INPA, "$(P)$(CRLID):stack$(M) CP")
	field(CALC, "A?$(INVAL):$(OUTVAL)")
mwyman's avatar
mwyman committed
	field(OUT, "$(OUT)")
}

record(calcout, "$(P)$(CRLID):stack$(M)_RBV_calc"){
	field(INPA, "$(INP) CP")
	field(CALC, "A==$(INRBVVAL)?1:0")
	field(OUT, "$(P)$(CRLID):stack$(M)_RBV PP")
record(bi, "$(P)$(CRLID):stack$(M)_RBV"){
	field(DESC, "$(NUMLENS), $(RADIUS), $(LOC), $(MAT), $(THICKERR)")
	field(ZNAM, "Out")
	field(ONAM, "In")
}

record(dfanout, "$(P)$(CRLID):stack$(M)_RBV_dfanout"){
	field(OMSL, "closed_loop")
	field(DOL, "$(P)$(CRLID):stack$(M)_RBV CP")
	field(OUTA, "$(P)$(CRLID):lens_RBV_encode.$(ENCODE) PP")
record(ao, "$(P)$(CRLID):stack$(M)_NumLens"){
mwyman's avatar
mwyman committed
	field(DESC, "Number of lens in stack")
	field(VAL, "$(NUMLENS)")
}

record(ao, "$(P)$(CRLID):stack$(M)_LensRadius"){
mwyman's avatar
mwyman committed
	field(DESC, "Lens radii")
mwyman's avatar
mwyman committed
	field(PREC, "6")
mwyman's avatar
mwyman committed
	field(VAL, "$(RADIUS)")
}

record(ao, "$(P)$(CRLID):stack$(M)_Location"){
mwyman's avatar
mwyman committed
	field(DESC, "Stack Location, + US, - DS from center")
	field(EGU, "stack_thick")
mwyman's avatar
mwyman committed
	field(PREC, "3")
mwyman's avatar
mwyman committed
	field(VAL, "$(LOC)")
}

record(stringout, "$(P)$(CRLID):stack$(M)_Material"){
mwyman's avatar
mwyman committed
	field(DESC, "Lens Material")
	field(VAL, "$(MAT)")
}

record(ao, "$(P)$(CRLID):stack$(M)_ThickErr"){
mwyman's avatar
mwyman committed
	field(DESC, "RMS Thickness Error")
mwyman's avatar
mwyman committed
	field(PREC, "6")
mwyman's avatar
mwyman committed
	field(VAL, "$(THICKERR)")
}

record(dfanout, "$(P)$(CRLID):stack$(M)_BW_dfanout"){
mwyman's avatar
mwyman committed
	field(OMSL, "closed_loop")
	field(DOL, "$(P)$(CRLID):stack$(M) CP")
	field(OUTA, "$(P)$(CRLID):lens_encode.$(ENCODE)")
	field(FLNK, "$(P)$(CRLID):lens_encode.PROC CA")
mwyman's avatar
mwyman committed
}

mwyman's avatar
mwyman committed
# The commented out records below were meant to replicate the lock feature used
# in filter control.  BL staff indicated not required but kept in case needed.
# Will also have to update python code (in/out masks, culled tables/indices need
# to be uncommented).
# MW 2024.09.04

#!record(bo, "$(P)$(CRLID):stack$(M)_Lock"){
mwyman's avatar
mwyman committed
#!	field(ZNAM, "Free")
#!	field(ONAM, "Locked")
#!	field(SDIS, "$(P)$(CRLID):stack$(M)_Enable")
mwyman's avatar
mwyman committed
#!	field(DISV, "1")
#!}
#!
#!record(bo, "$(P)$(CRLID):stack$(M)_Enable"){
mwyman's avatar
mwyman committed
#!	field(ZNAM, "Enabled")
#!	field(ONAM, "Disabled")
#!}
#!
#!
#!record(calcout, "$(P)$(CRLID):disableOut$(M)_calc"){
#!	field(INPA, "$(P)$(CRLID):stack$(M)_Enable CP")
#!	field(INPB, "$(P)$(CRLID):stack$(M)")
mwyman's avatar
mwyman committed
#!	field(CALC, "A=1?0:B")
#!	field(OUT, "$(P)$(CRLID):stack$(M) PP")
#!	field(FLNK, "$(P)$(CRLID):lockEnable$(M)_calc")
mwyman's avatar
mwyman committed
#!}
#!
#!record(calcout, "$(P)$(CRLID):lockEnable$(M)_calc"){
#!	field(INPA, "$(P)$(CRLID):stack$(M)_Enable")
#!	field(INPB, "$(P)$(CRLID):stack$(M)_Lock CP")
#!	field(INPC, "$(P)$(CRLID):stack$(M)_RBV")
mwyman's avatar
mwyman committed
#!	field(CALC, "A | B")
#!	field(OUT, "$(P)$(CRLID):stack$(M).DISA PP")
#!	field(FLNK, "$(P)$(CRLID):outMask$(M)_calc")
mwyman's avatar
mwyman committed
#!}
#!
#!record(calcout, "$(P)$(CRLID):outMask$(M)_calc"){
#!	field(INPA, "$(P)$(CRLID):stack$(M)_Enable")
#!	field(INPB, "$(P)$(CRLID):stack$(M)_Lock")
#!	field(INPC, "$(P)$(CRLID):stack$(M)_RBV")
mwyman's avatar
mwyman committed
#!	field(CALC, "A | (B & !C)")
#!	field(OUT, "$(P)$(CRLID):outMask_encode.$(MASK) PP")
#!	field(FLNK, "$(P)$(CRLID):inMask$(M)_calc")
mwyman's avatar
mwyman committed
#!}
#!
#!record(calcout, "$(P)$(CRLID):inMask$(M)_calc"){
#!	field(INPA, "$(P)$(CRLID):stack$(M)_Enable")
#!	field(INPB, "$(P)$(CRLID):stack$(M)_Lock")
#!	field(INPC, "$(P)$(CRLID):stack$(M)_RBV")
mwyman's avatar
mwyman committed
#!	field(CALC, "!A & (B & C)")
#!	field(OUT, "$(P)$(CRLID):inMask_encode.$(MASK) PP")
mwyman's avatar
mwyman committed
#!}