Files
sinqDAQ/db/daq_8ch.db
Edward Wall 14214e6151
Some checks failed
Example Action / Lint (push) Successful in 3s
Example Action / BuildAndTest (push) Failing after 9m52s
low rate status is handled differently in new and old box
2025-09-17 13:54:08 +02:00

57 lines
1.7 KiB
Plaintext

# EPICS Database for streamdevice support 1st gen systems with 8 channels
#
# Macros
# INSTR - Prefix
# NAME - the device name, e.g. EL737
# PROTO - Stream device protocol file
# ASYN_PORT - Low level Asyn IP Port to DAQ
################################################################################
# Status Variables
record(longout, "$(INSTR)$(NAME):MONITOR-CHANNEL")
{
field(DESC, "PRESET-COUNT Monitors this channel")
field(VAL, 1)
field(DRVL, "1") # Smallest Monitor Channel
field(DRVH, "1") # Largest Monitor Channel
field(DISP, 1)
}
record(longin, "$(INSTR)$(NAME):MONITOR-CHANNEL_RBV")
{
field(DESC, "PRESET-COUNT Monitors this channel")
field(VAL, 1)
field(DISP, 1)
}
record(calc, "$(INSTR)$(NAME):RATE_MAP")
{
field(DESC, "Want a consistent lowrate pv")
field(INPA, "$(INSTR)$(NAME):RAW-STATUS.B2 NPP")
field(CALC, "(A=0)?1:0")
}
################################################################################
# Count Commands
# The hardware stores a separate threshold for each channel, which is somewhat
# unintuitive for the user, as only one can actually be made use of at a time.
# So, we just write the threshold value to all channels when it is changed.
record(dfanout,"$(INSTR)$(NAME):THRESHOLD-F")
{
field(OMSL, "supervisory")
field(SELM, "All")
field(OUTA, "$(INSTR)$(NAME):THRESH1 PP")
field(OUTB, "$(INSTR)$(NAME):THRESH2 PP")
field(OUTC, "$(INSTR)$(NAME):THRESH3 PP")
field(OUTD, "$(INSTR)$(NAME):THRESH4 PP")
field(OUTE, "$(INSTR)$(NAME):THRESH5 PP")
field(OUTF, "$(INSTR)$(NAME):THRESH6 PP")
field(OUTG, "$(INSTR)$(NAME):THRESH7 PP")
field(OUTH, "$(INSTR)$(NAME):THRESH8 PP")
}
################################################################################
# Read all monitors values