first attempt at a retry
Test And Build / Build (push) Successful in 4s

This commit is contained in:
2026-03-27 14:36:07 +01:00
parent b7ead98dfe
commit 623cc8e12a
+49 -4
View File
@@ -15,19 +15,64 @@ record(longout, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP")
field(DRVL, 1)
field(DRVH, 3)
field(PINI, "NO")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER-DELAY PP")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):RESTART-RETRIES PP")
}
record(seq, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER-DELAY")
# We want to check whether or not a retry is necessary, just
# before we trigger it, so we want the delay, before the check
# it seems the that ODLY in the calcout is described as delaying
# writing to the OUT link, but delaying CALC, which would
# determe whether or not writing is even necessary
record(longout, "$(INSTR)$(SPS_REGISTER_NAME):RESTART-RETRIES")
{
field(DESC, "Empty retries as got knew move command")
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):RETRIES NPP")
field(DOL, "0")
field(OMSL, "closed_loop")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):RETRYING-TRIGGER PP")
}
record(seq, "$(INSTR)$(SPS_REGISTER_NAME):INIT-TRIGGER-DELAY")
{
field(DESC, "Delays Internal Trigger as SPS too slow")
field(DOL0, 1)
field(LNK0, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER PP")
field(LNK0, "$(INSTR)$(SPS_REGISTER_NAME):RETRYING-TRIGGER.PROC PP")
field(DLY0, 0.5)
field(SELM, "All")
field(PINI, "NO")
}
record(seq, "$(INSTR)$(SPS_REGISTER_NAME):RETRY-TRIGGER-DELAY")
{
field(DESC, "Delays Internal Trigger as SPS too slow")
field(DOL0, 1)
field(LNK0, "$(INSTR)$(SPS_REGISTER_NAME):RETRYING-TRIGGER.PROC PP")
field(DLY0, 1)
field(SELM, "All")
field(PINI, "NO")
}
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):RETRYING-TRIGGER")
{
field(DESC, "Delays Internal Trigger as SPS too slow and increments retry")
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):RETRIES NPP")
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP NPP")
field(INPC, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP_RBV NPP")
field(INPD, "$(INSTR)$(SPS_REGISTER_NAME):MOVES NPP")
field(CALC, "(A < 3) && (H # I) && (D = 0) ? A + 1 : 0")
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):RETRIES PP")
field(calcoutOOPT, "When Non-zero")
field(DOPT, "Use CALC")
}
record(longin, "$(INSTR)$(SPS_REGISTER_NAME):RETRIES")
{
field(DESC, "Total number of retries for current move")
field(VAL, 0)
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER PP")
}
record(longout, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER")
{
field(DESC, "Internal Trigger")
@@ -35,7 +80,7 @@ record(longout, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER")
field(OMSL, "closed_loop")
field(DOL, 1)
field(PINI, "NO")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS PP")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):RETRYING-TRIGGER PP")
}
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS")