From: Philipp Klaus Date: Mon, 28 Oct 2019 11:02:26 +0000 (+0100) Subject: MKS_910_DualTrans .proto + .db + load asyn&stream modules X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=2a705345f6f07cac74a8e5e8b6e8e51bd3a99ca3;p=mvd_epics.git MKS_910_DualTrans .proto + .db + load asyn&stream modules --- diff --git a/MKS_910_DualTrans/MKS_910_DualTransApp/Db/MKS_910_DualTrans.db b/MKS_910_DualTrans/MKS_910_DualTransApp/Db/MKS_910_DualTrans.db new file mode 100644 index 0000000..dd50e7e --- /dev/null +++ b/MKS_910_DualTrans/MKS_910_DualTransApp/Db/MKS_910_DualTrans.db @@ -0,0 +1,7 @@ +record (ai, "$(sys):$(sub):VACUUM:$(vsys):PressureP3") { + field (DTYP, "stream") + field (INP, "@MKS_910_DualTrans.proto getPressureP3 $(PORT)") + field (SCAN, "2 second") + field (EGU, "mbar") + field (PREC, "3") +} diff --git a/MKS_910_DualTrans/MKS_910_DualTransApp/Db/Makefile b/MKS_910_DualTrans/MKS_910_DualTransApp/Db/Makefile index 8eb9727..760b0bb 100644 --- a/MKS_910_DualTrans/MKS_910_DualTransApp/Db/Makefile +++ b/MKS_910_DualTrans/MKS_910_DualTransApp/Db/Makefile @@ -7,6 +7,7 @@ include $(TOP)/configure/CONFIG # Create and install (or just install) into /db # databases, templates, substitutions like this #DB += xxx.db +DB += MKS_910_DualTrans.db #---------------------------------------------------- # If .db template is not named *.template add diff --git a/MKS_910_DualTrans/MKS_910_DualTransApp/src/Makefile b/MKS_910_DualTrans/MKS_910_DualTransApp/src/Makefile index 20a05ce..1235545 100644 --- a/MKS_910_DualTrans/MKS_910_DualTransApp/src/Makefile +++ b/MKS_910_DualTrans/MKS_910_DualTransApp/src/Makefile @@ -14,12 +14,17 @@ DBD += MKS_910_DualTrans.dbd # MKS_910_DualTrans.dbd will be made up from these files: MKS_910_DualTrans_DBD += base.dbd +MKS_910_DualTrans_DBD += stream.dbd +MKS_910_DualTrans_DBD += asyn.dbd +MKS_910_DualTrans_DBD += drvAsynSerialPort.dbd # Include dbd files from all support applications: #MKS_910_DualTrans_DBD += xxx.dbd # Add all the support libraries needed by this IOC #MKS_910_DualTrans_LIBS += xxx +MKS_910_DualTrans_LIBS += asyn +MKS_910_DualTrans_LIBS += stream # MKS_910_DualTrans_registerRecordDeviceDriver.cpp derives from MKS_910_DualTrans.dbd MKS_910_DualTrans_SRCS += MKS_910_DualTrans_registerRecordDeviceDriver.cpp diff --git a/MKS_910_DualTrans/configure/RELEASE b/MKS_910_DualTrans/configure/RELEASE index d6f46ca..822cf6f 100644 --- a/MKS_910_DualTrans/configure/RELEASE +++ b/MKS_910_DualTrans/configure/RELEASE @@ -23,10 +23,14 @@ # Variables and paths to dependent modules: #MODULES = /path/to/modules +#MODULES = /home/scs/EPICS/EPICS/modules/ +MODULES = /home/pklaus/local_software/EPICS/modules/ #MYMODULE = $(MODULES)/my-module # If using the sequencer, point SNCSEQ at its top directory: #SNCSEQ = $(MODULES)/seq-ver +ASYN = $(MODULES)/asyn +STREAM = $(MODULES)/StreamDevice # EPICS_BASE should appear last so earlier modules can override stuff: EPICS_BASE = $(EPICS_ROOT)/base diff --git a/MKS_910_DualTrans/iocBoot/iocMKS_910_DualTrans/st.cmd b/MKS_910_DualTrans/iocBoot/iocMKS_910_DualTrans/st.cmd index e77d2b3..11597e4 100755 --- a/MKS_910_DualTrans/iocBoot/iocMKS_910_DualTrans/st.cmd +++ b/MKS_910_DualTrans/iocBoot/iocMKS_910_DualTrans/st.cmd @@ -5,14 +5,28 @@ < envPaths +epicsEnvSet ("STREAM_PROTOCOL_PATH", "${TOP}/protocols") + cd "${TOP}" ## Register all support components dbLoadDatabase "dbd/MKS_910_DualTrans.dbd" MKS_910_DualTrans_registerRecordDeviceDriver pdbbase +drvAsynSerialPortConfigure("PORT","/dev/ttyUSB0") +asynSetOption ("PORT", 0, "baud", "9600") +asynSetOption ("PORT", 0, "bits", "8") +asynSetOption ("PORT", 0, "parity", "none") +asynSetOption ("PORT", 0, "stop", "1") +asynSetOption ("PORT", 0, "clocal", "N") +asynSetOption ("PORT", 0, "crtscts", "N") + +#lots! of debug output +#var streamDebug 1 + ## Load record instances #dbLoadRecords("db/xxx.db","user=pklaus") +dbLoadRecords("db/MKS_910_DualTrans.db","PORT=PORT,sys=CBM,sub=MVD,vsys=PRESTO") cd "${TOP}/iocBoot/${IOC}" iocInit diff --git a/MKS_910_DualTrans/protocols/MKS_910_DualTrans.proto b/MKS_910_DualTrans/protocols/MKS_910_DualTrans.proto new file mode 100644 index 0000000..9ba0ebe --- /dev/null +++ b/MKS_910_DualTrans/protocols/MKS_910_DualTrans.proto @@ -0,0 +1,29 @@ +################################################# +# ### ### # +# ### StreamDevice Protocol for ### # +# ### MKS 910 DualTrans ### # +# ### ### # +# ### author: P.Klaus ### # +# ### ### # +# ### Ref 1.0; 2019-10-28 ### # +################################################# + +################### +# ### Globals ### # +################### +Terminator = ";FF"; +LockTimeout = 5000; +ReplyTimeout = 500; +ReadTimeout = 500; +WriteTimeout = 300; +ExtraInput = Ignore; + +##################### +# ### Protocols ### # +##################### + + +getPressureP3 { + out "@253PR3?"; + in "@253ACK%e"; +}