add latch for the case that shutter change of state is triggered
Test And Build / Build (push) Successful in 4s
Test And Build / Build (push) Successful in 4s
This commit is contained in:
+43
-2
@@ -6,9 +6,41 @@ record(bo, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER")
|
||||
field(VAL, 0)
|
||||
field(ZNAM, "Closed")
|
||||
field(ONAM, "Open")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):SET-BUSY PP")
|
||||
}
|
||||
|
||||
record(bo, "$(INSTR)$(SPS_REGISTER_NAME):RESET")
|
||||
{
|
||||
field(DESC, "PV For Resetting internal state")
|
||||
field(VAL, 0)
|
||||
field(OUT, "$(INSTR)$(NAME):BUSY PP")
|
||||
}
|
||||
|
||||
record(bo, "$(INSTR)$(SPS_REGISTER_NAME):SET-BUSY")
|
||||
{
|
||||
field(DESC, "Trigger Internal Busy Status")
|
||||
field(VAL, 1)
|
||||
field(OUT, "$(INSTR)$(NAME):BUSY PP")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):CLEAR-CONTROL PP")
|
||||
}
|
||||
|
||||
record(seq, "$(INSTR)$(NAME):SET-READY")
|
||||
{
|
||||
field(DESC, "Trigger Returned to Ready Status")
|
||||
field(LNK1, "$(INSTR)$(NAME):BUSY PP")
|
||||
field(DO1, 0)
|
||||
field(SELM, "Specified")
|
||||
field(SELL, "$(INSTR)$(NAME):SHUTTER-STATUS.VAL")
|
||||
}
|
||||
|
||||
record(bi, "$(INSTR)$(SPS_REGISTER_NAME):BUSY")
|
||||
{
|
||||
field(DESC, "Internal Busy State")
|
||||
field(VAL, 0)
|
||||
field(ZNAM, "Ready")
|
||||
field(ONAM, "Busy")
|
||||
}
|
||||
|
||||
# The Exposed SPS Interface has an open register and a close register. You need
|
||||
# to write 1 to the corresponding register to perform said action and make sure
|
||||
# that the other bit is set back to 0. These two records, in combination with
|
||||
@@ -33,7 +65,7 @@ record(seq, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-CONTROL")
|
||||
field(LNK1, "$(INSTR)$(SPS_REGISTER_NAME):OPEN-SHUTTER PP")
|
||||
}
|
||||
|
||||
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS")
|
||||
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-STATUS")
|
||||
{
|
||||
field(DESC, "Maps Status Variables to singular status")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-READY NPP")
|
||||
@@ -46,13 +78,22 @@ record(calc, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS")
|
||||
field(INPH, "$(INSTR)$(SPS_REGISTER_NAME):ConnStatusWrite NPP")
|
||||
field(CALC, "(G=0||H=0||E=0||B=0)?3:(A=0||D=0)?2:F=1?1:C=0?3:0")
|
||||
field(SCAN, ".1 second")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):INTERNAL-STATUS PP")
|
||||
}
|
||||
|
||||
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):INTERNAL-STATUS")
|
||||
{
|
||||
field(DESC, "Maps Status Variables to singular status")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-STATUS NPP")
|
||||
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):BUSY NPP")
|
||||
field(CALC, "( A=0 && B=1 )?1:A")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):STATUS PP")
|
||||
}
|
||||
|
||||
record(mbbi, "$(INSTR)$(SPS_REGISTER_NAME):STATUS")
|
||||
{
|
||||
field(DESC, "Status of Shutter")
|
||||
field(INP, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS NPP")
|
||||
field(INP, "$(INSTR)$(SPS_REGISTER_NAME):INTERNAL-STATUS NPP")
|
||||
field(ZRVL, "0")
|
||||
field(ZRST, "Okay")
|
||||
field(ONVL, "1")
|
||||
|
||||
Reference in New Issue
Block a user