all forward links
This commit is contained in:
1 parent
2bc8764959
commit
440320e64c
3 files changed
+58
-42
No files matched your search
+14
-11
@@ -15,7 +15,8 @@ record(int64in, "$(INSTR)$(NAME):CH$(CHANNEL)")
|
||||
{
|
||||
field(DESC, "DAQ CH$(CHANNEL) Counts")
|
||||
field(EGU, "cts")
|
||||
field(FLNK, "$(INSTR)$(NAME):CH$(CHANNEL)_POLL")
|
||||
# field(FLNK, "$(INSTR)$(NAME):CH$(CHANNEL)_POLL")
|
||||
field(FLNK, "$(INSTR)$(NAME):CH$(CHANNEL)_HWCS")
|
||||
}
|
||||
|
||||
record(ai, "$(INSTR)$(NAME):CH$(CHANNEL)_RATE")
|
||||
@@ -42,16 +43,16 @@ record(ao, "$(INSTR)$(NAME):CH$(CHANNEL)_THRESH")
|
||||
################################################################################
|
||||
# Poll Loop
|
||||
|
||||
record(dfanout, "$(INSTR)$(NAME):CH$(CHANNEL)_POLL")
|
||||
{
|
||||
field(DESC, "Channel $(CHANNEL) poll sequence")
|
||||
field(SELM, "All")
|
||||
field(OMSL, "closed_loop")
|
||||
field(DOL, 1)
|
||||
field(OUTA, "$(INSTR)$(NAME):CH$(CHANNEL)_HWCS.PROC")
|
||||
field(OUTB, "$(INSTR)$(NAME):CH$(CHANNEL)_STS_RAW.PROC")
|
||||
field(OUTC, "$(INSTR)$(NAME):CH$(CHANNEL)_REACHED.PROC")
|
||||
}
|
||||
# record(dfanout, "$(INSTR)$(NAME):CH$(CHANNEL)_POLL")
|
||||
# {
|
||||
# field(DESC, "Channel $(CHANNEL) poll sequence")
|
||||
# field(SELM, "All")
|
||||
# field(OMSL, "closed_loop")
|
||||
# field(DOL, 1)
|
||||
# field(OUTA, "$(INSTR)$(NAME):CH$(CHANNEL)_HWCS.PROC")
|
||||
# field(OUTB, "$(INSTR)$(NAME):CH$(CHANNEL)_STS_RAW.PROC")
|
||||
# field(OUTC, "$(INSTR)$(NAME):CH$(CHANNEL)_REACHED.PROC")
|
||||
# }
|
||||
|
||||
################################################################################
|
||||
# Clearing Channel Counts
|
||||
@@ -72,6 +73,7 @@ record(seq, "$(INSTR)$(NAME):CH$(CHANNEL)_HWCS")
|
||||
field(SELL, "$(INSTR)$(NAME):CH$(CHANNEL).VAL")
|
||||
field(DO0, 0)
|
||||
field(LNK0, "$(INSTR)$(NAME):CH$(CHANNEL)_CLEARED PP")
|
||||
field(FLNK, "$(INSTR)$(NAME):CH$(CHANNEL)_STS_RAW.PROC")
|
||||
}
|
||||
|
||||
record(dfanout, "$(INSTR)$(NAME):CH$(CHANNEL)_CLEAR")
|
||||
@@ -115,6 +117,7 @@ record(mbbi, "$(INSTR)$(NAME):CH$(CHANNEL)_STS")
|
||||
field(ZRST, "Idle")
|
||||
field(ONVL, "1")
|
||||
field(ONST, "Busy")
|
||||
field(FLNK, "$(INSTR)$(NAME):CH$(CHANNEL)_REACHED")
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
||||
+40
-27
@@ -149,6 +149,7 @@ record(mbbi, "$(INSTR)$(NAME):STATUS")
|
||||
# 4 should never happen, if it does it means the DAQ reports undocumented statusbits
|
||||
field(FRVL, "4")
|
||||
field(FRST, "INVALID")
|
||||
field(FLNK, "$(INSTR)$(NAME):PRESET_TYPE_CLEAR")
|
||||
}
|
||||
|
||||
################################################################################
|
||||
@@ -171,7 +172,8 @@ record(bo,"$(INSTR)$(NAME):PAUSE")
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@$(PROTO) pauseCount($(INSTR)$(NAME):) $(ASYN_PORT)")
|
||||
field(VAL, "0")
|
||||
field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
# field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
field(FLNK, "$(INSTR)$(NAME):RAW_STATUS")
|
||||
}
|
||||
|
||||
record(bo,"$(INSTR)$(NAME):CONTINUE")
|
||||
@@ -180,7 +182,8 @@ record(bo,"$(INSTR)$(NAME):CONTINUE")
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@$(PROTO) continueCount($(INSTR)$(NAME):) $(ASYN_PORT)")
|
||||
field(VAL, "0")
|
||||
field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
# field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
field(FLNK, "$(INSTR)$(NAME):RAW_STATUS")
|
||||
}
|
||||
|
||||
record(longout, "$(INSTR)$(NAME):STOP")
|
||||
@@ -188,38 +191,40 @@ record(longout, "$(INSTR)$(NAME):STOP")
|
||||
field(DESC, "Stop the current counting operation")
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@$(PROTO) stopCount($(INSTR)$(NAME):) $(ASYN_PORT)")
|
||||
field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
# field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
field(FLNK, "$(INSTR)$(NAME):RAW_STATUS")
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Poll Loop
|
||||
|
||||
record(bo, "$(INSTR)$(NAME):HW_POLL")
|
||||
record(bi, "$(INSTR)$(NAME):HW_POLL")
|
||||
{
|
||||
field(OMSL, "closed_loop")
|
||||
field(DOL, 1)
|
||||
# field(OMSL, "closed_loop")
|
||||
# field(DOL, 1)
|
||||
field(SCAN, "$(POLL_FREQ=.5 second)")
|
||||
field(OUT, "$(INSTR)$(NAME):HW_POLL_SEQ.PROC")
|
||||
field(FLNK, "$(INSTR)$(NAME):RAW_STATUS")
|
||||
# field(OUT, "$(INSTR)$(NAME):HW_POLL_SEQ.PROC")
|
||||
}
|
||||
|
||||
record(dfanout, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
{
|
||||
field(DESC, "Time channel poll sequence")
|
||||
field(SELM, "All")
|
||||
field(OMSL, "closed_loop")
|
||||
field(DOL, 1)
|
||||
# This order is important, to ensure that the status
|
||||
# can't change whichout having first updated the time
|
||||
# and count records to their final values
|
||||
field(OUTA, "$(INSTR)$(NAME):RAW_STATUS.PROC")
|
||||
field(OUTB, "$(INSTR)$(NAME):READALL.PROC")
|
||||
field(OUTC, "$(INSTR)$(NAME):MAP_STATUS.PROC")
|
||||
field(OUTD, "$(INSTR)$(NAME):STATUS.PROC")
|
||||
field(OUTE, "$(INSTR)$(NAME):PRESET_TYPE_CLEAR.PROC")
|
||||
field(OUTF, "$(INSTR)$(NAME):T_PRESET_CLEAR.PROC")
|
||||
field(OUTG, "$(INSTR)$(NAME):PRESET_CLEAR.PROC")
|
||||
field(OUTH, "$(INSTR)$(NAME):CLEAR_WAIT_HW.PROC")
|
||||
}
|
||||
# record(dfanout, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
# {
|
||||
# field(DESC, "Time channel poll sequence")
|
||||
# field(SELM, "All")
|
||||
# field(OMSL, "closed_loop")
|
||||
# field(DOL, 1)
|
||||
# # This order is important, to ensure that the status
|
||||
# # can't change whichout having first updated the time
|
||||
# # and count records to their final values
|
||||
# field(OUTA, "$(INSTR)$(NAME):RAW_STATUS.PROC")
|
||||
# field(OUTB, "$(INSTR)$(NAME):READALL.PROC")
|
||||
# field(OUTC, "$(INSTR)$(NAME):MAP_STATUS.PROC")
|
||||
# field(OUTD, "$(INSTR)$(NAME):STATUS.PROC")
|
||||
# field(OUTE, "$(INSTR)$(NAME):PRESET_TYPE_CLEAR.PROC")
|
||||
# field(OUTF, "$(INSTR)$(NAME):T_PRESET_CLEAR.PROC")
|
||||
# field(OUTG, "$(INSTR)$(NAME):PRESET_CLEAR.PROC")
|
||||
# field(OUTH, "$(INSTR)$(NAME):CLEAR_WAIT_HW.PROC")
|
||||
# }
|
||||
|
||||
# The status can be interpreted as follows
|
||||
#
|
||||
@@ -233,6 +238,7 @@ record(mbbiDirect, "$(INSTR)$(NAME):RAW_STATUS")
|
||||
field(DESC, "Raw returned status value")
|
||||
field(DTYP, "stream")
|
||||
field(INP, "@$(PROTO) readStatus($(INSTR)$(NAME):) $(ASYN_PORT)")
|
||||
field(FLNK, "$(INSTR)$(NAME):READALL")
|
||||
}
|
||||
|
||||
record(calc, "$(INSTR)$(NAME):MAP_STATUS")
|
||||
@@ -246,6 +252,7 @@ record(calc, "$(INSTR)$(NAME):MAP_STATUS")
|
||||
field(INPF, "$(INSTR)$(NAME):IS_PAUSED PP MS")
|
||||
field(INPG, "$(INSTR)$(NAME):WAIT_HW NPP MS")
|
||||
field(CALC, "(A=1||B=1)?4:(F=1)?3:(C=0&&D=0&&G<=0)?0:(E=1)?2:1")
|
||||
field(FLNK, "$(INSTR)$(NAME):STATUS")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(NAME):PRESET_TYPE_CLEAR")
|
||||
@@ -256,6 +263,7 @@ record(calcout, "$(INSTR)$(NAME):PRESET_TYPE_CLEAR")
|
||||
field(DOPT, "Use OCAL")
|
||||
field(OCAL, "0")
|
||||
field(OUT, "$(INSTR)$(NAME):PRESET_TYPE PP")
|
||||
field(FLNK, "$(INSTR)$(NAME):T_PRESET_CLEAR")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(NAME):T_PRESET_CLEAR")
|
||||
@@ -266,6 +274,7 @@ record(calcout, "$(INSTR)$(NAME):T_PRESET_CLEAR")
|
||||
field(DOPT, "Use OCAL")
|
||||
field(OCAL, "0")
|
||||
field(OUT, "$(INSTR)$(NAME):T_PRESET PP")
|
||||
field(FLNK, "$(INSTR)$(NAME):PRESET_CLEAR")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(NAME):PRESET_CLEAR")
|
||||
@@ -276,6 +285,7 @@ record(calcout, "$(INSTR)$(NAME):PRESET_CLEAR")
|
||||
field(DOPT, "Use OCAL")
|
||||
field(OCAL, "0")
|
||||
field(OUT, "$(INSTR)$(NAME):CH_PRESET_CLEAR PP")
|
||||
field(FLNK, "$(INSTR)$(NAME):CLEAR_WAIT_HW")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(NAME):CLEAR_WAIT_HW")
|
||||
@@ -325,7 +335,8 @@ record(ao,"$(INSTR)$(NAME):PRESET_TIME")
|
||||
field(OUT, "@$(PROTO) startWithTimePreset$(CHANNELS)($(INSTR)$(NAME):) $(ASYN_PORT)")
|
||||
field(PREC, 2)
|
||||
field(EGU, "seconds")
|
||||
field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
# field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
field(FLNK, "$(INSTR)$(NAME):RAW_STATUS")
|
||||
}
|
||||
|
||||
record(ao,"$(INSTR)$(NAME):PRESET_COUNT")
|
||||
@@ -336,7 +347,8 @@ record(ao,"$(INSTR)$(NAME):PRESET_COUNT")
|
||||
field(DOL, "$(INSTR)$(NAME):CH_PRESET PP")
|
||||
field(OUT, "@$(PROTO) startWithCountPreset$(CHANNELS)($(INSTR)$(NAME):) $(ASYN_PORT)")
|
||||
field(PREC, 0)
|
||||
field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
# field(FLNK, "$(INSTR)$(NAME):HW_POLL_SEQ")
|
||||
field(FLNK, "$(INSTR)$(NAME):RAW_STATUS")
|
||||
}
|
||||
|
||||
record(longout, "$(INSTR)$(NAME):SET_WAIT_HW")
|
||||
@@ -408,4 +420,5 @@ record(ai, "$(INSTR)$(NAME):READALL")
|
||||
field(DESC, "Reads monitors and elapsed time")
|
||||
field(INP, "@$(PROTO) readAll$(CHANNELS)($(INSTR)$(NAME):) $(ASYN_PORT)")
|
||||
field(DTYP, "stream")
|
||||
field(FLNK, "$(INSTR)$(NAME):MAP_STATUS")
|
||||
}
|
||||
+4
-4
@@ -14,7 +14,7 @@ record(ai,"$(INSTR)$(NAME):T")
|
||||
{
|
||||
field(DESC, "DAQ Measured Time")
|
||||
field(EGU, "sec")
|
||||
field(FLNK, "$(INSTR)$(NAME):T_POLL")
|
||||
field(FLNK, "$(INSTR)$(NAME):T_HWCS")
|
||||
}
|
||||
|
||||
################################################################################
|
||||
@@ -51,6 +51,7 @@ record(seq, "$(INSTR)$(NAME):T_HWCS")
|
||||
field(DO0, 0)
|
||||
field(SELM, "Specified")
|
||||
field(SELL, "$(INSTR)$(NAME):T.VAL")
|
||||
field(FLNK, "$(INSTR)$(NAME):T_STS_RAW")
|
||||
}
|
||||
|
||||
# Trigger a change in status as clearing
|
||||
@@ -94,14 +95,13 @@ record(mbbi, "$(INSTR)$(NAME):T_STS")
|
||||
field(ZRST, "Idle")
|
||||
field(ONVL, "1")
|
||||
field(ONST, "Busy")
|
||||
field(FLNK, "$(INSTR)$(NAME):TIME_REACHED")
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Time Channel Preset
|
||||
|
||||
# If set, stop count once preset reached
|
||||
# TODO type
|
||||
record(int64in, "$(INSTR)$(NAME):T_PRESET")
|
||||
record(ai, "$(INSTR)$(NAME):T_PRESET")
|
||||
{
|
||||
field(DESC, "Time Preset")
|
||||
field(VAL, 0)
|
||||
|
||||
Reference in new issue
Block a user