# 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):CH_PRESET") { field(DESC, "Monitor threshold to actually use") field(INP, "$(INSTR)$(NAME):CH1_PRESET NPP") } record(dfanout,"$(INSTR)$(NAME):CH_PRESET_CLEAR") { field(DESC, "Clears all channel presets") field(SELM, "All") field(OMSL, "closed_loop") field(DOL, 0) 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):CH_CLEAR") { field(DESC, "Clears all channel counts") field(SELM, "All") field(OMSL, "closed_loop") field(DOL, 1) field(OUTA, "$(INSTR)$(NAME):CH1_CLEAR.PROC PP") field(OUTB, "$(INSTR)$(NAME):CH2_CLEAR.PROC PP") field(OUTC, "$(INSTR)$(NAME):CH3_CLEAR.PROC PP") field(OUTD, "$(INSTR)$(NAME):CH4_CLEAR.PROC PP") } ################################################################################ # 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):CH_THRESHOLD") { field(DESC, "Sets Channel Lowrate Thresholds") 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") }