From 807a1ff0e56043ec6a293eb912cd4b08804e7bf5 Mon Sep 17 00:00:00 2001 From: Bernardo Carvalho Date: Mon, 10 May 2021 20:33:35 +0100 Subject: [PATCH 1/3] changed to epics 7 --- .../ISTTOKrpiApp/Db/ISTTOKpcf8591.db | 8 ++-- .../ISTTOKrpiApp/Db/ISTTOKtda8444.db | 2 +- epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/Makefile | 5 +++ .../Db}/pcf8574.proto | 0 .../Db}/pcf8591.proto | 9 ++--- .../Db}/pfeiffer.proto | 0 .../Db}/sendmail.proto | 0 .../Db}/tda8444.proto | 0 .../ISTTOKrpiApp/src/IsttokSeqExec.stt | 34 ++++++++++------ .../iocs/ISTTOKrpi/ISTTOKrpiApp/src/Makefile | 39 +++++++++++++++++-- .../ISTTOKrpi/iocBoot/iocISTTOKrpi/Makefile | 1 + .../ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths | 15 +++---- .../iocBoot/iocISTTOKrpi/iocISTTOKrpi.req | 8 ++-- .../iocISTTOKrpi/save/iocISTTOKrpi.sav | 23 ++++++----- 14 files changed, 95 insertions(+), 49 deletions(-) rename epics/iocs/ISTTOKrpi/{protocols => ISTTOKrpiApp/Db}/pcf8574.proto (100%) rename epics/iocs/ISTTOKrpi/{protocols => ISTTOKrpiApp/Db}/pcf8591.proto (98%) rename epics/iocs/ISTTOKrpi/{protocols => ISTTOKrpiApp/Db}/pfeiffer.proto (100%) rename epics/iocs/ISTTOKrpi/{protocols => ISTTOKrpiApp/Db}/sendmail.proto (100%) rename epics/iocs/ISTTOKrpi/{protocols => ISTTOKrpiApp/Db}/tda8444.proto (100%) diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8591.db b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8591.db index 00ff57a..0aad50b 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8591.db +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8591.db @@ -10,7 +10,7 @@ # ### macros: ID I2C address of ADC ### # # ### Description: ### # # ### This DB file is using ### # -# ### stream(asynI2C) to read/write ### # +# ### stream(asynI2C) to read/write ### # # ### an PCF8591 ADDA chip ### # ####################################################### @@ -40,7 +40,7 @@ record( ai, "$(P)$(R)TMPump2-Speed" ) { field(DESC, "TMPump2-Speed") field(DTYP, "Raw Soft Channel" ) field(INP, "$(P)$(R)PCF8591:72:BYTE2_CH1 PP NMS") - field(SCAN, "1 second") +# field(SCAN, "1 second") field(ASLO, "16" ) field(AOFF, "0" ) field(EGU, "RPM" ) @@ -66,7 +66,7 @@ record( ai, "$(P)$(R)TMPump2-Current" ) { field(DESC, "TMPump2-Current") field(DTYP, "Raw Soft Channel" ) field(INP, "$(P)$(R)PCF8591:72:BYTE2_CH2 PP NMS") - field(SCAN, "1 second") + # field(SCAN, "1 second") field(ASLO, "0.1" ) field(AOFF, "0" ) field(EGU, "mA" ) @@ -93,7 +93,7 @@ record(ai, "$(P)$(R)Shot-TorPSCurrentImage" ) { field(DESC, "Toroidal Current Image") field(DTYP, "Raw Soft Channel" ) field(INP, "$(P)$(R)PCF8591:72:BYTE2_CH3 PP NMS") - field(SCAN, ".2 second") + # field(SCAN, ".2 second") field(ASLO, "39.215686275" ) field(AOFF, "0.0" ) field(EGU, "A" ) diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKtda8444.db b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKtda8444.db index 1977cf6..00a5a3a 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKtda8444.db +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKtda8444.db @@ -7,7 +7,7 @@ # ### ### # # ### Ref 2.0; 2019-10-14 ### # # ### ### # -# ### macros: ID I2C address of ADC ### # +# ### macros: ID I2C address of DAC ### # # ### Description: ### # # ### This DB file is using ### # # ### stream(asynI2C) to write ### # diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/Makefile b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/Makefile index a72cea7..642dba3 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/Makefile +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/Makefile @@ -11,6 +11,11 @@ DB += ISTTOKpcf8591.db DB += ISTTOKpfeiffer.db DB += ISTTOKtda8444.db DB += sendmail.db +DB += pcf8591.proto +DB += tda8444.proto +DB += sendmail.proto +DB += pcf8574.proto +DB += pfeiffer.proto # If .db template is not named *.template add # _TEMPLATE = diff --git a/epics/iocs/ISTTOKrpi/protocols/pcf8574.proto b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pcf8574.proto similarity index 100% rename from epics/iocs/ISTTOKrpi/protocols/pcf8574.proto rename to epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pcf8574.proto diff --git a/epics/iocs/ISTTOKrpi/protocols/pcf8591.proto b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pcf8591.proto similarity index 98% rename from epics/iocs/ISTTOKrpi/protocols/pcf8591.proto rename to epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pcf8591.proto index d136f30..d66da3e 100644 --- a/epics/iocs/ISTTOKrpi/protocols/pcf8591.proto +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pcf8591.proto @@ -5,7 +5,7 @@ ReadTimeout = 100; WriteTimeout = 100; MaxInput = 2; ExtraInput = Error; - + rReg { out ${1}; in "%.1r"; @@ -17,7 +17,7 @@ rReg { # Bits 4,5 ADC configuration . 00 = four single ended channels # Bits 6 : DAC Output enable bit # Bits 7 : =0 - + rConvAdc0 { out ${1} 64; in "%02r"; @@ -34,15 +34,14 @@ rConvAdc3 { out ${1} 67; in "%02r"; } - + ## @init { rReg; } ## wReg { out ${1} "%.1r"; } - + wDac { out ${1} 64 "%.1r"; } - diff --git a/epics/iocs/ISTTOKrpi/protocols/pfeiffer.proto b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pfeiffer.proto similarity index 100% rename from epics/iocs/ISTTOKrpi/protocols/pfeiffer.proto rename to epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/pfeiffer.proto diff --git a/epics/iocs/ISTTOKrpi/protocols/sendmail.proto b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/sendmail.proto similarity index 100% rename from epics/iocs/ISTTOKrpi/protocols/sendmail.proto rename to epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/sendmail.proto diff --git a/epics/iocs/ISTTOKrpi/protocols/tda8444.proto b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/tda8444.proto similarity index 100% rename from epics/iocs/ISTTOKrpi/protocols/tda8444.proto rename to epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/tda8444.proto diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt index 54c0a5b..74e679d 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt @@ -11,12 +11,14 @@ * Copyright (c) : (IPFN-IST) * * Created 5-Mar-2013 - * Revised 01-07-2019 + * Revised 07-May-2021 * Modified 18-Nov-2019 * **/ +//%% #include "errlog.h" program IsttokSeqExec +%{#include "errlog.h"}% /* CONSTANT DECLARATION*/ /*Relays and INPUT (Valleman Board) have negative Logic!*/ short PCF_RELAY_ON = 0; @@ -166,18 +168,22 @@ monitor IsttokTMPump1_Emergency; short IsttokTMPump1_ManualValve; assign IsttokTMPump1_ManualValve to "ISTTOK:central:TMPump1-ManualValve"; monitor IsttokTMPump1_ManualValve; - + +/* short IsttokTMPump2_Emergency; assign IsttokTMPump2_Emergency to "ISTTOK:central:TMPump2-Emergency"; monitor IsttokTMPump2_Emergency; - +*/ + float IsttokRPump1_Pressure; -assign IsttokRPump1_Pressure to "ISTTOK:central:RPump1-Pressure"; +assign IsttokRPump1_Pressure to "ISTTOK:vacuum:RPump1-Pressure"; monitor IsttokRPump1_Pressure; +/* float IsttokRPump2_Pressure; assign IsttokRPump2_Pressure to "ISTTOK:central:RPump2-Pressure"; monitor IsttokRPump2_Pressure; +*/ float IsttokVVesselTemperature; assign IsttokVVesselTemperature to "ISTTOK:temperature:VVessel-Temperature"; @@ -406,13 +412,14 @@ ss PulseSequence { /* Pulse state change to Emergency*/ } state Emergency - when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokRPump2_Pressure) != pvStatOK || - pvStatus(IsttokTMPump1_Emergency) != pvStatOK || pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { + when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokTMPump1_Emergency) != pvStatOK ) { + //when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokRPump2_Pressure) != pvStatOK || + // pvStatus(IsttokTMPump1_Emergency) != pvStatOK || pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { /* Vacuum emergency: Pulse state change to Stopping */ IsttokOPREQ = STOP; pvPut(IsttokOPREQ); //strcpy(sendMail, "Vacuum Emergency while Process"); - sprintf(sendMail, "R1:%1.1e R2:%.1e T1:%d T2:%d",IsttokRPump1_Pressure,IsttokRPump2_Pressure,IsttokTMPump1_Emergency,IsttokTMPump2_Emergency); + sprintf(sendMail, "R1:%1.1e T1:%d",IsttokRPump1_Pressure,IsttokTMPump1_Emergency); pvPut(sendMail); } state Stopping @@ -453,8 +460,9 @@ ss PulseSequence { when (IsttokOPREQ == STOP) {} state Stopping - when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK || - pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { + when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK) { + //when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK || + // pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { /* Vacuum emergency: Pulse state change to Stopping */ IsttokOPREQ = STOP; pvPut(IsttokOPREQ); @@ -497,8 +505,9 @@ ss PulseSequence { /* Pulse state change to Stopping */ } state Stopping - when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK || - pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { + when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK) { + //when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK || + // pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { /* Vacuum emergency: Pulse state change to Stopping */ IsttokOPREQ = STOP; pvPut(IsttokOPREQ); @@ -677,7 +686,8 @@ ss StartingSequence { STARTINGSTATE = STRST_NonStarting; pvPut(STARTINGSTATE); } state NonStarting - when ( (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokRPump2_Pressure) == pvStatOK)) { + //when ( (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokRPump2_Pressure) == pvStatOK)) { + when ( pvStatus(IsttokRPump1_Pressure) == pvStatOK) { strcpy(msg, "TMP1 MotorOn ON" ); pvPut(msg); diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/Makefile b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/Makefile index 82c5d9c..f4d05bc 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/Makefile +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/Makefile @@ -4,18 +4,38 @@ include $(TOP)/configure/CONFIG #---------------------------------------- # ADD MACRO DEFINITIONS BELOW HERE +# Use typed rset structure (see 3.16.1 release notes) +USR_CPPFLAGS += -DUSE_TYPED_RSET + +# xxxRecord.h will be created from xxxRecord.dbd +#DBDINC += xxxRecord + +# Install xxxSupport.dbd into /dbd +#DBD += xxxSupport.dbd + # Build an IOC support library LIBRARY_IOC += ISTTOKrpiSupport -# Compile and add the code to the support library +# Compile and add code to the support library +#ISTTOKrpiSupport_SRCS += xxxRecord.c +#ISTTOKrpiSupport_SRCS += devXxxSoft.c # Link locally-provided code into the support library, -# rather than directly into the IOC application. -# This is required for Windows DLL builds. +# rather than directly into the IOC application, that +# causes problems on Windows DLL builds +#ISTTOKrpiSupport_SRCS += dbSubExample.c +#ISTTOKrpiSupport_SRCS += devISTTOKrpiVersion.c +#ISTTOKrpiSupport_SRCS += ISTTOKrpiHello.c ISTTOKrpiSupport_SRCS += initTrace.c ISTTOKrpiSupport_LIBS += $(EPICS_BASE_IOC_LIBS) +# Auto-generate a header file containing a version string. +# Version comes from the VCS if available, else date+time. +#GENVERSION = ISTTOKrpiVersion.h +# Macro name +#GENVERSIONMACRO = ISTTOKrpiVERSION + # Build the IOC application PROD_IOC = ISTTOKrpi @@ -27,6 +47,7 @@ ISTTOKrpi_DBD += base.dbd ISTTOKrpi_DBD += initTrace.dbd # Include dbd files from all support applications: ISTTOKrpi_DBD += asyn.dbd +#ISTTOKrpi_DBD += calc.dbd ISTTOKrpi_DBD += stream.dbd ISTTOKrpi_DBD += drvAsynI2C.dbd ISTTOKrpi_DBD += drvAsynSerialPort.dbd @@ -35,6 +56,7 @@ ISTTOKrpi_DBD += asSupport.dbd # Add all the support libraries needed by this IOC ISTTOKrpi_LIBS += asyn +#ISTTOKrpi_LIBS += calc ISTTOKrpi_LIBS += stream ISTTOKrpi_LIBS += drvAsynI2C ISTTOKrpi_LIBS += autosave @@ -52,14 +74,21 @@ ISTTOKrpi_LIBS += ISTTOKrpiSupport # To build SNL programs, SNCSEQ must be defined # in the /configure/RELEASE file ifneq ($(SNCSEQ),) - # Build sncExample into ISTTOKrpiSupport , Safe Mode : +s + # Build sncExample into ISTTOKrpiSupport , Safe Mode : +s IsttokSeqExec_SNCFLAGS += +r +s ISTTOKrpi_DBD += IsttokSeqExec.dbd # A .stt sequence program is *not* pre-processed: ISTTOKrpiSupport_SRCS += IsttokSeqExec.stt ISTTOKrpiSupport_LIBS += seq pv ISTTOKrpi_LIBS += seq pv +endif +# Link QSRV (pvAccess Server) if available +ifdef EPICS_QSRV_MAJOR_VERSION + ISTTOKrpi_LIBS += qsrv + ISTTOKrpi_LIBS += $(EPICS_BASE_PVA_CORE_LIBS) + ISTTOKrpi_DBD += PVAServerRegister.dbd + ISTTOKrpi_DBD += qsrv.dbd endif # Finally link IOC to the EPICS Base libraries @@ -69,3 +98,5 @@ include $(TOP)/configure/RULES #---------------------------------------- # ADD EXTRA GNUMAKE RULES BELOW HERE +# Explicit dependency needed for generated header file +devISTTOKrpiVersion$(DEP): $(COMMON_DIR)/$(GENVERSION) diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/Makefile b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/Makefile index e064d73..e1b9aa4 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/Makefile +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/Makefile @@ -1,4 +1,5 @@ TOP = ../.. include $(TOP)/configure/CONFIG +ARCH = $(EPICS_HOST_ARCH) TARGETS = envPaths include $(TOP)/configure/RULES.ioc diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths index 666b481..13171b5 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths @@ -1,9 +1,10 @@ epicsEnvSet("IOC","iocISTTOKrpi") epicsEnvSet("TOP","/home/pi/ISTTOK/epics/iocs/ISTTOKrpi") -epicsEnvSet("SUPPORT","/usr/local/epics/base/../synApps_5_8/support") -epicsEnvSet("SNCSEQ","/usr/local/epics/base/../synApps_5_8/support/seq-2-2-1") -epicsEnvSet("ASYN","/usr/local/epics/base/../synApps_5_8/support/asyn-4-26") -epicsEnvSet("STREAM","/usr/local/epics/base/../synApps_5_8/support/stream-2-6a") -epicsEnvSet("AUTOSAVE","/usr/local/epics/base/../synApps_5_8/support/autosave-5-6-1") -epicsEnvSet("DRVASYNI2C","/usr/local/epics/base/../modules/drvAsynI2C") -epicsEnvSet("EPICS_BASE","/usr/local/epics/base") +epicsEnvSet("EPICS_BASE","/home/pi/Apps/epics7/epics-base") +epicsEnvSet("HOME","/home/pi") +epicsEnvSet("SUPPORT","/home/pi/Apps/epics7/support") +epicsEnvSet("ASYN","/home/pi/Apps/epics7/support/asyn") +epicsEnvSet("STREAM","/home/pi/Apps/epics7/support/StreamDevice") +epicsEnvSet("AUTOSAVE","/home/pi/Apps/epics7/support/autosave") +epicsEnvSet("DRVASYNI2C","/home/pi/Apps/epics7/support/drvAsynI2C") +epicsEnvSet("SNCSEQ","/home/pi/Apps/epics7/support/seq-2-2") diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/iocISTTOKrpi.req b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/iocISTTOKrpi.req index 9436041..e382569 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/iocISTTOKrpi.req +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/iocISTTOKrpi.req @@ -11,8 +11,8 @@ ISTTOK:central:TMPump1-ManualValve.VAL ISTTOK:central:Shot-TorPSCurrent #ALARM Limits -ISTTOK:central:RPump1-Pressure.HIGH -ISTTOK:central:RPump1-Pressure.HIHI -ISTTOK:central:RPump2-Pressure.HIGH -ISTTOK:central:RPump2-Pressure.HIHI +ISTTOK:vacuum:RPump1-Pressure.HIGH +ISTTOK:vacuum:RPump1-Pressure.HIHI +#ISTTOK:central:RPump2-Pressure.HIGH +#ISTTOK:central:RPump2-Pressure.HIHI diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav index 61ac337..3d56bd1 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav @@ -1,15 +1,14 @@ -# autosave R5.3 Automatically generated - DO NOT MODIFY - 200127-094325 -ISTTOK:central:PULSE-NUMBER.VAL 48422 -ISTTOK:central:LogMessage.VAL Emplastro esteve aqui -ISTTOK:central:LASTOPSTATE.VAL 5 -ISTTOK:central:OPREQ 1 +# autosave R5.3 Automatically generated - DO NOT MODIFY - 210510-201940 +! 2 channel(s) not connected - or not all gets were successful +ISTTOK:central:PULSE-NUMBER.VAL 0 +ISTTOK:central:LogMessage.VAL +ISTTOK:central:LASTOPSTATE.VAL 0 +ISTTOK:central:OPREQ 0 ISTTOK:central:PROCESS-MODE.VAL 0 -ISTTOK:central:CLEANINGMANMODE.VAL 1 +ISTTOK:central:CLEANINGMANMODE.VAL 0 ISTTOK:central:Emergency-UserButton.VAL 0 -ISTTOK:central:TMPump1-ManualValve.VAL 1 -ISTTOK:central:Shot-TorPSCurrent 34 -ISTTOK:central:RPump1-Pressure.HIGH 0 -ISTTOK:central:RPump1-Pressure.HIHI 0 -ISTTOK:central:RPump2-Pressure.HIGH 0 -ISTTOK:central:RPump2-Pressure.HIHI 0 +ISTTOK:central:TMPump1-ManualValve.VAL 0 +ISTTOK:central:Shot-TorPSCurrent 1 +#ISTTOK:vacuum:RPump1-Pressure.HIGH Search Issued +#ISTTOK:vacuum:RPump1-Pressure.HIHI Search Issued From 641da8264229e15e037449ba9d8850c39f71a1f1 Mon Sep 17 00:00:00 2001 From: Bernardo Carvalho Date: Tue, 11 May 2021 11:20:40 +0100 Subject: [PATCH 2/3] chanegd to epics 7 --- .../ISTTOKrpiApp/src/ISTTOKrpiMain.cpp | 2 +- .../ISTTOKrpiApp/src/IsttokSeqExec.stt | 46 +++++++++---------- epics/iocs/ISTTOKrpi/configure/CONFIG_SITE | 3 +- epics/iocs/ISTTOKrpi/configure/RELEASE | 33 ++++++------- .../iocISTTOKrpi/save/iocISTTOKrpi.sav | 2 +- .../ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd | 21 +++++---- epics/iocs/RELEASE.local | 8 +++- 7 files changed, 57 insertions(+), 58 deletions(-) diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/ISTTOKrpiMain.cpp b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/ISTTOKrpiMain.cpp index 86751ff..9818be6 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/ISTTOKrpiMain.cpp +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/ISTTOKrpiMain.cpp @@ -13,7 +13,7 @@ int main(int argc,char *argv[]) { - if(argc>=2) { + if(argc>=2) { iocsh(argv[1]); epicsThreadSleep(.2); } diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt index 74e679d..228ec10 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt @@ -114,7 +114,7 @@ monitor STARTINGSTATE; short CLEANINGSTATE; assign CLEANINGSTATE to "ISTTOK:central:CLEANINGSTATE"; monitor CLEANINGSTATE; - + short CLEANINGMANMODE; assign CLEANINGMANMODE to "ISTTOK:central:CLEANINGMANMODE"; monitor CLEANINGMANMODE; @@ -128,48 +128,48 @@ monitor STOPPINGSTATE; short IsttokRPump1_Motor; assign IsttokRPump1_Motor to "ISTTOK:central:RPump1-Motor"; - + short IsttokRPump1_Valve; assign IsttokRPump1_Valve to "ISTTOK:central:RPump1-Valve"; - + short IsttokRPump2_Motor; assign IsttokRPump2_Motor to "ISTTOK:central:RPump2-Motor"; - + short IsttokRPump2_Valve; assign IsttokRPump2_Valve to "ISTTOK:central:RPump2-Valve"; - + short IsttokTMPump1_ControllerOff; assign IsttokTMPump1_ControllerOff to "ISTTOK:central:TMPump1-ControllerOff"; - + short IsttokTMPump1_ControllerOn; assign IsttokTMPump1_ControllerOn to "ISTTOK:central:TMPump1-ControllerOn"; - + short IsttokTMPump1_MotorOff; assign IsttokTMPump1_MotorOff to "ISTTOK:central:TMPump1-MotorOff"; - + short IsttokTMPump1_MotorOn; assign IsttokTMPump1_MotorOn to "ISTTOK:central:TMPump1-MotorOn"; - + short IsttokTMPump2_Motor; assign IsttokTMPump2_Motor to "ISTTOK:central:TMPump2-Motor"; - + short TMPump1NormalOperation; assign TMPump1NormalOperation to "ISTTOK:central:TMPump1-NormalOperation"; monitor TMPump1NormalOperation; - + short IsttokTMPump1_Power; assign IsttokTMPump1_Power to "ISTTOK:central:TMPump1-Power"; monitor IsttokTMPump1_Power; - + short IsttokTMPump1_Emergency; assign IsttokTMPump1_Emergency to "ISTTOK:central:TMPump1-Emergency"; monitor IsttokTMPump1_Emergency; - + short IsttokTMPump1_ManualValve; assign IsttokTMPump1_ManualValve to "ISTTOK:central:TMPump1-ManualValve"; monitor IsttokTMPump1_ManualValve; -/* +/* short IsttokTMPump2_Emergency; assign IsttokTMPump2_Emergency to "ISTTOK:central:TMPump2-Emergency"; monitor IsttokTMPump2_Emergency; @@ -178,8 +178,8 @@ monitor IsttokTMPump2_Emergency; float IsttokRPump1_Pressure; assign IsttokRPump1_Pressure to "ISTTOK:vacuum:RPump1-Pressure"; monitor IsttokRPump1_Pressure; - -/* + +/* float IsttokRPump2_Pressure; assign IsttokRPump2_Pressure to "ISTTOK:central:RPump2-Pressure"; monitor IsttokRPump2_Pressure; @@ -191,25 +191,25 @@ monitor IsttokVVesselTemperature; short IsttokShotBuzzer; assign IsttokShotBuzzer to "ISTTOK:central:Buzzer"; - + short IsttokShotLab_WarningLight; assign IsttokShotLab_WarningLight to "ISTTOK:central:Lab-WarningLight"; - + short IsttokShotGasIS_Valves; assign IsttokShotGasIS_Valves to "ISTTOK:central:GasIS-Valves"; - + short IsttokShotVVessel_Filament; assign IsttokShotVVessel_Filament to "ISTTOK:central:VVessel-Filament"; - + short IsttokShotCapBank_Charge; assign IsttokShotCapBank_Charge to "ISTTOK:central:CapBank-Charge"; - + short IsttokShotCapBank_Discharge; assign IsttokShotCapBank_Discharge to "ISTTOK:central:CapBank-Discharge"; - + short IsttokShotClean_TorContactor; assign IsttokShotClean_TorContactor to "ISTTOK:central:Clean-TorContactor"; - + short IsttokShotClean_TorPneuBreaker; assign IsttokShotClean_TorPneuBreaker to "ISTTOK:central:Clean-TorPneuBreaker"; diff --git a/epics/iocs/ISTTOKrpi/configure/CONFIG_SITE b/epics/iocs/ISTTOKrpi/configure/CONFIG_SITE index 14d5d5b..212485e 100644 --- a/epics/iocs/ISTTOKrpi/configure/CONFIG_SITE +++ b/epics/iocs/ISTTOKrpi/configure/CONFIG_SITE @@ -23,8 +23,7 @@ CHECK_RELEASE = YES # To install files into a location other than $(TOP) define # INSTALL_LOCATION here. -INSTALL_LOCATION=/opt/epics/iocs/ISTTOKrpi -# +#INSTALL_LOCATION= # Set this when the IOC and build host use different paths # to the install location. This may be needed to boot from diff --git a/epics/iocs/ISTTOKrpi/configure/RELEASE b/epics/iocs/ISTTOKrpi/configure/RELEASE index af7a6c3..3576943 100644 --- a/epics/iocs/ISTTOKrpi/configure/RELEASE +++ b/epics/iocs/ISTTOKrpi/configure/RELEASE @@ -1,13 +1,12 @@ # RELEASE - Location of external support modules # -# IF YOU MAKE ANY CHANGES to this file you must subsequently -# do a "gnumake rebuild" in this application's top level -# directory. +# IF YOU CHANGE ANY PATHS in this file or make API changes to +# any modules it refers to, you should do a "make rebuild" in +# this application's top level directory. # -# The build process does not check dependencies against files -# that are outside this application, thus you should do a -# "gnumake rebuild" in the top level directory after EPICS_BASE -# or any other external module pointed to below is rebuilt. +# The EPICS build process does not check dependencies against +# any files from outside the application, so it is safest to +# rebuild it completely if any modules it depends on change. # # Host- or target-specific settings can be given in files named # RELEASE.$(EPICS_HOST_ARCH).Common @@ -15,7 +14,7 @@ # RELEASE.$(EPICS_HOST_ARCH).$(T_A) # # This file is parsed by both GNUmake and an EPICS Perl script, -# so it can ONLY contain definititions of paths to other support +# so it may ONLY contain definititions of paths to other support # modules, variable definitions that are used in module paths, # and include statements that pull in other RELEASE files. # Variables may be used before their values have been set. @@ -23,25 +22,21 @@ # the CONFIG_SITE file. # Variables and paths to dependent modules: -SUPPORT=$(EPICS_BASE)/../synApps_5_8/support +#MODULES = /path/to/modules +#MYMODULE = $(MODULES)/my-module # If using the sequencer, point SNCSEQ at its top directory: -SNCSEQ = $(SUPPORT)/seq-2-2-1 -ASYN = $(SUPPORT)/asyn-4-26 -STREAM = $(SUPPORT)/stream-2-6a -AUTOSAVE = $(SUPPORT)/autosave-5-6-1 -DRVASYNI2C = $(EPICS_BASE)/../modules/drvAsynI2C +#SNCSEQ = $(MODULES)/seq-ver -# # EPICS_BASE should appear last so earlier modules can override stuff: -EPICS_BASE = /usr/local/epics/base +EPICS_BASE = /home/pi/Apps/epics7/epics-base # Set RULES here if you want to use build rules from somewhere # other than EPICS_BASE: #RULES = $(MODULES)/build-rules -# These allow developers to override the RELEASE variable settings -# without having to modify the configure/RELEASE file itself. +# These lines allow developers to override these RELEASE settings +# without having to modify this file directly. -include $(TOP)/../RELEASE.local +-include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local -include $(TOP)/configure/RELEASE.local - diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav index 3d56bd1..3fce681 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/save/iocISTTOKrpi.sav @@ -1,4 +1,4 @@ -# autosave R5.3 Automatically generated - DO NOT MODIFY - 210510-201940 +# autosave R5.3 Automatically generated - DO NOT MODIFY - 210511-111857 ! 2 channel(s) not connected - or not all gets were successful ISTTOK:central:PULSE-NUMBER.VAL 0 ISTTOK:central:LogMessage.VAL diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd index 280ab44..3b50392 100755 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd @@ -4,9 +4,9 @@ ## everywhere it appears in this file < envPaths -epicsEnvSet( "STREAM_PROTOCOL_PATH", "$(TOP)/protocols" ) +epicsEnvSet( "STREAM_PROTOCOL_PATH", "$(TOP)/db" ) epicsEnvSet( "SAVE_DIR", "$(TOP)/iocBoot/$(IOC)" ) -epicsEnvSet( "EPICS_CA_ADDR_LIST", "localhost 192.168.1.152") +epicsEnvSet( "EPICS_CA_ADDR_LIST", "localhost 192.168.1.120 192.168.1.152") cd "${TOP}" @@ -25,17 +25,18 @@ dbLoadRecords("db/ISTTOKtda8444.db","P=ISTTOK:,R=central:") dbLoadRecords("db/ISTTOKmachineControl.db","P=ISTTOK:,R=central:") ## Load Serial drivers -drvAsynSerialPortConfigure("RS0","/dev/ttyUSB0") +#drvAsynSerialPortConfigure("RS0","/dev/ttyUSB0") #drvAsynSerialPortConfigure("RS0","/dev/ttyAMA0") -asynSetOption("RS0", 0, "baud", "9600") -asynSetOption("RS0", 0, "bits", "8") -asynSetOption("RS0", 0, "parity", "none") -asynSetOption("RS0", 0, "stop", "1") -asynSetOption("RS0", 0, "clocal", "Y") -asynSetOption("RS0", 0, "crtscts", "N") +#asynSetOption("RS0", 0, "baud", "9600") +#asynSetOption("RS0", 0, "bits", "8") +#asynSetOption("RS0", 0, "parity", "none") +#asynSetOption("RS0", 0, "stop", "1") +#asynSetOption("RS0", 0, "clocal", "Y") +#asynSetOption("RS0", 0, "crtscts", "N") -dbLoadRecords("db/ISTTOKpfeiffer.db","P=ISTTOK:,R=central:,bus=RS0") +# Pfeiffer sensor are connectoed to other RPI /(192.168.1.120) +#dbLoadRecords("db/ISTTOKpfeiffer.db","P=ISTTOK:,R=central:,bus=RS0") # connect to the MAIL server mail.ipfn.tecnico.ulisboa.pt # ,priority,noAutoConnect,noProcessEos diff --git a/epics/iocs/RELEASE.local b/epics/iocs/RELEASE.local index b8d208f..d1d65cb 100644 --- a/epics/iocs/RELEASE.local +++ b/epics/iocs/RELEASE.local @@ -5,12 +5,16 @@ SUPPORT=$(HOME)/Apps/epics7/support # ASYN=$(SUPPORT)/asyn STREAM=$(SUPPORT)/StreamDevice +#CALC=$(SUPPORT)/calc +AUTOSAVE = $(SUPPORT)/autosave +DRVASYNI2C =$(SUPPORT)/drvAsynI2C +SNCSEQ=$(SUPPORT)/seq-2-2 + # IPAC release V2-7 or later is required. -IPAC= +#IPAC= #$(SUPPORT)/ipac-2-15 # # # SEQ is required for testIPServer -SNCSEQ= #$(SUPPORT)/seq-2-2-5 # CALC= From 2c0f99e4bee1a8dfb46a04e7ee6c1b64f640fe4f Mon Sep 17 00:00:00 2001 From: Bernardo Carvalho Date: Tue, 11 May 2021 11:24:01 +0100 Subject: [PATCH 3/3] Version epics7 --- .../ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt | 95 ++++++++----------- 1 file changed, 42 insertions(+), 53 deletions(-) diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt index 8514491..73a0a5a 100644 --- a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt +++ b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/pvList.txt @@ -1,27 +1,3 @@ -ISTTOK:central:CurrentTime -ISTTOK:central:OPCALCSTATE -ISTTOK:central:STARTCALCSTATE -ISTTOK:central:STOPPINGCALCSTATE -ISTTOK:central:CLEANCALCSTATE -ISTTOK:central:WSHOTCALCSTATE -ISTTOK:central:COUNTDOWN -ISTTOK:central:COUNTER -ISTTOK:central:PCF8591:72:BYTE2_CH1 -ISTTOK:central:PCF8591:72:BYTE2_CH2 -ISTTOK:central:PCF8591:72:BYTE2_CH3 -ISTTOK:central:Emergency -ISTTOK:central:VVessel-Pressure -ISTTOK:central:RPump1-Pressure -ISTTOK:central:TMPump1-PressureAdmission -ISTTOK:central:RPump2-Pressure -ISTTOK:central:TMPump2-Speed -ISTTOK:central:TMPump2-Current -ISTTOK:central:Shot-TorPSCurrentImage -ISTTOK:central:PCF8574:56:REGISTER -ISTTOK:central:PCF8574:57:REGISTER -ISTTOK:central:PCF8574:60:REGISTER -ISTTOK:central:PCF8574:61:REGISTER -ISTTOK:central:PCF8591:72:CTRLREGISTER ISTTOK:central:PULSE-NUMBER ISTTOK:central:PCF8591:72:DAC ISTTOK:central:TDA8444:32:DAC_CH0 @@ -40,22 +16,17 @@ ISTTOK:SR_4_State ISTTOK:SR_5_State ISTTOK:SR_6_State ISTTOK:SR_7_State -ISTTOK:central:PCF8591:72:ADC_CH1 -ISTTOK:central:PCF8591:72:ADC_CH2 -ISTTOK:central:PCF8591:72:ADC_CH3 -ISTTOK:central:P001:M -ISTTOK:central:P001:E -ISTTOK:central:P002:M -ISTTOK:central:P002:E -ISTTOK:central:P003:M -ISTTOK:central:P003:E -ISTTOK:central:P004:M -ISTTOK:central:P004:E +ISTTOK:SR_disableMaxSecs ISTTOK:central:OPSTATE ISTTOK:central:STARTINGSTATE ISTTOK:central:CLEANINGSTATE ISTTOK:central:WSHOTINGSTATE ISTTOK:central:STOPPINGSTATE +ISTTOK:central:PCF8574:56:REGISTER:READ +ISTTOK:central:PCF8574:57:REGISTER:READ +ISTTOK:central:PCF8574:60:REGISTER:READ +ISTTOK:central:PCF8574:61:REGISTER:READ +ISTTOK:central:CurrentTime ISTTOK:central:TMPump1-Power ISTTOK:central:TMPump1-Emergency ISTTOK:central:TMPump1-Acceleration @@ -64,12 +35,44 @@ ISTTOK:central:TMPump2-Emergency ISTTOK:central:TMPump2-Acceleration ISTTOK:central:TTSystem-tzero ISTTOK:central:Emergency-PhysButton +ISTTOK:central:PCF8574:56:REGISTER:READ:FNOUT +ISTTOK:central:PCF8574:57:REGISTER:READ:FNOUT ISTTOK:central:TMPump1-ControllerOnInv ISTTOK:central:TMPump1-ControllerOffInv ISTTOK:central:TMPump1-MotorOnInv ISTTOK:central:TMPump1-MotorOffInv ISTTOK:central:BuzzerInv ISTTOK:central:Shot-TorPSTriggerInv +ISTTOK:central:PCF8574:56:REGISTER +ISTTOK:central:PCF8574:57:REGISTER +ISTTOK:central:PCF8574:60:REGISTER +ISTTOK:central:PCF8574:61:REGISTER +ISTTOK:central:PCF8591:72:CTRLREGISTER +ISTTOK:central:OPCALCSTATE +ISTTOK:central:STARTCALCSTATE +ISTTOK:central:STOPPINGCALCSTATE +ISTTOK:central:CLEANCALCSTATE +ISTTOK:central:WSHOTCALCSTATE +ISTTOK:central:COUNTDOWN +ISTTOK:central:COUNTER +ISTTOK:central:PCF8591:72:BYTE2_CH1 +ISTTOK:central:PCF8591:72:BYTE2_CH2 +ISTTOK:central:PCF8591:72:BYTE2_CH3 +ISTTOK:central:Emergency +ISTTOK:central:LASTOPSTATE +ISTTOK:SR_rebootStatus +ISTTOK:SR_status +ISTTOK:SR_0_Status +ISTTOK:SR_1_Status +ISTTOK:SR_2_Status +ISTTOK:SR_3_Status +ISTTOK:SR_4_Status +ISTTOK:SR_5_Status +ISTTOK:SR_6_Status +ISTTOK:SR_7_Status +ISTTOK:central:TMPump2-Speed +ISTTOK:central:TMPump2-Current +ISTTOK:central:Shot-TorPSCurrentImage ISTTOK:central:OPREQ ISTTOK:central:CLEANINGMANMODE ISTTOK:central:FSTriggerStart @@ -102,24 +105,12 @@ ISTTOK:central:TMPump1-ManualValve ISTTOK:SR_heartbeat ISTTOK:SR_i_am_alive ISTTOK:SR_deadIfZero -ISTTOK:central:LASTOPSTATE -ISTTOK:SR_rebootStatus -ISTTOK:SR_status -ISTTOK:SR_0_Status -ISTTOK:SR_1_Status -ISTTOK:SR_2_Status -ISTTOK:SR_3_Status -ISTTOK:SR_4_Status -ISTTOK:SR_5_Status -ISTTOK:SR_6_Status -ISTTOK:SR_7_Status -ISTTOK:central:PCF8574:56:REGISTER:READ -ISTTOK:central:PCF8574:57:REGISTER:READ -ISTTOK:central:PCF8574:60:REGISTER:READ -ISTTOK:central:PCF8574:61:REGISTER:READ +ISTTOK:SR_disable +ISTTOK:central:PCF8591:72:ADC_CH1 +ISTTOK:central:PCF8591:72:ADC_CH2 +ISTTOK:central:PCF8591:72:ADC_CH3 ISTTOK:central:TraceMessage ISTTOK:central:LogMessage -ISTTOK:central:RS485Debug ISTTOK:central:sendmail ISTTOK:SR_recentlyStr ISTTOK:SR_rebootStatusStr @@ -149,5 +140,3 @@ ISTTOK:SR_6_Time ISTTOK:SR_7_Name ISTTOK:SR_7_StatusStr ISTTOK:SR_7_Time -ISTTOK:central:PCF8574:56:REGISTER:READ:FNOUT -ISTTOK:central:PCF8574:57:REGISTER:READ:FNOUT