diff --git a/Makefile b/Makefile index e0e4c88..56ca12a 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,7 @@ REQUIRED+=stream # DB files to include in the release TEMPLATES += db/channels.db +TEMPLATES += db/gating_channels.db TEMPLATES += db/daq_4ch.db TEMPLATES += db/daq_8ch.db TEMPLATES += db/daq_common.db diff --git a/db/daq.proto b/db/daq.proto index 6a0ba2f..4b4e2fb 100644 --- a/db/daq.proto +++ b/db/daq.proto @@ -199,13 +199,13 @@ setTestSignal { getGateStatus { out "GT \$2"; - in "%d %(\$1GATE-ON-\$2_RBV)d"; + in "%d %(\$1GATE-\$2-TRIG_RBV)d"; @mismatch{in "%(\$1MsgTxt)s";} } setGateStatus { extrainput = ignore; - out "GT \$2 %(\$1GATE-\$2)d %(\$1GATE-ON-\$2)d"; + out "GT \$2 %(\$1GATE-\$2-ENABLE)d %(\$1GATE-\$2-TRIG)d"; in "Gate \$2"; @mismatch{in "%(\$1MsgTxt)s";} } @@ -217,7 +217,7 @@ setGate { } ################################################################################ -# To clean +# TODO To clean startWithCountPreset4 { clearTimer; diff --git a/db/daq_2nd_gen.db b/db/daq_2nd_gen.db index f3cb0f8..2c06596 100644 --- a/db/daq_2nd_gen.db +++ b/db/daq_2nd_gen.db @@ -25,7 +25,17 @@ record(longin, "$(INSTR)$(NAME):MONITOR-CHANNEL_RBV") field(DESC, "PRESET-COUNT Monitors this channel") field(DTYP, "stream") field(INP, "@$(PROTO) readPresetMonitor($(INSTR)$(NAME):) $(ASYN_PORT)") - field(SCAN, "5 second") + field(SCAN, "1 second") +} + +# Force back to 1 if it is 0, as 0 has no meaning... +record(seq, "$(INSTR)$(NAME):CORRECT-MONITOR-CHANNEL") +{ + field(SELM, "Specified") + field(SELL, "$(INSTR)$(NAME):MONITOR-CHANNEL_RBV.VAL NPP") + field(DO0, 1) + field(LNK0, "$(INSTR)$(NAME):MONITOR-CHANNEL PP") + field(SCAN, ".5 second") } ################################################################################ @@ -33,76 +43,3 @@ record(longin, "$(INSTR)$(NAME):MONITOR-CHANNEL_RBV") ################################################################################ # Read all monitors values - -################################################################################ -# Gating Settings - -record(bo, "$(INSTR)$(NAME):GATE-1") -{ - field(DESC, "First Gating Channel") - field(ZNAM, "Disabled") - field(ONAM, "Enabled") - field(DTYP, "stream") - field(OUT, "@$(PROTO) setGateStatus($(INSTR)$(NAME):, 1) $(ASYN_PORT)") -} - -record(bo, "$(INSTR)$(NAME):GATE-ON-1") -{ - field(DESC, "Count when first Gate high/low") - field(ZNAM, "Low") - field(ONAM, "High") - field(DTYP, "stream") - field(OUT, "@$(PROTO) setGateStatus($(INSTR)$(NAME):, 1) $(ASYN_PORT)") -} - -record(bi, "$(INSTR)$(NAME):GATE-1_RBV") -{ - field(DESC, "First Gating Channel") - field(ZNAM, "Disabled") - field(ONAM, "Enabled") - field(DTYP, "stream") - field(INP, "@$(PROTO) getGateStatus($(INSTR)$(NAME):, 1) $(ASYN_PORT)") - field(SCAN, "2 second") -} - -record(bi, "$(INSTR)$(NAME):GATE-ON-1_RBV") -{ - field(DESC, "Count when first Gate high/low") - field(ZNAM, "Low") - field(ONAM, "High") -} - -record(bo, "$(INSTR)$(NAME):GATE-2") -{ - field(DESC, "First Gating Channel") - field(ZNAM, "Disabled") - field(ONAM, "Enabled") - field(DTYP, "stream") - field(OUT, "@$(PROTO) setGateStatus($(INSTR)$(NAME):, 2) $(ASYN_PORT)") -} - -record(bo, "$(INSTR)$(NAME):GATE-ON-2") -{ - field(DESC, "Count when first Gate high/low") - field(ZNAM, "Low") - field(ONAM, "High") - field(DTYP, "stream") - field(OUT, "@$(PROTO) setGateStatus($(INSTR)$(NAME):, 2) $(ASYN_PORT)") -} - -record(bi, "$(INSTR)$(NAME):GATE-2_RBV") -{ - field(DESC, "Second Gating Channel") - field(ZNAM, "Disabled") - field(ONAM, "Enabled") - field(DTYP, "stream") - field(INP, "@$(PROTO) getGateStatus($(INSTR)$(NAME):, 2) $(ASYN_PORT)") - field(SCAN, "2 second") -} - -record(bi, "$(INSTR)$(NAME):GATE-ON-2_RBV") -{ - field(DESC, "Count when second Gate high/low") - field(ZNAM, "Low") - field(ONAM, "High") -} diff --git a/db/daq_common.db b/db/daq_common.db index 763aea3..f898bf1 100644 --- a/db/daq_common.db +++ b/db/daq_common.db @@ -167,7 +167,7 @@ record(bo,"$(INSTR)$(NAME):CONTINUE") field(FLNK, "$(INSTR)$(NAME):RAW-STATUS") } -record(bo, "$(INSTR)$(NAME):STOP") +record(longout, "$(INSTR)$(NAME):STOP") { field(DESC, "Stop the current counting operation") field(DTYP, "stream") @@ -179,7 +179,9 @@ record(ao,"$(INSTR)$(NAME):THRESHOLD") { field(DESC, "Minimum rate for counting to proceed") field(VAL, "0") # Rate - field(DRVL, "0.000001") # Minimum Rate + # Could perhaps still be improved. + # It seems to only accept whole counts? + field(DRVL, "1") # Minimum Rate field(DRVH, "100000") # Maximum Rate field(OMSL, "supervisory") field(OROC, "0") diff --git a/scripts/daq_2nd_gen.cmd b/scripts/daq_2nd_gen.cmd index cdcf852..25f576b 100644 --- a/scripts/daq_2nd_gen.cmd +++ b/scripts/daq_2nd_gen.cmd @@ -27,6 +27,9 @@ dbLoadRecords("$(sinqDAQ_DB)channels.db", "INSTR=$(INSTR), NAME=$(NAME), PROTO=$ dbLoadRecords("$(sinqDAQ_DB)channels.db", "INSTR=$(INSTR), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME), CHANNEL=9") dbLoadRecords("$(sinqDAQ_DB)channels.db", "INSTR=$(INSTR), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME), CHANNEL=10") +dbLoadRecords("$(sinqDAQ_DB)gating_channels.db", "INSTR=$(INSTR), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME), CHANNEL=1") +dbLoadRecords("$(sinqDAQ_DB)gating_channels.db", "INSTR=$(INSTR), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME), CHANNEL=2") + $(LOAD_TEST_PVS=#) $(LOAD_TEST_PVS) dbLoadRecords("$(sinqDAQ_DB)daq_2nd_gen_test.db", "INSTR=$(INSTR), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME)") $(SET_SIM_MODE=#) $(SET_SIM_MODE) dbLoadRecords("$(sinqDAQ_DB)daq_simcontrol.db", "INSTR=$(INSTR), NAME=$(NAME), PROTO=$(PROTO), ASYN_PORT=ASYN_$(NAME)")