diff --git a/db/channels.db b/db/channels.db index 11753b5..c136ec8 100644 --- a/db/channels.db +++ b/db/channels.db @@ -10,14 +10,42 @@ ################################################################################ # Status Variables +# Trigger a change in status as clearing +record(bo, "$(INSTR)$(NAME):T$(CHANNEL)") +{ + field(DESC, "Trigger Clearing Status") + field(VAL, 1) + field(OUT, "$(INSTR)$(NAME):S$(CHANNEL) PP") +} + +# Trigger a change in status as value returned to 0 +record(seq, "$(INSTR)$(NAME):O$(CHANNEL)") +{ + field(DESC, "Trigger Returned to 0 Status") + field(LNK0, "$(INSTR)$(NAME):S$(CHANNEL) PP") + field(DO0, 0) + field(SELM, "Specified") + field(SELL, "$(INSTR)$(NAME):M$(CHANNEL).VAL") +} + +# Current Status of Channel, i.e. is it ready to count? +record(bi, "$(INSTR)$(NAME):S$(CHANNEL)") +{ + field(DESC, "Channel Status") + field(VAL, 0) + field(ZNAM, "OK") + field(ONAM, "CLEARING") +} + ################################################################################ # Count Commands -record(bo, "$(INSTR)$(NAME):C$(CHANNEL)") +record(longout, "$(INSTR)$(NAME):C$(CHANNEL)") { field(DESC, "Clear the current channel count") field(DTYP, "stream") field(OUT, "@$(PROTO) clearChannel($(INSTR)$(NAME):, $(CHANNEL)) $(ASYN_PORT)") + field(FLNK, "$(INSTR)$(NAME):T$(CHANNEL)") } ################################################################################ @@ -26,6 +54,8 @@ record(bo, "$(INSTR)$(NAME):C$(CHANNEL)") record(longin, "$(INSTR)$(NAME):M$(CHANNEL)") { field(DESC, "DAQ CH$(CHANNEL)") + field(EGU, "cts") + field(FLNK, "$(INSTR)$(NAME):O$(CHANNEL)") } record(ai, "$(INSTR)$(NAME):R$(CHANNEL)") @@ -33,5 +63,6 @@ record(ai, "$(INSTR)$(NAME):R$(CHANNEL)") field(DESC, "Rate of DAQ CH$(CHANNEL)") field(INP, "@$(PROTO) readRate($(INSTR)$(NAME):, $(CHANNEL)) $(ASYN_PORT)") field(DTYP, "stream") + field(EGU, "cts/sec") field(SCAN, "1 second") } diff --git a/db/daq_common.db b/db/daq_common.db index 7cfc1f3..763aea3 100644 --- a/db/daq_common.db +++ b/db/daq_common.db @@ -98,6 +98,32 @@ record(longin, "$(INSTR)$(NAME):CHANNELS") field(DISP, 1) } +# Trigger a change in status as clearing +record(bo, "$(INSTR)$(NAME):ETT") +{ + field(DESC, "Trigger Clearing Status") + field(VAL, 1) + field(OUT, "$(INSTR)$(NAME):ETS PP") +} + +# Trigger a change in status as value returned to 0 +record(seq, "$(INSTR)$(NAME):ETO") +{ + field(DESC, "Trigger Returned to 0 Status") + field(LNK0, "$(INSTR)$(NAME):ETS PP") + field(DO0, 0) + field(SELM, "Specified") + field(SELL, "$(INSTR)$(NAME):ELAPSED-TIME.VAL") +} + +# Current Status of Channel, i.e. is it ready to count? +record(bi, "$(INSTR)$(NAME):ETS") +{ + field(DESC, "Channel Status") + field(VAL, 0) + field(ZNAM, "OK") + field(ONAM, "CLEARING") +} ################################################################################ # Count Commands @@ -167,6 +193,7 @@ record(ai,"$(INSTR)$(NAME):THRESHOLD_RBV") field(INP, "@$(PROTO) readMinRate($(INSTR)$(NAME):) $(ASYN_PORT)") field(DTYP, "stream") field(SCAN, "1 second") + field(EGU, "cts/sec") } record(longout,"$(INSTR)$(NAME):THRESHOLD-MONITOR") @@ -185,13 +212,15 @@ record(longin,"$(INSTR)$(NAME):THRESHOLD-MONITOR_RBV") field(INP, "@$(PROTO) readRateMonitor($(INSTR)$(NAME):) $(ASYN_PORT)") field(DTYP, "stream") field(SCAN, "1 second") + field(EGU, "CH") } -record(bo, "$(INSTR)$(NAME):CT") +record(longout, "$(INSTR)$(NAME):CT") { field(DESC, "Clear the timer") field(DTYP, "stream") field(OUT, "@$(PROTO) clearTimer($(INSTR)$(NAME):) $(ASYN_PORT)") + field(FLNK, "$(INSTR)$(NAME):ETT") } ################################################################################ @@ -208,5 +237,6 @@ record(ai, "$(INSTR)$(NAME):READALL") record(ai,"$(INSTR)$(NAME):ELAPSED-TIME") { field(DESC, "DAQ Measured Time") - field(EGU, "seconds") + field(EGU, "sec") + field(FLNK, "$(INSTR)$(NAME):ETO") }