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

record(bo, "$(P)CRL$(N):stack$(M)"){
	field(DESC, "$(NUMLENS), $(RADIUS), $(LOC), $(MAT), $(THICKERR)")
	field(ZNAM, "Out")
	field(ONAM, "In")
	field(DISV, "1")
}

record(calcout, "$(P)CRL$(N):stack$(M)_calc"){
	field(INPA, "$(P)CRL$(N):stack$(M) CP")
	field(CALC, "A?$(INVAL):$(OUTVAL)")
mwyman's avatar
mwyman committed
	field(OUT, "$(OUT)")
}

record(calcout, "$(P)CRL$(N):stack$(M)_RBV_calc"){
	field(INPA, "$(INP) CP")
	field(CALC, "A==$(INRBVVAL)?1:0")
	field(OUT, "$(P)CRL$(N):stack$(M)_RBV PP")
}

record(bi, "$(P)CRL$(N):stack$(M)_RBV"){
	field(DESC, "$(NUMLENS), $(RADIUS), $(LOC), $(MAT), $(THICKERR)")
	field(ZNAM, "Out")
	field(ONAM, "In")
}

record(dfanout, "$(P)CRL$(N):stack$(M)_RBV_dfanout"){
	field(OMSL, "closed_loop")
	field(DOL, "$(P)CRL$(N):stack$(M)_RBV CP")
	field(OUTA, "$(P)CRL$(N):lens_RBV_encode.$(ENCODE) PP")
}

mwyman's avatar
mwyman committed
record(ao, "$(P)CRL$(N):stack$(M)_NumLens"){
	field(DESC, "Number of lens in stack")
	field(VAL, "$(NUMLENS)")
}

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

record(ao, "$(P)CRL$(N):stack$(M)_Location"){
	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)CRL$(N):stack$(M)_Material"){
	field(DESC, "Lens Material")
	field(VAL, "$(MAT)")
}

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

record(dfanout, "$(P)CRL$(N):stack$(M)_BW_dfanout"){
	field(OMSL, "closed_loop")
	field(DOL, "$(P)CRL$(N):stack$(M) CP")
	field(OUTA, "$(P)CRL$(N):lens_encode.$(ENCODE)")
	field(FLNK, "$(P)CRL$(N):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)CRL$(N):stack$(M)_Lock"){
#!	field(ZNAM, "Free")
#!	field(ONAM, "Locked")
#!	field(SDIS, "$(P)CRL$(N):stack$(M)_Enable")
#!	field(DISV, "1")
#!}
#!
#!record(bo, "$(P)CRL$(N):stack$(M)_Enable"){
#!	field(ZNAM, "Enabled")
#!	field(ONAM, "Disabled")
#!}
#!
#!
#!record(calcout, "$(P)CRL$(N):disableOut$(M)_calc"){
#!	field(INPA, "$(P)CRL$(N):stack$(M)_Enable CP")
#!	field(INPB, "$(P)CRL$(N):stack$(M)")
#!	field(CALC, "A=1?0:B")
#!	field(OUT, "$(P)CRL$(N):stack$(M) PP")
#!	field(FLNK, "$(P)CRL$(N):lockEnable$(M)_calc")
#!}
#!
#!record(calcout, "$(P)CRL$(N):lockEnable$(M)_calc"){
#!	field(INPA, "$(P)CRL$(N):stack$(M)_Enable")
#!	field(INPB, "$(P)CRL$(N):stack$(M)_Lock CP")
#!	field(INPC, "$(P)CRL$(N):stack$(M)_RBV")
#!	field(CALC, "A | B")
#!	field(OUT, "$(P)CRL$(N):stack$(M).DISA PP")
#!	field(FLNK, "$(P)CRL$(N):outMask$(M)_calc")
#!}
#!
#!record(calcout, "$(P)CRL$(N):outMask$(M)_calc"){
#!	field(INPA, "$(P)CRL$(N):stack$(M)_Enable")
#!	field(INPB, "$(P)CRL$(N):stack$(M)_Lock")
#!	field(INPC, "$(P)CRL$(N):stack$(M)_RBV")
#!	field(CALC, "A | (B & !C)")
#!	field(OUT, "$(P)CRL$(N):outMask_encode.$(MASK) PP")
#!	field(FLNK, "$(P)CRL$(N):inMask$(M)_calc")
#!}
#!
#!record(calcout, "$(P)CRL$(N):inMask$(M)_calc"){
#!	field(INPA, "$(P)CRL$(N):stack$(M)_Enable")
#!	field(INPB, "$(P)CRL$(N):stack$(M)_Lock")
#!	field(INPC, "$(P)CRL$(N):stack$(M)_RBV")
#!	field(CALC, "!A & (B & C)")
#!	field(OUT, "$(P)CRL$(N):inMask_encode.$(MASK) PP")
#!}