all forward links
Example Action / Lint (push) Successful in 5s
Example Action / BuildAndTest (push) Successful in 39s

This commit is contained in:
wall_e committed 2026-08-04 13:15:34 +02:00
1 parent 2bc8764959
commit 440320e64c
3 files changed
+58 -42

No files matched your search

+14 -11
View File
@@ -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
View File
@@ -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
View File
@@ -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)