record(dfanout, "$(P)CRL$(N):stack$(M)_dfanout"){ field(DOL, "$(P)CRL$(N):lens_decode.$(DECODE) CP") 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") field(OUT, "$(OUT)") } 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") field(VAL, "$(RADIUS)") } record(ao, "$(P)CRL$(N):stack$(M)_Location"){ field(DESC, "Stack Location, + US, - DS from center") field(EGU, "stack_thick") 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") 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 PP") } record(bi, "$(P)CRL$(N):stack$(M)_RBV"){ field(DESC, "$(NUMLENS), $(RADIUS), $(LOC), $(MAT), $(THICKERR)") field(ZNAM, "Out") field(ONAM, "In") field(INP, "$(INP)") } 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)") } 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") }