From 258a5979339333040165f47dc7c40a554e8e5eab Mon Sep 17 00:00:00 2001 From: Ole Artz Date: Tue, 8 Aug 2017 14:41:13 +0200 Subject: [PATCH] MEG_HMP4030: modify/create files for working --- .../HAMEG_HMP4030App/Db/HAMEG_HMP4030.db | 12 ++ .../Db/HAMEG_HMP4030_CHANNEL.substitutions | 8 + .../Db/HAMEG_HMP4030_CHANNEL.template | 148 ++++++++++++++++++ HAMEG_HMP4030/HAMEG_HMP4030App/Db/Makefile | 1 + HAMEG_HMP4030/HAMEG_HMP4030App/src/Makefile | 5 + HAMEG_HMP4030/configure/RELEASE | 5 +- HAMEG_HMP4030/iocBoot/iocHAMEG_HMP4030/st.cmd | 18 +-- HAMEG_HMP4030/protocols/HAMEG_HMP4030.proto | 29 +--- 8 files changed, 195 insertions(+), 31 deletions(-) create mode 100644 HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030.db create mode 100644 HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030_CHANNEL.substitutions create mode 100644 HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030_CHANNEL.template diff --git a/HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030.db b/HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030.db new file mode 100644 index 0000000..0e93719 --- /dev/null +++ b/HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030.db @@ -0,0 +1,12 @@ + +record (bo, "$(sys):$(sub):POWER:$(vsys):ActivateAllChannel") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto ActivateAllChannel $(PORT)") + field (SCAN, "2 second") +} + +record (bo, "$(sys):$(sub):POWER:$(vsys):DeactivateAllChannel") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto DeactivateAllChannel $(PORT)") + field (SCAN, "2 second") +} diff --git a/HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030_CHANNEL.substitutions b/HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030_CHANNEL.substitutions new file mode 100644 index 0000000..a15b080 --- /dev/null +++ b/HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030_CHANNEL.substitutions @@ -0,0 +1,8 @@ +file HAMEG_HMP_CHANNEL.template { + +pattern { CHAN_NAME, CHAN } + { "CHAN1", 1 } + { "CHAN2", 2 } + { "CHAN3", 3 } +} + diff --git a/HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030_CHANNEL.template b/HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030_CHANNEL.template new file mode 100644 index 0000000..13a4bac --- /dev/null +++ b/HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030_CHANNEL.template @@ -0,0 +1,148 @@ +record (ao, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetVoltage") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto SetVoltage($(CHAN)) $(PORT)") + field (EGU, "V") + field (PREC, "4") + field (ADEL, "0.005") + field (MDEL, "0.001") +} +record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadSetVoltage") { + field (DTYP, "stream") + field (INP, "@HAMEG_HMP4030.proto ReadSetVoltage($(CHAN)) $(PORT)") + field (SCAN, "2 second") + field (EGU, "V") + field (PREC, "4") + field (ADEL, "0.005") + field (MDEL, "0.001") +} + +record (ao, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetVoltageStepSize") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto SetVoltageStepSize($(CHAN)) $(PORT)") + field (EGU, "V") + field (PREC, "4") + field (ADEL, "0.005") + field (MDEL, "0.001") +} + +record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadSetVoltageStepSize") { + field (DTYP, "stream") + field (INP, "@HAMEG_HMP4030.proto ReadSetVoltageStepSize($(CHAN)) $(PORT)") + field (EGU, "V") + field (PREC, "4") + field (ADEL, "0.005") + field (MDEL, "0.001") +} + +record (ao, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetCurrent") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto SetCurrent($(CHAN)) $(PORT)") + field (EGU, "A") + field (PREC, "4") + field (ADEL, "0.005") + field (MDEL, "0.001") +} +record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadSetCurrent") { + field (DTYP, "stream") + field (INP, "@HAMEG_HMP4030.proto ReadSetCurrent($(CHAN)) $(PORT)") + field (SCAN, "2 second") + field (EGU, "A") + field (PREC, "4") + field (ADEL, "0.005") + field (MDEL, "0.001") +} + +record (ao, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetCurrentStepSize") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto SetCurrentStepSize($(CHAN)) $(PORT)") + field (EGU, "A") + field (PREC, "4") + field (ADEL, "0.005") + field (MDEL, "0.001") +} + +record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadSetCurrentStepSize") { + field (DTYP, "stream") + field (INP, "@HAMEG_HMP4030.proto ReadSetCurrentStepSize($(CHAN)) $(PORT)") + field (EGU, "A") + field (PREC, "4") + field (ADEL, "0.005") + field (MDEL, "0.001") +} + +record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ActivateChannel") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto ActivateChannel($(CHAN)) $(PORT)") +} + +record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):DeactivateChannel") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto DeactivateChannel($(CHAN)) $(PORT)") +} + +record (bi, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadChannelMode") { + field (DTYP, "stream") + field (INP, "@HAMEG_HMP4030.proto ReadChannelMode($(CHAN)) $(PORT)") +} + +record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ActivateFuse") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto ActivateFuse($(CHAN)) $(PORT)") +} + +record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):DeactivateFuse") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto DeactivateFuse($(CHAN)) $(PORT)") +} + +record (bi, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadFuseMode") { + field (DTYP, "stream") + field (INP, "@HAMEG_HMP4030.proto ReadFuseMode($(CHAN)) $(PORT)") +} + +record (ao, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetVoltageProtection") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto SetVoltageProtection($(CHAN)) $(PORT)") + field (EGU, "V") + field (PREC, "4") + field (ADEL, "0.005") + field (MDEL, "0.001") +} + +record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ClearVoltageProtection") { + field (DTYP, "stream") + field (OUT, "@HAMEG_HMP4030.proto ClearVoltageProtection($(CHAN)) $(PORT)") +} + +#record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadVoltageMinProtection") { +# field (DTYP, "stream") +# field (INP, "@HAMEG_HMP4030.proto ReadVoltageMINProtection($(CHAN)) $(PORT)") +# field (EGU, "V") +# field (PREC, "4") +# field (ADEL, "0.005") +# field (MDEL, "0.001") +#} + +#record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadVoltageMaXProtection") { +# field (DTYP, "stream") +# field (INP, "@HAMEG_HMP4030.proto ReadVoltageMAXProtection($(CHAN)) $(PORT)") +# field (EGU, "V") +# field (PREC, "4") +# field (ADEL, "0.005") +# field (MDEL, "0.001") +#} + +#record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetVoltageProtectionMeasured") { +# field (DTYP, "stream") +# field (OUT, "@HAMEG_HMP4030.proto SetVoltageProtectionMeasured($(CHAN)) $(PORT)") +#} + +#record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetVoltageProtectionProtected") { +# field (DTYP, "stream") +# field (OUT, "@HAMEG_HMP4030.proto SetVoltageProtectionProtected($(CHAN)) $(PORT)") +#} + +#record (bi, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadVoltageProtectionMode") { +# field (DTYP, "stream") +# field (INP, "@HAMEG_HMP4030.proto ReadVoltageProtectionMode($(CHAN)) $(PORT)") +#} diff --git a/HAMEG_HMP4030/HAMEG_HMP4030App/Db/Makefile b/HAMEG_HMP4030/HAMEG_HMP4030App/Db/Makefile index c1fa840..3bb093e 100644 --- a/HAMEG_HMP4030/HAMEG_HMP4030App/Db/Makefile +++ b/HAMEG_HMP4030/HAMEG_HMP4030App/Db/Makefile @@ -12,6 +12,7 @@ include $(TOP)/configure/CONFIG # databases, templates, substitutions like this #DB += xxx.db DB += HAMEG_HMP4030.db +DB += HAMEG_HMP4030_CHANNEL.db #---------------------------------------------------- diff --git a/HAMEG_HMP4030/HAMEG_HMP4030App/src/Makefile b/HAMEG_HMP4030/HAMEG_HMP4030App/src/Makefile index a118b49..176fda8 100644 --- a/HAMEG_HMP4030/HAMEG_HMP4030App/src/Makefile +++ b/HAMEG_HMP4030/HAMEG_HMP4030App/src/Makefile @@ -14,12 +14,17 @@ DBD += HAMEG_HMP4030.dbd # HAMEG_HMP4030.dbd will be made up from these files: HAMEG_HMP4030_DBD += base.dbd +HAMEG_HMP4030_DBD += stream.dbd +HAMEG_HMP4030_DBD += asyn.dbd +HAMEG_HMP4030_DBD += drvAsynSerialPort.dbd # Include dbd files from all support applications: #HAMEG_HMP4030_DBD += xxx.dbd # Add all the support libraries needed by this IOC #HAMEG_HMP4030_LIBS += xxx +HAMEG_HMP4030_LIBS += stream +HAMEG_HMP4030_LIBS += asyn # HAMEG_HMP4030_registerRecordDeviceDriver.cpp derives from HAMEG_HMP4030.dbd HAMEG_HMP4030_SRCS += HAMEG_HMP4030_registerRecordDeviceDriver.cpp diff --git a/HAMEG_HMP4030/configure/RELEASE b/HAMEG_HMP4030/configure/RELEASE index bd6b780..d951ec4 100644 --- a/HAMEG_HMP4030/configure/RELEASE +++ b/HAMEG_HMP4030/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/HAMEG_HMP4030/iocBoot/iocHAMEG_HMP4030/st.cmd b/HAMEG_HMP4030/iocBoot/iocHAMEG_HMP4030/st.cmd index 7a86a86..558b6e1 100644 --- a/HAMEG_HMP4030/iocBoot/iocHAMEG_HMP4030/st.cmd +++ b/HAMEG_HMP4030/iocBoot/iocHAMEG_HMP4030/st.cmd @@ -12,19 +12,19 @@ cd "${TOP}" dbLoadDatabase "dbd/HAMEG_HMP4030.dbd" HAMEG_HMP4030_registerRecordDeviceDriver pdbbase -#drvAsynSerialPortConfigure("HAMEG_PORT","/dev/HAMEG_HAMEG_HO720_018442435") -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") +drvAsynSerialPortConfigure("HAMEG_PORT","/dev/HAMEG_HAMEG_HO720_018442435") +asynSetOption ("HAMEG_PORT", 0, "baud", "115200") +asynSetOption ("HAMEG_PORT", 0, "bits", "8") +asynSetOption ("HAMEG_PORT", 0, "parity", "none") +asynSetOption ("HAMEG_PORT", 0, "stop", "1") +asynSetOption ("HAMEG_PORT", 0, "clocal", "N") +asynSetOption ("HAMEG_PORT", 0, "crtscts", "N") ## Load record instances #dbLoadRecords("db/xxx.db","user=scs") -dbLoadRecords("dbd/bptHAMEG_HMP4030.dbd") -dbLoadRecords("db/HAMEG_HMP4030.db", "PORT=HAMEG_PORT,sys=CBM,sub=MVD,vsys=PRESTO_RECIPIENT") +dbLoadRecords("db/HAMEG_HMP4030.db", "PORT=HAMEG_PORT,sys=CBM,sub=MVD,vsys=PRESTO_RECIPIENT") +dbLoadRecords("db/HAMEG_HMP4030_CHANNEL.db", "PORT=HAMEG_PORT,sys=CBM,sub=MVD,vsys=PRESTO_RECIPIENT") cd "${TOP}/iocBoot/${IOC}" iocInit diff --git a/HAMEG_HMP4030/protocols/HAMEG_HMP4030.proto b/HAMEG_HMP4030/protocols/HAMEG_HMP4030.proto index 77be935..1ba13e6 100644 --- a/HAMEG_HMP4030/protocols/HAMEG_HMP4030.proto +++ b/HAMEG_HMP4030/protocols/HAMEG_HMP4030.proto @@ -58,28 +58,17 @@ ReadSetCurrent { in "%f"; } -SetVoltageStepSize { +SetCurrentStepSize { out "INST OUT\$1"; out "CURR:STEP %f"; } -ReadSetVoltageStepSize { +ReadSetCurrentStepSize { out "INST OUT\$1"; out "CURR:STEP?"; in "%f"; } -#---VOLLTAGE+CURRENT------------------------------------------------------------------ -SetVoltage_Current { - out "INST OUT\$1"; - out "APPL %f,%f"; -} - -ReadSetVoltage_Current { - out "INST OUT\$1"; - out "APPL?"; -} - #---CHANNELMODE----------------------------------------------------------------------- ActivateChannel { out "INST OUT\$1"; @@ -101,24 +90,22 @@ ReadChannelMode { } ActivateAllChannel { - out "INST OUT\$1"; out "OUTP:GEN ON"; } DeactivateAllChannel { - out "INST OUT\$1"; out "OUTP:GEN OFF"; } #---FUSE------------------------------------------------------------------------------ ActivateFuse { out "INST OUT\$1"; - out "FUSE ON": + out "FUSE ON"; } DeactivateFuse { out "INST OUT\$1"; - out "FUSE OFF": + out "FUSE OFF"; } ReadFuseMode { @@ -134,7 +121,7 @@ SetVoltageProtection { } ClearVoltageProtection { - out "INST OUT\%1"; + out "INST OUT\$1"; out "VOLT:PROT:CLE"; } @@ -151,17 +138,17 @@ ReadVoltageMAXProtection { } SetVoltageProtectionMeasured { - out "INST OUT\%1"; + out "INST OUT\$1"; out "VOLT:PROT:MODE MEAS"; } SetVoltageProtectionProtected { - out "INST OUT\%1"; + out "INST OUT\$1"; out "VOLT:PROT:MODE PROT"; } ReadVoltageProtectionMode { - out "INST OUT\%1"; + out "INST OUT\$1"; out "VOLT:PROT:MODE?"; in "protected"; } -- 2.43.0