--- /dev/null
+#############################################
+# ### ### #
+# ### EPICS Database for ### #
+# ### AGILENT_34411A ### #
+# ### ### #
+# ### author: P.Klaus ### #
+# ### ### #
+# ### Ref 1.0; 2017-08-22 ### #
+# ### ### #
+# ### macros: ### #
+# ### sys system ### #
+# ### sub subsystem ### #
+# ### vsys voltage sub system ### #
+# ### PORT Asyn Interface ### #
+#############################################
+
+record (ai, "$(sys):$(sub):POWER:$(vsys):Voltage") {
+ field (DTYP, "stream")
+ field (INP, "@AGILENT_34411A.proto getVoltage $(PORT)")
+ field (SCAN, "1 second")
+ field (EGU, "V")
+ field (PREC, "5")
+ #field (ADEL, "0.07")
+ #field (MDEL, "0.01")
+}
# Create and install (or just install) into <top>/db
# databases, templates, substitutions like this
#DB += xxx.db
+DB += AGILENT_34411A.db
#----------------------------------------------------
# If <anyname>.db template is not named <anyname>*.template add
# AGILENT_34411A.dbd will be made up from these files:
AGILENT_34411A_DBD += base.dbd
+AGILENT_34411A_DBD += stream.dbd
+AGILENT_34411A_DBD += asyn.dbd
+AGILENT_34411A_DBD += drvVxi11.dbd
# Include dbd files from all support applications:
#AGILENT_34411A_DBD += xxx.dbd
# Add all the support libraries needed by this IOC
#AGILENT_34411A_LIBS += xxx
+AGILENT_34411A_LIBS += stream
+AGILENT_34411A_LIBS += asyn
# AGILENT_34411A_registerRecordDeviceDriver.cpp derives from AGILENT_34411A.dbd
AGILENT_34411A_SRCS += AGILENT_34411A_registerRecordDeviceDriver.cpp
# Variables and paths to dependent modules:
#MODULES = /path/to/modules
+MODULES = /home/scs/EPICS/EPICS/modules
#MYMODULE = $(MODULES)/my-module
# If using the sequencer, point SNCSEQ at its top directory:
#SNCSEQ = $(MODULES)/seq-ver
+SNCSEQ = $(MODULES)/synApps_5_8/support/seq-2-2-1
+ASYN = $(MODULES)/synApps_5_8/support/asyn-4-26
+STREAM = $(MODULES)/synApps_5_8/support/stream-2-6a
# EPICS_BASE should appear last so earlier modules can override stuff:
EPICS_BASE = /home/scs/EPICS/EPICS/base
< envPaths
+epicsEnvSet ("STREAM_PROTOCOL_PATH", "${TOP}/protocols")
+
cd "${TOP}"
## Register all support components
dbLoadDatabase "dbd/AGILENT_34411A.dbd"
AGILENT_34411A_registerRecordDeviceDriver pdbbase
+#vxi11Configure("portName","inet_addr",recoverWithIFC,timeout,"vxiName",priority,noAutoConnect)
+vxi11Configure("AGILENT_34411A_PORT","192.168.0.207",0,0.0,"inst0",0,0)
+
## Load record instances
#dbLoadRecords("db/xxx.db","user=scs")
+dbLoadRecords("db/AGILENT_34411A.db", "PORT=AGILENT_34411A_PORT,sys=CBM,sub=MVD,vsys=AGILENT_34411A")
+
cd "${TOP}/iocBoot/${IOC}"
iocInit
--- /dev/null
+#################################################
+# ### ### #
+# ### StreamDevice Protocol for ### #
+# ### AGILENT_34411A ### #
+# ### ### #
+# ### author: P.Klaus ### #
+# ### ### #
+# ### Ref 1.0; 2017-08-22 ### #
+#################################################
+
+###################
+# ### Globals ### #
+###################
+Terminator = LF;
+LockTimeout = 5000;
+ReplyTimeout = 500;
+ReadTimeout = 500;
+WriteTimeout = 300;
+ExtraInput = Ignore;
+
+#####################
+# ### Protocols ### #
+#####################
+
+
+getVoltage {
+ out "READ?";
+ in "%E";
+}