This commit is contained in:
@@ -9,8 +9,8 @@ pmac_get {
|
||||
|
||||
st {
|
||||
InTerminator = CR ACK;
|
||||
out "P553 Q401 Q501";
|
||||
in "%(A)d%*[ ]%(B)f%*[ ]%(C)f";
|
||||
out "P553 Q401 Q501 P423 P523";
|
||||
in "%(A)d%*[ ]%(B)f%*[ ]%(C)f\r%(D)d\r%(E)d";
|
||||
}
|
||||
|
||||
stop {
|
||||
|
||||
@@ -185,7 +185,11 @@ record(calc, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS")
|
||||
field(INPH, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP NPP")
|
||||
field(INPI, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP_RBV NPP")
|
||||
field(INPK, "$(INSTR)$(SPS_REGISTER_NAME):RETRY-ERROR NPP")
|
||||
field(CALC, "(F=0||G=0||D=1||K=1)?3:(A=1)?2:(B=1||H#I)?1:0")
|
||||
# For the case of 0... as the SPS always has everything as 0
|
||||
# during movement, meaning that we end up flicking between
|
||||
# busy and not busy when switching to 0
|
||||
field(INPC, "$(INSTR)$(SPS_REGISTER_NAME):LOADED NPP")
|
||||
field(CALC, "(F=0||G=0||D=1||K=1)?3:(A=1)?2:(B=1||H#I||H#C)?1:0")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):UNBLOCK-MOTORS")
|
||||
}
|
||||
|
||||
@@ -311,10 +315,12 @@ record(fanout, "$(BS_MCU):BS:ST_FANOUT1") {
|
||||
}
|
||||
|
||||
record(fanout, "$(BS_MCU):BS:ST_FANOUT2") {
|
||||
field(LNK1, "$(BS_MCU):BS:TARGET_RANGE_RAW")
|
||||
field(LNK2, "$(BS_MCU):BS:TARGET_RANGE")
|
||||
field(LNK3, "$(BS_MCU):BS:LOADED_RAW")
|
||||
field(LNK4, "$(BS_MCU):BS:INVALID")
|
||||
field(LNK1, "$(BS_MCU):BS:BSX_ACK_RBV")
|
||||
field(LNK2, "$(BS_MCU):BS:BSY_ACK_RBV")
|
||||
field(LNK3, "$(BS_MCU):BS:TARGET_RANGE_RAW")
|
||||
field(LNK4, "$(BS_MCU):BS:TARGET_RANGE")
|
||||
field(LNK5, "$(BS_MCU):BS:LOADED_RAW")
|
||||
field(LNK6, "$(BS_MCU):BS:INVALID")
|
||||
}
|
||||
|
||||
record(longin, "$(BS_MCU):BS:TARGET") {
|
||||
@@ -332,6 +338,16 @@ record(ai, "$(BS_MCU):BS:TARGET_Y") {
|
||||
field(INP, "$(BS_MCU):BS:ST.C NPP MS")
|
||||
}
|
||||
|
||||
record(longin, "$(BS_MCU):BS:BSX_ACK_RBV") {
|
||||
field(DESC, "BSX ACK")
|
||||
field(INP, "$(BS_MCU):BS:ST.D NPP MS")
|
||||
}
|
||||
|
||||
record(longin, "$(BS_MCU):BS:BSY_ACK_RBV") {
|
||||
field(DESC, "BSY ACK")
|
||||
field(INP, "$(BS_MCU):BS:ST.E NPP MS")
|
||||
}
|
||||
|
||||
record(calc, "$(BS_MCU):BS:TARGET_BS_RAW") {
|
||||
field(DESC, "Beamstop == TARGET_X")
|
||||
# Dynamic Inputs
|
||||
@@ -387,19 +403,19 @@ record(calcout, "$(BS_MCU):BS:LOADED_RAW")
|
||||
field(OOPT, "Transition To Zero")
|
||||
field(DOPT, "Use OCAL")
|
||||
field(OCAL, "A")
|
||||
field(OUT, "$(BS_MCU):BS:LOADED PP")
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):LOADED PP")
|
||||
}
|
||||
|
||||
record(longout, "$(INSTR)$(SPS_REGISTER_NAME):LOADED-INIT")
|
||||
{
|
||||
field(DESC, "Initialises LOADED PV")
|
||||
field(DOL, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP_RBV NPP")
|
||||
field(OUT, "$(BS_MCU):BS:LOADED NPP")
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):LOADED NPP")
|
||||
field(OMSL, "closed_loop")
|
||||
field(PINI, "YES")
|
||||
}
|
||||
|
||||
record(mbbi, "$(BS_MCU):BS:LOADED")
|
||||
record(mbbi, "$(INSTR)$(SPS_REGISTER_NAME):LOADED")
|
||||
{
|
||||
field(DESC, "Most recently lifted beamstop")
|
||||
field(ZRST, "No Beamstop")
|
||||
@@ -413,7 +429,7 @@ record(calcout, "$(BS_MCU):BS:INVALID") {
|
||||
# Dynamic Inputs
|
||||
field(INPA, "$(BS_MCU):BS:TARGET_BS NPP MS")
|
||||
field(INPB, "$(BS_MCU):BS:TARGET_RANGE NPP MS")
|
||||
field(INPC, "$(BS_MCU):BS:LOADED NPP MS")
|
||||
field(INPC, "$(INSTR)$(SPS_REGISTER_NAME):LOADED NPP MS")
|
||||
field(CALC, "(A<4) && (B=1) && (A#C)")
|
||||
field(OOPT, "Transition To Non-zero")
|
||||
field(OUT, "$(BS_MCU):BS:IMMEDIATE_STOP.PROC PP")
|
||||
|
||||
Reference in New Issue
Block a user