From: Philipp Klaus Date: Tue, 22 Aug 2017 10:00:33 +0000 (+0200) Subject: AGILENT_34411A: .proto .db and other requirements X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=2d281ac0b4cef34f2f63a4c62494e35ad644147b;p=mvd_epics.git AGILENT_34411A: .proto .db and other requirements --- diff --git a/AGILENT_34411A/AGILENT_34411AApp/Db/AGILENT_34411A.db b/AGILENT_34411A/AGILENT_34411AApp/Db/AGILENT_34411A.db new file mode 100644 index 0000000..a458b2e --- /dev/null +++ b/AGILENT_34411A/AGILENT_34411AApp/Db/AGILENT_34411A.db @@ -0,0 +1,25 @@ +############################################# +# ### ### # +# ### 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") +} diff --git a/AGILENT_34411A/AGILENT_34411AApp/Db/Makefile b/AGILENT_34411A/AGILENT_34411AApp/Db/Makefile index 983981d..cf9877e 100644 --- a/AGILENT_34411A/AGILENT_34411AApp/Db/Makefile +++ b/AGILENT_34411A/AGILENT_34411AApp/Db/Makefile @@ -11,6 +11,7 @@ include $(TOP)/configure/CONFIG # Create and install (or just install) into /db # databases, templates, substitutions like this #DB += xxx.db +DB += AGILENT_34411A.db #---------------------------------------------------- # If .db template is not named *.template add diff --git a/AGILENT_34411A/AGILENT_34411AApp/src/Makefile b/AGILENT_34411A/AGILENT_34411AApp/src/Makefile index 5d184e8..ee40c1e 100644 --- a/AGILENT_34411A/AGILENT_34411AApp/src/Makefile +++ b/AGILENT_34411A/AGILENT_34411AApp/src/Makefile @@ -14,12 +14,17 @@ DBD += AGILENT_34411A.dbd # 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 diff --git a/AGILENT_34411A/configure/RELEASE b/AGILENT_34411A/configure/RELEASE index bd6b780..ed27f29 100644 --- a/AGILENT_34411A/configure/RELEASE +++ b/AGILENT_34411A/configure/RELEASE @@ -24,10 +24,14 @@ # 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 diff --git a/AGILENT_34411A/iocBoot/iocAGILENT_34411A/st.cmd b/AGILENT_34411A/iocBoot/iocAGILENT_34411A/st.cmd index e3b3484..3e6498f 100644 --- a/AGILENT_34411A/iocBoot/iocAGILENT_34411A/st.cmd +++ b/AGILENT_34411A/iocBoot/iocAGILENT_34411A/st.cmd @@ -5,15 +5,22 @@ < 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 diff --git a/AGILENT_34411A/protocols/AGILENT_34411A.proto b/AGILENT_34411A/protocols/AGILENT_34411A.proto new file mode 100644 index 0000000..e98b6b2 --- /dev/null +++ b/AGILENT_34411A/protocols/AGILENT_34411A.proto @@ -0,0 +1,29 @@ +################################################# +# ### ### # +# ### 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"; +}