From 8def85f235265faaad87de02eac261f664da837c Mon Sep 17 00:00:00 2001 From: "Casper Ti. Vector" Date: Fri, 12 Feb 2021 17:24:13 +0800 Subject: [PATCH] Import from QD's example IOC for PandABlocks. --- .gitignore | 2 - iocs/pandaIOC/Makefile | 16 + iocs/pandaIOC/configure/CONFIG | 30 ++ iocs/pandaIOC/configure/CONFIG_SITE | 46 +++ iocs/pandaIOC/configure/Makefile | 8 + iocs/pandaIOC/configure/RELEASE | 15 + iocs/pandaIOC/configure/RULES | 7 + iocs/pandaIOC/configure/RULES.ioc | 2 + iocs/pandaIOC/configure/RULES_DIRS | 2 + iocs/pandaIOC/configure/RULES_TOP | 3 + iocs/pandaIOC/exampleApp/Db/Makefile | 13 + .../Db/example_expanded.substitutions | 319 +++++++++++++++ iocs/pandaIOC/exampleApp/opi/edl/Makefile | 13 + iocs/pandaIOC/exampleApp/opi/edl/PANDA.edl | 362 ++++++++++++++++++ .../pandaIOC/exampleApp/opi/edl/stexample-gui | 27 ++ iocs/pandaIOC/exampleApp/src/Makefile | 33 ++ iocs/pandaIOC/exampleApp/src/exampleMain.cpp | 20 + iocs/pandaIOC/iocBoot/iocexample/Makefile | 14 + iocs/pandaIOC/iocBoot/iocexample/stexample.sh | 16 + .../pandaIOC/iocBoot/iocexample/stexample.src | 38 ++ 20 files changed, 984 insertions(+), 2 deletions(-) create mode 100644 iocs/pandaIOC/Makefile create mode 100644 iocs/pandaIOC/configure/CONFIG create mode 100644 iocs/pandaIOC/configure/CONFIG_SITE create mode 100644 iocs/pandaIOC/configure/Makefile create mode 100644 iocs/pandaIOC/configure/RELEASE create mode 100644 iocs/pandaIOC/configure/RULES create mode 100644 iocs/pandaIOC/configure/RULES.ioc create mode 100644 iocs/pandaIOC/configure/RULES_DIRS create mode 100644 iocs/pandaIOC/configure/RULES_TOP create mode 100644 iocs/pandaIOC/exampleApp/Db/Makefile create mode 100644 iocs/pandaIOC/exampleApp/Db/example_expanded.substitutions create mode 100644 iocs/pandaIOC/exampleApp/opi/edl/Makefile create mode 100644 iocs/pandaIOC/exampleApp/opi/edl/PANDA.edl create mode 100644 iocs/pandaIOC/exampleApp/opi/edl/stexample-gui create mode 100644 iocs/pandaIOC/exampleApp/src/Makefile create mode 100644 iocs/pandaIOC/exampleApp/src/exampleMain.cpp create mode 100644 iocs/pandaIOC/iocBoot/iocexample/Makefile create mode 100644 iocs/pandaIOC/iocBoot/iocexample/stexample.sh create mode 100644 iocs/pandaIOC/iocBoot/iocexample/stexample.src diff --git a/.gitignore b/.gitignore index ea492ba..ece6b38 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,6 @@ O.* .project RemoteSystemsTempFiles/ bin/ -iocs/ -documentation/ data/ db/ dbd/ diff --git a/iocs/pandaIOC/Makefile b/iocs/pandaIOC/Makefile new file mode 100644 index 0000000..61b14cc --- /dev/null +++ b/iocs/pandaIOC/Makefile @@ -0,0 +1,16 @@ +# This file was automatically generated on Fri 07 Jun 2019 12:12:09 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# +TOP = . +include $(TOP)/configure/CONFIG + +DIRS += configure +DIRS += exampleApp/Db +DIRS += exampleApp/src +DIRS += iocBoot/iocexample +DIRS += exampleApp/opi/edl + +include $(TOP)/configure/RULES_TOP + diff --git a/iocs/pandaIOC/configure/CONFIG b/iocs/pandaIOC/configure/CONFIG new file mode 100644 index 0000000..722d9ca --- /dev/null +++ b/iocs/pandaIOC/configure/CONFIG @@ -0,0 +1,30 @@ +# CONFIG - Load build configuration data +# +# Do not make changes to this file! + +# Allow user to override where the build rules come from +RULES = $(EPICS_BASE) + +# RELEASE files point to other application tops +include $(TOP)/configure/RELEASE +-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common +ifdef T_A +-include $(TOP)/configure/RELEASE.Common.$(T_A) +-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A) +endif + +CONFIG = $(RULES)/configure +include $(CONFIG)/CONFIG +-include $(CONFIG)/CONFIG.Dls + +# Override the Base definition: +INSTALL_LOCATION = $(TOP) + +# CONFIG_SITE files contain other build configuration settings +include $(TOP)/configure/CONFIG_SITE +-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common +ifdef T_A + -include $(TOP)/configure/CONFIG_SITE.Common.$(T_A) + -include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) +endif + diff --git a/iocs/pandaIOC/configure/CONFIG_SITE b/iocs/pandaIOC/configure/CONFIG_SITE new file mode 100644 index 0000000..a9ff1a0 --- /dev/null +++ b/iocs/pandaIOC/configure/CONFIG_SITE @@ -0,0 +1,46 @@ +# CONFIG_SITE + +# Make any application-specific changes to the EPICS build +# configuration variables in this file. +# +# Host/target specific settings can be specified in files named +# CONFIG_SITE.$(EPICS_HOST_ARCH).Common +# CONFIG_SITE.Common.$(T_A) +# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) + +# CHECK_RELEASE controls the consistency checking of the support +# applications pointed to by the RELEASE* files. +# Normally CHECK_RELEASE should be set to YES. +# Set CHECK_RELEASE to NO to disable checking completely. +# Set CHECK_RELEASE to WARN to perform consistency checking but +# continue building even if conflicts are found. +CHECK_RELEASE = YES + +# Set this when you only want to compile this application +# for a subset of the cross-compiled target architectures +# that Base is built for. +#CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc32 + +# To install files into a location other than $(TOP) define +# INSTALL_LOCATION here. +#INSTALL_LOCATION= + +# Set this when the IOC and build host use different paths +# to the install location. This may be needed to boot from +# a Microsoft FTP server say, or on some NFS configurations. +#IOCS_APPL_TOP = + +# These allow developers to override the CONFIG_SITE variable +# settings without having to modify the configure/CONFIG_SITE +# file itself. +-include $(TOP)/../CONFIG_SITE.local +-include $(TOP)/configure/CONFIG_SITE.local + +# This file was automatically generated on Fri 07 Jun 2019 12:12:08 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# +CROSS_COMPILER_TARGET_ARCHS = +CHECK_RELEASE = YES + diff --git a/iocs/pandaIOC/configure/Makefile b/iocs/pandaIOC/configure/Makefile new file mode 100644 index 0000000..9254309 --- /dev/null +++ b/iocs/pandaIOC/configure/Makefile @@ -0,0 +1,8 @@ +TOP=.. + +include $(TOP)/configure/CONFIG + +TARGETS = $(CONFIG_TARGETS) +CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) + +include $(TOP)/configure/RULES diff --git a/iocs/pandaIOC/configure/RELEASE b/iocs/pandaIOC/configure/RELEASE new file mode 100644 index 0000000..0cfc7d8 --- /dev/null +++ b/iocs/pandaIOC/configure/RELEASE @@ -0,0 +1,15 @@ +# This file was automatically generated on Fri 07 Jun 2019 12:12:08 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# +# Common prefixes +SUPPORT = /dls_sw/prod/R3.14.12.7/support +# Module definitions +ADCORE = $(SUPPORT)/ADCore/3-4dls2 +ADPANDABLOCKS = $(SUPPORT)/ADPandABlocks/4-4 +ADSUPPORT = $(SUPPORT)/ADSupport/1-4 +ASYN = $(SUPPORT)/asyn/4-34 +BUSY = $(SUPPORT)/busy/1-7dls1 +# EPICS Base appears last +EPICS_BASE = /dls_sw/epics/R3.14.12.7/base diff --git a/iocs/pandaIOC/configure/RULES b/iocs/pandaIOC/configure/RULES new file mode 100644 index 0000000..3425740 --- /dev/null +++ b/iocs/pandaIOC/configure/RULES @@ -0,0 +1,7 @@ +# RULES + +-include $(CONFIG)/RULES.Dls +include $(CONFIG)/RULES + +# Library should be rebuilt because LIBOBJS may have changed. +$(LIBNAME): ../Makefile diff --git a/iocs/pandaIOC/configure/RULES.ioc b/iocs/pandaIOC/configure/RULES.ioc new file mode 100644 index 0000000..901987c --- /dev/null +++ b/iocs/pandaIOC/configure/RULES.ioc @@ -0,0 +1,2 @@ +#RULES.ioc +include $(CONFIG)/RULES.ioc diff --git a/iocs/pandaIOC/configure/RULES_DIRS b/iocs/pandaIOC/configure/RULES_DIRS new file mode 100644 index 0000000..3ba269d --- /dev/null +++ b/iocs/pandaIOC/configure/RULES_DIRS @@ -0,0 +1,2 @@ +#RULES_DIRS +include $(CONFIG)/RULES_DIRS diff --git a/iocs/pandaIOC/configure/RULES_TOP b/iocs/pandaIOC/configure/RULES_TOP new file mode 100644 index 0000000..d09d668 --- /dev/null +++ b/iocs/pandaIOC/configure/RULES_TOP @@ -0,0 +1,3 @@ +#RULES_TOP +include $(CONFIG)/RULES_TOP + diff --git a/iocs/pandaIOC/exampleApp/Db/Makefile b/iocs/pandaIOC/exampleApp/Db/Makefile new file mode 100644 index 0000000..9b3f645 --- /dev/null +++ b/iocs/pandaIOC/exampleApp/Db/Makefile @@ -0,0 +1,13 @@ +# This file was automatically generated on Fri 07 Jun 2019 12:12:09 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# +TOP = ../.. +include $(TOP)/configure/CONFIG + +PATH := $(PATH):/dls_sw/epics/R3.14.12.7/extensions/bin/linux-x86_64 +DB += example_expanded.db + +include $(TOP)/configure/RULES + diff --git a/iocs/pandaIOC/exampleApp/Db/example_expanded.substitutions b/iocs/pandaIOC/exampleApp/Db/example_expanded.substitutions new file mode 100644 index 0000000..80e71a0 --- /dev/null +++ b/iocs/pandaIOC/exampleApp/Db/example_expanded.substitutions @@ -0,0 +1,319 @@ +# This file was automatically generated on Fri 07 Jun 2019 12:12:08 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# + +# Macros: +# PORT Asyn Port name for ADPandABlocks coms +# P Device prefix +# R Device suffix +# TIMEOUT Timeout +# ADDR Asyn Port address +file $(ADPANDABLOCKS)/db/ADPandABlocks.template +{ +pattern { PORT, P, R, TIMEOUT, ADDR } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "1", "0" } +} + +# Macros: +# PORT Asyn Port name for ADPandABlocks coms +# P Device prefix +# R Device suffix +# POSBUS_IND Position Bus index +file $(ADPANDABLOCKS)/db/ADPandABlocksPosBus.template +{ +pattern { PORT, P, R, POSBUS_IND } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "0" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "1" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "2" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "3" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "4" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "5" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "6" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "7" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "8" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "9" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "10" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "11" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "12" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "13" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "14" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "15" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "16" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "17" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "18" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "19" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "20" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "21" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "22" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "23" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "24" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "25" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "26" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "27" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "28" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "29" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "30" } + { "PANDA.DRV", "TS-MO-PANDA-01", ":DRV:", "31" } +} + +# Macros: +# P Device prefix +# R Device suffix +# PORT Asyn port name +# NDARRAY_PORT Input Array Port +# TIMEOUT Timeout +# ADDR Asyn Port address +# NDARRAY_ADDR Input Array Address +# ENABLED Plugin Enabled at startup? +file $(ADCORE)/db/NDAttrPlot.template +{ +pattern { P, R, PORT, NDARRAY_PORT, TIMEOUT, ADDR, NDARRAY_ADDR, ENABLED } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "PANDA.DRV", "1", "0", "0", "1" } +} + +# Macros: +# P Device prefix +# R Device suffix +# PORT Asyn port name +# AXIS Axis name +# DATA_IND Data index +# DATA_ADDR Asyn address for this data array +# N_CACHE Size of the cache +file $(ADCORE)/db/NDAttrPlotData.template +{ +pattern { P, R, PORT, AXIS, DATA_IND, DATA_ADDR, N_CACHE } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "X", "", "0", "50000" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "Y1", "0", "1", "50000" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "Y1", "1", "2", "50000" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "Y1", "2", "3", "50000" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "Y1", "3", "4", "50000" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "Y2", "0", "5", "50000" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "Y2", "1", "6", "50000" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "Y2", "2", "7", "50000" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "Y2", "3", "8", "50000" } +} + +# Macros: +# P Device prefix +# R Device suffix +# PORT Asyn port name +# ATTR_IND Attribute index +file $(ADCORE)/db/NDAttrPlotAttr.template +{ +pattern { P, R, PORT, ATTR_IND } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "0" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "1" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "2" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "3" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "4" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "5" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "6" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "7" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "8" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "9" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "10" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "11" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "12" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "13" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "14" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "15" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "16" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "17" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "18" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "19" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "20" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "21" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "22" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "23" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "24" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "25" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "26" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "27" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "28" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "29" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "30" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "31" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "32" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "33" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "34" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "35" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "36" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "37" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "38" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "39" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "40" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "41" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "42" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "43" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "44" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "45" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "46" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "47" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "48" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "49" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "50" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "51" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "52" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "53" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "54" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "55" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "56" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "57" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "58" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "59" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "60" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "61" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "62" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "63" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "64" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "65" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "66" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "67" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "68" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "69" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "70" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "71" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "72" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "73" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "74" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "75" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "76" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "77" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "78" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "79" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "80" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "81" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "82" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "83" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "84" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "85" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "86" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "87" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "88" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "89" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "90" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "91" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "92" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "93" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "94" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "95" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "96" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "97" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "98" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "99" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "100" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "101" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "102" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "103" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "104" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "105" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "106" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "107" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "108" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "109" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "110" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "111" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "112" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "113" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "114" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "115" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "116" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "117" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "118" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "119" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "120" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "121" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "122" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "123" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "124" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "125" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "126" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "127" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "128" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "129" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "130" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "131" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "132" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "133" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "134" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "135" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "136" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "137" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "138" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "139" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "140" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "141" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "142" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "143" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "144" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "145" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "146" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "147" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "148" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "149" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "150" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "151" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "152" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "153" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "154" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "155" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "156" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "157" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "158" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "159" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "160" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "161" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "162" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "163" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "164" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "165" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "166" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "167" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "168" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "169" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "170" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "171" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "172" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "173" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "174" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "175" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "176" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "177" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "178" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "179" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "180" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "181" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "182" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "183" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "184" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "185" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "186" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "187" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "188" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "189" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "190" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "191" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "192" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "193" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "194" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "195" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "196" } + { "TS-MO-PANDA-01", ":PLOT:", "PANDA.PLOT", "197" } +} + +# Macros: +# P Device Prefix +# R Device Suffix +# PORT Asyn Port name +# ADDR Template argument +# TIMEOUT Template argument +# NDARRAY_PORT Input Array Port +# NDARRAY_ADDR Input Array Address +# ENABLED Plugin Enabled at startup? +file $(ADCORE)/db/NDFileHDF5.template +{ +pattern { P, R, PORT, ADDR, TIMEOUT, NDARRAY_PORT, NDARRAY_ADDR, ENABLED } + { "TS-MO-PANDA-01", ":HDF:", "PANDA.HDF", "0", "1", "PANDA.DRV", "0", "1" } +} diff --git a/iocs/pandaIOC/exampleApp/opi/edl/Makefile b/iocs/pandaIOC/exampleApp/opi/edl/Makefile new file mode 100644 index 0000000..4a8b0ce --- /dev/null +++ b/iocs/pandaIOC/exampleApp/opi/edl/Makefile @@ -0,0 +1,13 @@ +# This file was automatically generated on Fri 07 Jun 2019 12:12:09 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# +TOP = ../../.. +include $(TOP)/configure/CONFIG + +DATA += $(patsubst ../%, %, $(wildcard ../*.edl)) +SCRIPTS += ../stexample-gui + +include $(TOP)/configure/RULES + diff --git a/iocs/pandaIOC/exampleApp/opi/edl/PANDA.edl b/iocs/pandaIOC/exampleApp/opi/edl/PANDA.edl new file mode 100644 index 0000000..6e7c52d --- /dev/null +++ b/iocs/pandaIOC/exampleApp/opi/edl/PANDA.edl @@ -0,0 +1,362 @@ +4 0 1 +beginScreenProperties +h 927 +major 4 +minor 0 +release 1 +w 412 +x 0 +y 0 +bgColor index 3 +botShadowColor index 11 +btnFont "arial-bold-r-14.0" +ctlBgColor1 index 3 +ctlBgColor2 index 14 +ctlFgColor1 index 25 +ctlFgColor2 index 0 +ctlFont "arial-bold-r-14.0" +fgColor index 14 +font "arial-medium-r-14.0" +showGrid +snapToGrid +textColor index 14 +title "Device - PANDA" +topShadowColor index 1 +endScreenProperties + +# (Group) +object activeGroupClass +beginObjectProperties +h 30 +major 4 +minor 0 +release 0 +w 412 +x 0 +y 0 + + +beginGroup + +# (Rectangle) +object activeRectangleClass +beginObjectProperties +h 25 +major 4 +minor 0 +release 0 +w 410 +x 0 +y 2 +fillColor index 0 +lineColor index 1 +endObjectProperties + +# (Rectangle) +object activeRectangleClass +beginObjectProperties +h 25 +major 4 +minor 0 +release 0 +w 410 +x 1 +y 3 +fillColor index 0 +lineColor index 11 +endObjectProperties + +# (Related Display) +object relatedDisplayClass +beginObjectProperties +h 24 +major 4 +minor 2 +release 0 +w 410 +x 1 +y 3 +bgColor index 3 +botShadowColor index 0 +button3Popup +buttonLabel "tooltip" +displayFileName { + 0 "generic-tooltip" +} +fgColor index 14 +font "arial-bold-r-14.0" +invisible +numDsps 1 +numPvs 4 +setPosition { + 0 "button" +} +topShadowColor index 0 +xPosOffset 5 +yPosOffset 5 +endObjectProperties + +# (Static Text) +object activeXTextClass +beginObjectProperties +h 25 +major 4 +minor 1 +release 0 +w 452 +x 1 +y 3 +bgColor index 48 +fgColor index 14 +font "arial-bold-r-16.0" +fontAlign "center" +value { + "PANDA Top" +} +endObjectProperties + +endGroup + + +endObjectProperties + +# (Group) +object activeGroupClass +beginObjectProperties +h 847 +major 4 +minor 0 +release 0 +w 392 +x 10 +y 40 + + +beginGroup + +# (Choice Button) +object activeChoiceButtonClass +beginObjectProperties +h 25 +major 4 +minor 0 +release 0 +w 391 +x 10 +y 40 +bgColor index 3 +botShadowColor index 11 +controlPv "LOC\\$(!W)tab=e:0,DRV,PLOT,HDF" +fgColor index 14 +font "arial-bold-r-12.0" +inconsistentColor index 0 +orientation "horizontal" +selectColor index 4 +topShadowColor index 1 +endObjectProperties + +# (Lines) +object activeLineClass +beginObjectProperties +h 821 +major 4 +minor 0 +release 1 +w 392 +x 10 +y 66 +fillColor index 0 +lineColor index 1 +numPoints 3 +xPoints { + 0 10 + 1 402 + 2 402 +} +yPoints { + 0 887 + 1 887 + 2 66 +} +endObjectProperties + +# (Lines) +object activeLineClass +beginObjectProperties +h 821 +major 4 +minor 0 +release 1 +w 392 +x 10 +y 66 +fillColor index 0 +lineColor index 11 +numPoints 3 +xPoints { + 0 10 + 1 10 + 2 402 +} +yPoints { + 0 887 + 1 66 + 2 66 +} +endObjectProperties + +# (Embedded Window) +object activePipClass +beginObjectProperties +h 820 +major 4 +minor 1 +release 0 +w 390 +x 11 +y 66 +bgColor index 3 +botShadowColor index 0 +displayFileName { + 0 "ADPandABlocksDetector.edl" + 1 "NDAttrPlot.edl" + 2 "NDFileHDF5.edl" +} +displaySource "menu" +fgColor index 14 +filePv "LOC\\$(!W)tab" +noScroll +numDsps 3 +sizeOfs 5 +symbols { + 0 "DEVICE=TS-MO-PANDA-01:DRV:,P=TS-MO-PANDA-01,R=:DRV:,label=DRV" + 1 "P=TS-MO-PANDA-01,R=:PLOT:,label=PLOT" + 2 "P=TS-MO-PANDA-01,R=:HDF:,label=HDF" +} +topShadowColor index 0 +endObjectProperties + +endGroup + + +endObjectProperties + +# (Group) +object activeGroupClass +beginObjectProperties +h 30 +major 4 +minor 0 +release 0 +w 50 +x 0 +y 0 + + +beginGroup + +# (Circle) +object activeCircleClass +beginObjectProperties +h 29 +major 4 +minor 0 +release 0 +w 48 +x 0 +y 0 +fillColor index 0 +lineColor index 1 +lineWidth 2 +endObjectProperties + +# (Circle) +object activeCircleClass +beginObjectProperties +h 29 +major 4 +minor 0 +release 0 +w 48 +x 2 +y 2 +fillColor index 0 +lineColor index 11 +lineWidth 2 +endObjectProperties + +# (Circle) +object activeCircleClass +beginObjectProperties +h 27 +major 4 +minor 0 +release 0 +w 47 +x 2 +y 2 +fill +fillColor index 48 +lineColor index 49 +lineWidth 3 +endObjectProperties + +# (Circle) +object activeCircleClass +beginObjectProperties +h 3 +major 4 +minor 0 +release 0 +w 4 +x 12 +y 6 +fill +fillColor index 0 +lineColor index 1 +lineWidth 2 +endObjectProperties + +# (Static Text) +object activeXTextClass +beginObjectProperties +h 30 +major 4 +minor 1 +release 0 +w 50 +x 0 +y 0 +bgColor index 3 +fgColor index 14 +font "arial-bold-r-14.0" +fontAlign "center" +useDisplayBg +value { + "PANDA" +} +endObjectProperties + +endGroup + + +endObjectProperties + +# (Exit Button) +object activeExitButtonClass +beginObjectProperties +h 20 +major 4 +minor 1 +release 0 +w 90 +x 312 +y 897 +3d +bgColor index 3 +botShadowColor index 11 +fgColor index 46 +font "arial-medium-r-16.0" +label "EXIT" +topShadowColor index 1 +endObjectProperties diff --git a/iocs/pandaIOC/exampleApp/opi/edl/stexample-gui b/iocs/pandaIOC/exampleApp/opi/edl/stexample-gui new file mode 100644 index 0000000..1ccd400 --- /dev/null +++ b/iocs/pandaIOC/exampleApp/opi/edl/stexample-gui @@ -0,0 +1,27 @@ +#!/bin/sh +TOP="$(cd $(dirname "$0")/../..; pwd)" + +# first load the paths. These have been generated from the configure/RELEASE +# tree. If we have a -d arg then load the opi/edl paths first +shopt -s nullglob +unset EDMDATAFILES +if [ "$1" = "-d" ]; then + for d in ${TOP}/*App/opi/edl; do + EDMDATAFILES="${EDMDATAFILES}${d}:" + done + EDMDATAFILES="${EDMDATAFILES}${TOP}/data:" + EDMDATAFILES="${EDMDATAFILES}/dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/ADPandABlocksApp/opi/edl:" + + OPTS="-x -eolc" +else + OPTS="-x -eolc -noedit" +fi +EDMDATAFILES="${EDMDATAFILES}${TOP}/data" +EDMDATAFILES="${EDMDATAFILES}:/dls_sw/prod/R3.14.12.7/support/ADCore/3-4dls2/data" +EDMDATAFILES="${EDMDATAFILES}:/dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/data" + +export EDMDATAFILES + +# Set the path to include any scripts in data dirs +export PATH=${EDMDATAFILES}:${PATH} +edm ${OPTS} PANDA.edl \ No newline at end of file diff --git a/iocs/pandaIOC/exampleApp/src/Makefile b/iocs/pandaIOC/exampleApp/src/Makefile new file mode 100644 index 0000000..46db3c4 --- /dev/null +++ b/iocs/pandaIOC/exampleApp/src/Makefile @@ -0,0 +1,33 @@ +# This file was automatically generated on Fri 07 Jun 2019 12:12:09 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# +TOP = ../.. +include $(TOP)/configure/CONFIG + +PROD_IOC = example +DBD += example.dbd +example_DBD += base.dbd +example_DBD += asyn.dbd +example_DBD += busySupport.dbd +example_DBD += ADSupport.dbd +example_DBD += NDPluginSupport.dbd +example_DBD += NDFileHDF5.dbd +example_DBD += NDFileJPEG.dbd +example_DBD += NDFileTIFF.dbd +example_DBD += NDFileNull.dbd +example_DBD += NDPosPlugin.dbd +example_DBD += ADPandABlocks.dbd +example_DBD += drvAsynIPPort.dbd +example_SRCS += example_registerRecordDeviceDriver.cpp +example_LIBS += ADPandABlocks +example_LIBS += NDPlugin +example_LIBS += ADBase +example_LIBS += busy +example_LIBS += asyn +example_LIBS += $(EPICS_BASE_IOC_LIBS) +example_SRCS += exampleMain.cpp + +include $(TOP)/configure/RULES + diff --git a/iocs/pandaIOC/exampleApp/src/exampleMain.cpp b/iocs/pandaIOC/exampleApp/src/exampleMain.cpp new file mode 100644 index 0000000..304d187 --- /dev/null +++ b/iocs/pandaIOC/exampleApp/src/exampleMain.cpp @@ -0,0 +1,20 @@ +/* This file was automatically generated on Fri 07 Jun 2019 12:12:08 BST from + * source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml + * + * *** Please do not edit this file: edit the source file instead. *** + * */ +#include "epicsExit.h" +#include "epicsThread.h" +#include "iocsh.h" + +int main(int argc, char *argv[]) +{ + if(argc>=2) { + iocsh(argv[1]); + epicsThreadSleep(.2); + } + iocsh(NULL); + epicsExit(0); + return 0; +} + diff --git a/iocs/pandaIOC/iocBoot/iocexample/Makefile b/iocs/pandaIOC/iocBoot/iocexample/Makefile new file mode 100644 index 0000000..750956c --- /dev/null +++ b/iocs/pandaIOC/iocBoot/iocexample/Makefile @@ -0,0 +1,14 @@ +# This file was automatically generated on Fri 07 Jun 2019 12:12:09 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# +TOP = ../.. +include $(TOP)/configure/CONFIG + +SCRIPTS += ../stexample.sh +SCRIPTS += stexample.boot +PATH := $(PATH):/dls_sw/epics/R3.14.12.7/extensions/bin/linux-x86_64 + +include $(TOP)/configure/RULES + diff --git a/iocs/pandaIOC/iocBoot/iocexample/stexample.sh b/iocs/pandaIOC/iocBoot/iocexample/stexample.sh new file mode 100644 index 0000000..b3e7f98 --- /dev/null +++ b/iocs/pandaIOC/iocBoot/iocexample/stexample.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# This file was automatically generated on Fri 07 Jun 2019 12:12:08 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# +cd "$(dirname "$0")" +if [ -n "$1" ]; then + export EPICS_CA_SERVER_PORT="$(($1))" + export EPICS_CA_REPEATER_PORT="$(($1 + 1))" + [ $EPICS_CA_SERVER_PORT -gt 0 ] || { + echo "First argument '$1' should be a integer greater than 0" + exit 1 + } +fi +exec ./example stexample.boot diff --git a/iocs/pandaIOC/iocBoot/iocexample/stexample.src b/iocs/pandaIOC/iocBoot/iocexample/stexample.src new file mode 100644 index 0000000..a734d6f --- /dev/null +++ b/iocs/pandaIOC/iocBoot/iocexample/stexample.src @@ -0,0 +1,38 @@ +# This file was automatically generated on Fri 07 Jun 2019 12:12:08 BST from +# source: /dls_sw/prod/R3.14.12.7/support/ADPandABlocks/4-4/etc/makeIocs/example.xml +# +# *** Please do not edit this file: edit the source file instead. *** +# +cd "$(INSTALL)" + +epicsEnvSet "EPICS_TS_MIN_WEST", '0' + + +# Loading libraries +# ----------------- + +# Device initialisation +# --------------------- + +cd "$(INSTALL)" + +dbLoadDatabase "dbd/example.dbd" +example_registerRecordDeviceDriver(pdbbase) + +drvAsynIPPortConfigure("PANDA.DRV_CTRL", "172.23.252.202:8888", 100, 0, 0) + +drvAsynIPPortConfigure("PANDA.DRV_DATA", "172.23.252.202:8889", 100, 0, 0) + +# Create driver +ADPandABlocksConfig("PANDA.DRV", "172.23.252.202", 100000, 1000, 0, 0) + +NDAttrPlotConfig("PANDA.PLOT", 198, 50000, 9, "PANDA.DRV", 0, 10000, 0) + +# NDFileHDF5Configure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory) +NDFileHDF5Configure("PANDA.HDF", 100, 0, "PANDA.DRV", 0, 0, 0) + +# Final ioc initialisation +# ------------------------ +cd "$(INSTALL)" +dbLoadRecords 'db/example_expanded.db' +iocInit