Files
sinqDAQ/db/gating_channels.db

103 lines
2.9 KiB
Plaintext

# EPICS Database for streamdevice specific to gating 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
# CHANNEL - the number associated with the measurment channel
################################################################################
# Records for configuring gating settings
record(mbbo, "$(INSTR)$(NAME):GATE-$(CHANNEL)")
{
field(DESC, "Sets the current gate state")
field(DTYP, "Soft Channel")
field(OUT, "$(INSTR)$(NAME):GATE-$(CHANNEL)-SET PP")
field(ZRST, "Disabled")
field(ONST, "Trigger Low")
field(TWST, "Trigger High")
}
record(dfanout, "$(INSTR)$(NAME):GATE-$(CHANNEL)-SET")
{
field(OUTA, "$(INSTR)$(NAME):GATE-$(CHANNEL)-SEL.SELN PP")
field(OUTB, "$(INSTR)$(NAME):GATE-$(CHANNEL)-SEL2.SELN PP")
}
record(seq, "$(INSTR)$(NAME):GATE-$(CHANNEL)-SEL")
{
field(SELM, "Specified")
field(DO0, 0)
field(LNK0, "$(INSTR)$(NAME):GATE-$(CHANNEL)-ENABLE PP")
field(DO1, 1)
field(LNK1, "$(INSTR)$(NAME):GATE-$(CHANNEL)-ENABLE PP")
field(DO2, 1)
field(LNK2, "$(INSTR)$(NAME):GATE-$(CHANNEL)-ENABLE PP")
}
record(bo, "$(INSTR)$(NAME):GATE-$(CHANNEL)-ENABLE")
{
field(DESC, "Enable Gating Channel")
field(ZNAM, "Disabled")
field(ONAM, "Enabled")
field(DTYP, "stream")
field(OUT, "@$(PROTO) setGateStatus($(INSTR)$(NAME):, $(CHANNEL)) $(ASYN_PORT)")
}
record(seq, "$(INSTR)$(NAME):GATE-$(CHANNEL)-SEL2")
{
field(SELM, "Specified")
field(DO1, 0)
field(LNK1, "$(INSTR)$(NAME):GATE-$(CHANNEL)-TRIG PP")
field(DO2, 1)
field(LNK2, "$(INSTR)$(NAME):GATE-$(CHANNEL)-TRIG PP")
}
record(bo, "$(INSTR)$(NAME):GATE-$(CHANNEL)-TRIG")
{
field(DESC, "Set Count when first Gate high/low")
field(ZNAM, "Low")
field(ONAM, "High")
field(DTYP, "stream")
field(OUT, "@$(PROTO) setGateStatus($(INSTR)$(NAME):, $(CHANNEL)) $(ASYN_PORT)")
}
# Records for reading configured gating settings
record(mbbi, "$(INSTR)$(NAME):GATE-$(CHANNEL)_RBV")
{
field(DESC, "The current gate state")
field(ZRST, "Disabled")
field(ONST, "Trigger Low")
field(TWST, "Trigger High")
}
record(calcout, "$(INSTR)$(NAME):GATE-$(CHANNEL)-SEL_RBV")
{
field(INPA, "$(INSTR)$(NAME):GATE-$(CHANNEL)-ENABLE_RBV NPP")
field(INPB, "$(INSTR)$(NAME):GATE-$(CHANNEL)-TRIG_RBV NPP")
field(CALC, "A=0?0:B=0?1:2")
field(OOPT, "On Change")
field(OUT, "$(INSTR)$(NAME):GATE-$(CHANNEL)_RBV PP")
field(FLNK, "$(INSTR)$(NAME):GATE-$(CHANNEL)_RBV")
}
record(bi, "$(INSTR)$(NAME):GATE-$(CHANNEL)-ENABLE_RBV")
{
field(DESC, "Is Gating Channel Enabled")
field(ZNAM, "Disabled")
field(ONAM, "Enabled")
field(DTYP, "stream")
field(INP, "@$(PROTO) getGateStatus($(INSTR)$(NAME):, $(CHANNEL)) $(ASYN_PORT)")
field(SCAN, "2 second")
field(FLNK, "$(INSTR)$(NAME):GATE-$(CHANNEL)-SEL_RBV")
}
record(bi, "$(INSTR)$(NAME):GATE-$(CHANNEL)-TRIG_RBV")
{
field(DESC, "Count when first Gate high/low")
field(ZNAM, "Low")
field(ONAM, "High")
}