From 59fe8739f53d86897b4bcdeca8d5d17367dc5725 Mon Sep 17 00:00:00 2001 From: Ole Artz Date: Mon, 26 Jun 2017 14:21:57 +0200 Subject: [PATCH] BALZERS: required changes to get it to work --- .../BALZERS_PKG020App/Db/BALZERS_PKG020.db | 41 ++++++++++++++----- BALZERS_PKG020/BALZERS_PKG020App/Db/Makefile | 1 + BALZERS_PKG020/configure/RELEASE | 5 ++- .../iocBoot/iocBALZERS_PKG020/st.cmd | 11 +++++ BALZERS_PKG020/protocols/BALZERS_PKG020.proto | 32 +++++++++++++-- 5 files changed, 74 insertions(+), 16 deletions(-) diff --git a/BALZERS_PKG020/BALZERS_PKG020App/Db/BALZERS_PKG020.db b/BALZERS_PKG020/BALZERS_PKG020App/Db/BALZERS_PKG020.db index c058363..fe11b6d 100644 --- a/BALZERS_PKG020/BALZERS_PKG020App/Db/BALZERS_PKG020.db +++ b/BALZERS_PKG020/BALZERS_PKG020App/Db/BALZERS_PKG020.db @@ -15,17 +15,36 @@ # ### PORT Asyn Interface ### # ############################################# -record (ai, "$(sys):$(sub):VACUUM:$(vsys):Pressure") { +#record (ai, "$(sys):$(sub):VACUUM:$(vsys):TPR:Pressure") { ... + +#record (ai, "$(sys):$(sub):VACUUM:$(vsys):IKR:Pressure") { +# field (DTYP, "stream") +# field (INP, "@BALZERS_PKG020.proto getPressureValue3 $(PORT)") +# field (SCAN, "I/O Intr") +# field (EGU, "mbar") +# #field (PREC, "2") +# #field (ADEL, "1") +# #field (MDEL, "1") +# #field (ASLO, "0.01") +# #field (AOFF, "0") +#} + +record (ai, "$(sys):$(sub):VACUUM:$(vsys):TPR:Voltage") { field (DTYP, "stream") - field (INP, "@BALZERS_PKG020.proto getPressureValue3 $(PORT)") - field (SCAN, "10 second") - #field (FLNK, "PANDA:$(subsys):COOLING:$(sector):getExtTemp") - field (EGU, "mbar") - #field (PREC, "2") - #field (ADEL, "1") - #field (MDEL, "1") - #field (ASLO, "0.01") - #field (AOFF, "0") + field (INP, "@BALZERS_PKG020.proto getVoltage5 $(PORT)") + field (SCAN, "I/O Intr") + field (EGU, "V") + #field (PREC, "3") + #field (ADEL, "0.001") + #field (MDEL, "0.001") +} +record (ai, "$(sys):$(sub):VACUUM:$(vsys):IKR:Voltage") { + field (DTYP, "stream") + field (INP, "@BALZERS_PKG020.proto getVoltage7 $(PORT)") + field (SCAN, "I/O Intr") + field (EGU, "V") + #field (PREC, "3") + #field (ADEL, "0.001") + #field (MDEL, "0.001") } - diff --git a/BALZERS_PKG020/BALZERS_PKG020App/Db/Makefile b/BALZERS_PKG020/BALZERS_PKG020App/Db/Makefile index 983981d..415bdcb 100644 --- a/BALZERS_PKG020/BALZERS_PKG020App/Db/Makefile +++ b/BALZERS_PKG020/BALZERS_PKG020App/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 += BALZERS_PKG020.db #---------------------------------------------------- # If .db template is not named *.template add diff --git a/BALZERS_PKG020/configure/RELEASE b/BALZERS_PKG020/configure/RELEASE index bd6b780..ce3720a 100644 --- a/BALZERS_PKG020/configure/RELEASE +++ b/BALZERS_PKG020/configure/RELEASE @@ -24,10 +24,13 @@ # 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/BALZERS_PKG020/iocBoot/iocBALZERS_PKG020/st.cmd b/BALZERS_PKG020/iocBoot/iocBALZERS_PKG020/st.cmd index a315228..552d7d6 100644 --- a/BALZERS_PKG020/iocBoot/iocBALZERS_PKG020/st.cmd +++ b/BALZERS_PKG020/iocBoot/iocBALZERS_PKG020/st.cmd @@ -12,9 +12,20 @@ cd "${TOP}" dbLoadDatabase "dbd/BALZERS_PKG020.dbd" BALZERS_PKG020_registerRecordDeviceDriver pdbbase +drvAsynSerialPortConfigure("BALZERS_PORT","/dev/SparkFun_Pro_Micro_platform-3f980000.usb-usb-0:1.3:1.0") +asynSetOption ("BALZERS_PORT", 0, "baud", "115200") +asynSetOption ("BALZERS_PORT", 0, "bits", "8") +asynSetOption ("BALZERS_PORT", 0, "parity", "none") +asynSetOption ("BALZERS_PORT", 0, "stop", "1") +asynSetOption ("BALZERS_PORT", 0, "clocal", "N") +asynSetOption ("BALZERS_PORT", 0, "crtscts", "N") + + ## Load record instances #dbLoadRecords("db/xxx.db","user=scs") +dbLoadRecords("db/BALZERS_PKG020.db", "PORT=BALZERS_PORT,sys=CBM,sub=MVD,vsys=PRESTO_RECIPIENT") + cd "${TOP}/iocBoot/${IOC}" iocInit diff --git a/BALZERS_PKG020/protocols/BALZERS_PKG020.proto b/BALZERS_PKG020/protocols/BALZERS_PKG020.proto index 785180d..fbf1b5f 100644 --- a/BALZERS_PKG020/protocols/BALZERS_PKG020.proto +++ b/BALZERS_PKG020/protocols/BALZERS_PKG020.proto @@ -12,7 +12,7 @@ ################### # ### Globals ### # ################### -Terminator = CR; +Terminator = LF; LockTimeout = 5000; ReplyTimeout = 500; ReadTimeout = 500; @@ -24,7 +24,31 @@ ExtraInput = Ignore; ##################### -getPressureValue3 { - out "RPV3"; - in "%*d,\t%e"; +getVoltage1 { + in "%f %*f %*f %*f %*f %*f %*f %*f %*f"; } +getVoltage2 { + in "%*f %f %*f %*f %*f %*f %*f %*f %*f"; +} +getVoltage3 { + in "%*f %*f %f %*f %*f %*f %*f %*f %*f"; +} +getVoltage4 { + in "%*f %*f %*f %f %*f %*f %*f %*f %*f"; +} +getVoltage5 { + in "%*f %*f %*f %*f %f %*f %*f %*f %*f"; +} +getVoltage6 { + in "%*f %*f %*f %*f %*f %f %*f %*f %*f"; +} +getVoltage7 { + in "%*f %*f %*f %*f %*f %*f %f %*f %*f"; +} +getVoltage8 { + in "%*f %*f %*f %*f %*f %*f %*f %f %*f"; +} +getVoltage9 { + in "%*f %*f %*f %*f %*f %*f %*f %*f %f"; +} + -- 2.43.0