Files
sinqDAQ/db/daq_4ch.db
T
wall_e 0789462aed
Example Action / Lint (push) Successful in 10s
Example Action / BuildAndTest (push) Failing after 16s
rename/refactor channels.db
2026-06-03 16:49:47 +02:00

72 lines
2.1 KiB
Plaintext

# EPICS Database for streamdevice support 1st gen systems with 4 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, 0) # Smallest Monitor Channel (should really be 1)
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(ai, "$(INSTR)$(NAME):HW_MT")
{
field(DESC, "Monitor threshold to actually use")
field(INP, "$(INSTR)$(NAME):CH1_PRESET NPP")
}
record(dfanout,"$(INSTR)$(NAME):RESET_HW_MT")
{
field(OMSL, "supervisory")
field(SELM, "All")
field(OUTA, "$(INSTR)$(NAME):CH1_PRESET PP")
field(OUTB, "$(INSTR)$(NAME):CH2_PRESET PP")
field(OUTC, "$(INSTR)$(NAME):CH3_PRESET PP")
field(OUTD, "$(INSTR)$(NAME):CH4_PRESET PP")
}
record(dfanout,"$(INSTR)$(NAME):CMONITORS")
{
field(SELM, "All")
field(OMSL, "supervisory")
field(OUTA, "$(INSTR)$(NAME):CH1_CLEAR PP")
field(OUTB, "$(INSTR)$(NAME):CH2_CLEAR PP")
field(OUTC, "$(INSTR)$(NAME):CH3_CLEAR PP")
field(OUTD, "$(INSTR)$(NAME):CH4_CLEAR PP")
}
################################################################################
# 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):CH1_THRESH PP")
field(OUTB, "$(INSTR)$(NAME):CH2_THRESH PP")
field(OUTC, "$(INSTR)$(NAME):CH3_THRESH PP")
field(OUTD, "$(INSTR)$(NAME):CH4_THRESH PP")
}
################################################################################
# Read all monitors values