record(ao, "$(P)$(CRL)$(N):stack_thick"){ field(DESC, "Stack thickness") field(EGU, "m") field(DTYP, "Soft Channel") field(VAL, "$(STACK_THICK)") } record(ao, "$(P)$(CRL)$(N):min_thick"){ field(DESC, "Minimum thickness at the apex") field(EGU, "m") field(DTYP, "Soft Channel") field(VAL, "$(MIN_THICK)") } record(ao, "$(P)$(CRL)$(N):energy"){ field(EGU, "keV") field(DOL, "$(KEV) CP") field(OMSL, "closed_loop") field(DTYP, "pydev") field(OUT, "@$(OBJ).updateE('VAL')") } 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(ao, "$(P)$(CRL)$(N):slitSize_H"){ field(EGU, "m") field(DOL, "$(SLITH) CP") field(OMSL, "closed_loop") field(DTYP, "pydev") field(OUT, "@$(OBJ).updateSlitSize('VAL', 'hor')") } record(ao, "$(P)$(CRL)$(N):slitSize_V"){ field(EGU, "m") field(DOL, "$(SLITV) CP") field(OMSL, "closed_loop") field(DTYP, "pydev") field(OUT, "@$(OBJ).updateSlitSize('VAL', 'vert')") } record(longin, "$(P)TF$(N):lenses") { field(DTYP, "pydev") field(INP, "@pydev.iointr('new_config_calcd')") field(SCAN, "I/O Intr") } 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')") }