103 lines
2.9 KiB
Plaintext
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")
|
|
}
|