Commit 6ffb4558 authored by Peter Zumbruch's avatar Peter Zumbruch
Browse files

initial commit

parent 8c3d85b5
bin/
db/
dbd/
lib/
#Makefile at top of application tree
TOP = .
include $(TOP)/configure/CONFIG
DIRS := $(DIRS) $(filter-out $(DIRS), configure)
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *App))
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard iocBoot))
define DIR_template
$(1)_DEPEND_DIRS = configure
endef
$(foreach dir, $(filter-out configure,$(DIRS)),$(eval $(call DIR_template,$(dir))))
iocBoot_DEPEND_DIRS += $(filter %App,$(DIRS))
include $(TOP)/configure/RULES_TOP
# CONFIG
# You might want to change this to some shared set of rules, e.g.
# RULES=/path/to/epics/support/modules/rules/x-y
RULES=$(EPICS_BASE)
include $(TOP)/configure/RELEASE
-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH)
-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
# Override for definition in base
INSTALL_LOCATION = $(TOP)
include $(TOP)/configure/CONFIG_SITE
-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH)
-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)
-include $(TOP)/configure/O.$(T_A)/CONFIG_APP_INCLUDE
endif
# 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 anyway 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-68040
#CROSS_COMPILER_TARGET_ARCHS=linux-arm
# To install files into a location other than $(TOP) define
# INSTALL_LOCATION here.
#INSTALL_LOCATION=</path/name/to/install/top>
# Set this when your IOC and the host use different paths
# to access the application. This will be needed to boot
# from a Microsoft FTP server or with some NFS mounts.
# You must rebuild in the iocBoot directory for this to
# take effect.
IOCS_APPL_TOP=/home/scs/EPICS/apps/dreamplug/streamHadcon
# CONFIG_SITE.Common.linux-arm
# To install files into a location other than $(TOP) define
# INSTALL_LOCATION here.
#INSTALL_LOCATION=</path/name/to/install/top>
# Set this when your IOC and the host use different paths
# to access the application. This will be needed to boot
# from a Microsoft FTP server or with some NFS mounts.
# You must rebuild in the iocBoot directory for this to
# take effect.
#IOCS_APPL_TOP=/home/scs/EPICS/apps/dreamplug/streamHadcon
# Build shared libraries?
# must be either YES or NO
# NOTE: os/CONFIG.$(EPICS_HOST_ARCH).$(EPICS_HOST_ARCH) files and
# os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(EPICS_HOST_ARCH) files may override
#
# NOTE WIN32: YES results in a DLL. Valid settings are
# SHARED_LIBRARIES=YES and STATIC_BUILD=NO
# SHARED_LIBRARIES=NO and STATIC_BUILD=YES
#
#SHARED_LIBRARIES=NO
# Build client objects statically ?
# must be either YES or NO
#
#STATIC_BUILD=YES
TOP=..
include $(TOP)/configure/CONFIG
TARGETS = $(CONFIG_TARGETS)
CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
include $(TOP)/configure/RULES
# 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.
#
# 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.
#
# Host- or target-specific settings can be given in files named
# RELEASE.$(EPICS_HOST_ARCH).Common
# RELEASE.Common.$(T_A)
# RELEASE.$(EPICS_HOST_ARCH).$(T_A)
#
# This file should ONLY define paths to other support modules,
# or include statements that pull in similar RELEASE files.
# Build settings that are NOT module paths should appear in a
# CONFIG_SITE file.
TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top
# If using the sequencer, point SNCSEQ at its top directory:
SNCSEQ=/home/epics/EPICS/EPICS-3.14.12.4/modules/soft/seq/seq-2.1.16
# EPICS_BASE usually appears last so other apps can override stuff:
EPICS_BASE=/home/epics/EPICS/EPICS-3.14.12.4/base
ASYN=/home/epics/EPICS/EPICS-3.14.12.4/modules/soft/asyn/asyn4-23
STREAM=/home/epics/EPICS/EPICS-3.14.12.4/modules/soft/StreamDevice/StreamDevice-2-6
# EPICS_BASE usually appears last so other apps can override stuff:
#EPICS_BASE=$(EPICS_HOME)/base
# Set RULES here if you want to take build rules from somewhere
# other than EPICS_BASE:
#RULES=/path/to/epics/support/module/rules/x-y
# 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.
#
# 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.
#
# Host- or target-specific settings can be given in files named
# RELEASE.$(EPICS_HOST_ARCH).Common
# RELEASE.Common.$(T_A)
# RELEASE.$(EPICS_HOST_ARCH).$(T_A)
#
# This file should ONLY define paths to other support modules,
# or include statements that pull in similar RELEASE files.
# Build settings that are NOT module paths should appear in a
# CONFIG_SITE file.
TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top
SNCSEQ=$(EPICS_HOME)/modules/soft/seq/seq-2.1.13
ASYN=$(EPICS_HOME)/modules/soft/asyn/asyn4-18
STREAM=$(EPICS_HOME)/modules/soft/StreamDevice/StreamDevice-2-6
# EPICS_BASE usually appears last so other apps can override stuff:
EPICS_BASE=$(EPICS_HOME)/base
EPICS_HOME=/home/epics/EPICS/EPICS-3.14.12.3
# RULES
include $(CONFIG)/RULES
# Library should be rebuilt because LIBOBJS may have changed.
$(LIBNAME): ../Makefile
#RULES.ioc
include $(CONFIG)/RULES.ioc
#RULES_DIRS
include $(CONFIG)/RULES_DIRS
#RULES_TOP
include $(CONFIG)/RULES_TOP
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>streamHadcon-boy</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Registers</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
//Create a new Macro Input
var macroInput = DataUtil.createMacrosInput(true);
//Put a macro in the new Macro Input
macroInput.put("HADCON", PVUtil.getString(pvArray[0]));
//Set the macro input of the linking container to this new macro input.
widgetController.setPropertyValue("macros", macroInput);
//Reload the OPI file in the linking container again
//by setting the property value with forcing fire option in true.
widgetController.setPropertyValue("opi_file",
widgetController.getPropertyValue("opi_file"), true);
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
var portsOffset=0;
var typeOffset=8;
var opiPathOffset=7;
var debugOffset=12;
var opiPath = PVUtil.getString(pvs[opiPathOffset]);
var debug = PVUtil.getLong(pvs[debugOffset]);
types = [ "PIN" , "PORT" ,"DDR" ];
ports = [ "A","B","C","D","E","F","G" ];
widget.removeAllChildren();
for(var i=0; i<ports.length; i++){
if (0 == PVUtil.getLong(pvs[i + portsOffset]))
{
if (0 != debug) { ConsoleUtil.writeInfo("DEBUG: " + "port " + ports[i] + " skipped");}
continue;
}
else
{
if (0 != debug) { ConsoleUtil.writeInfo( "DEBUG: " + "port " + ports[i] + " chosen");}
}
for(var j=0; j<types.length; j++){
var insert = PVUtil.getLong(pvs[j + typeOffset] );
if (0 != debug) {ConsoleUtil.writeInfo( "DEBUG: " + ports[i] + "/" + j + " --- " + types[j] + ports[i] + " (" + pvs[j+typeOffset] + ")");}
if ( 0 == insert)
{
if (0 != debug) {ConsoleUtil.writeInfo( "DEBUG: " + types[j] + "x " + insert + " skip");}
continue;
}
else
{
if (0 != debug) {ConsoleUtil.writeInfo( "DEBUG: " + types[j] + "x " + insert + " show");}
}
//create linking container
var linkingContainer = WidgetUtil.createWidgetModel("org.csstudio.opibuilder.widgets.linkingContainer");
linkingContainer.setPropertyValue("opi_file", opiPath);
linkingContainer.setPropertyValue("auto_size", true);
linkingContainer.setPropertyValue("zoom_to_fit", false);
linkingContainer.setPropertyValue("group_name", "Controls");
linkingContainer.setPropertyValue("name", ("Controls" + types[j] + ports[i]));
linkingContainer.setPropertyValue("border_style", 0);
//add macros
linkingContainer.addMacro("index", i);
linkingContainer.addMacro("RegName", types[j]+ports[i]);
//add linking container to widget
widget.addChildToBottom(linkingContainer);
}
}
widget.performAutosize();
<?xml version="1.0" encoding="UTF-8"?>
<display typeId="org.csstudio.opibuilder.Display" version="1.0">
<auto_zoom_to_fit_all>false</auto_zoom_to_fit_all>
<macros>
<include_parent_macros>true</include_parent_macros>
</macros>
<wuid>-17cc1c3d:13cba022955:-7035</wuid>
<boy_version>3.1.4.20121219</boy_version>
<scripts />
<show_ruler>true</show_ruler>
<height>800</height>
<name>All Atmel Ports</name>
<snap_to_geometry>true</snap_to_geometry>
<show_grid>true</show_grid>
<background_color>
<color red="240" green="240" blue="240" />
</background_color>
<foreground_color>
<color red="192" green="192" blue="192" />
</foreground_color>
<widget_type>Display</widget_type>
<show_close_button>true</show_close_button>
<width>600</width>
<rules />
<show_edit_range>true</show_edit_range>
<grid_space>6</grid_space>
<auto_scale_widgets>
<auto_scale_widgets>false</auto_scale_widgets>
<min_width>-1</min_width>
<min_height>-1</min_height>
</auto_scale_widgets>
<actions hook="false" hook_all="false" />
<y>-1</y>
<x>-1</x>
<widget typeId="org.csstudio.opibuilder.widgets.groupingContainer" version="1.0">
<macros>
<include_parent_macros>true</include_parent_macros>
</macros>
<visible>true</visible>
<wuid>-17cc1c3d:13cba022955:-61fc</wuid>
<scripts />
<height>21</height>
<name>Grouping Container</name>
<scale_options>
<width_scalable>true</width_scalable>
<height_scalable>true</height_scalable>
<keep_wh_ratio>false</keep_wh_ratio>
</scale_options>
<transparent>true</transparent>
<show_scrollbar>false</show_scrollbar>
<foreground_color>
<color red="192" green="192" blue="192" />
</foreground_color>
<background_color>
<color red="240" green="240" blue="240" />
</background_color>
<enabled>true</enabled>
<widget_type>Grouping Container</widget_type>
<font>
<opifont.name fontName="Segoe UI" height="9" style="0">Default</opifont.name>
</font>
<width>303</width>
<border_style>0</border_style>
<rules />
<lock_children>false</lock_children>
<border_width>1</border_width>
<border_color>
<color red="0" green="128" blue="255" />
</border_color>
<y>0</y>
<actions hook="false" hook_all="false" />
<x>0</x>
<tooltip></tooltip>
<widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="1.0">
<border_alarm_sensitive>false</border_alarm_sensitive>
<visible>true</visible>
<vertical_alignment>1</vertical_alignment>
<multiline_input>false</multiline_input>
<auto_size>false</auto_size>
<scripts />
<height>20</height>
<forecolor_alarm_sensitive>false</forecolor_alarm_sensitive>
<precision_from_pv>true</precision_from_pv>
<background_color>
<color red="255" green="255" blue="255" />
</background_color>
<widget_type>Text Input</widget_type>
<enabled>true</enabled>
<text>dreamp04</text>
<font>
<fontdata fontName="Arial" height="9" style="0" />
</font>
<width>151</width>
<border_style>3</border_style>
<pv_value />
<border_width>1</border_width>
<maximum>1.7976931348623157E308</maximum>
<minimum>-1.7976931348623157E308</minimum>
<show_units>true</show_units>
<wuid>-17cc1c3d:13cba022955:-7033</wuid>
<rotation_angle>0.0</rotation_angle>
<name>Text Input</name>
<scale_options>
<width_scalable>true</width_scalable>
<height_scalable>true</height_scalable>
<keep_wh_ratio>false</keep_wh_ratio>
</scale_options>
<format_type>4</format_type>
<transparent>false</transparent>
<selector_type>0</selector_type>
<pv_name>loc://macroValue_$(DID)(dreamp04)</pv_name>
<foreground_color>
<color red="0" green="0" blue="0" />
</foreground_color>
<backcolor_alarm_sensitive>false</backcolor_alarm_sensitive>
<precision>0</precision>
<confirm_message></confirm_message>
<rules />
<limits_from_pv>false</limits_from_pv>
<border_color>
<color red="0" green="128" blue="255" />
</border_color>
<horizontal_alignment>1</horizontal_alignment>
<actions hook="false" hook_all="false">
<action type="OPEN_DISPLAY">
<path>embededOPI.opi</path>
<macros>
<include_parent_macros>true</include_parent_macros>
<pv>$(pv_value)</pv>
</macros>
<replace>0</replace>
<description></description>
</action>
</actions>
<y>0</y>
<tooltip>$(pv_name)
$(pv_value)</tooltip>
<x>151</x>
</widget>
<widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0">
<visible>true</visible>
<vertical_alignment>1</vertical_alignment>
<wuid>-17cc1c3d:13cba022955:-7032</wuid>
<auto_size>true</auto_size>
<scripts />
<height>21</height>
<name>Label</name>
<scale_options>
<width_scalable>true</width_scalable>
<height_scalable>true</height_scalable>
<keep_wh_ratio>false</keep_wh_ratio>
</scale_options>
<transparent>true</transparent>
<show_scrollbar>false</show_scrollbar>
<background_color>
<color red="255" green="255" blue="255" />
</background_color>
<foreground_color>
<color red="0" green="0" blue="0" />
</foreground_color>
<widget_type>Label</widget_type>
<enabled>true</enabled>
<text>Hostname prefix</text>
<font>
<opifont.name fontName="Segoe UI" height="12" style="1">Header 3</opifont.name>
</font>
<width>127</width>
<border_style>0</border_style>
<rules />
<border_width>1</border_width>
<border_color>
<color red="0" green="128" blue="255" />
</border_color>
<horizontal_alignment>1</horizontal_alignment>
<actions hook="false" hook_all="false" />
<y>0</y>
<wrap_words>true</wrap_words>
<tooltip></tooltip>
<x>0</x>
</widget>
</widget>
<widget typeId="org.csstudio.opibuilder.widgets.linkingContainer" version="1.0">
<macros>
<include_parent_macros>true</include_parent_macros>
</macros>
<visible>true</visible>
<wuid>-17cc1c3d:13cba022955:-7034</wuid>
<auto_size>true</auto_size>
<scripts>
<path pathString="ChangeMacro.js" checkConnect="true" sfe="false" seoe="false">
<pv trig="true">loc://macroValue_$(DID)</pv>
</path>
</scripts>
<zoom_to_fit>false</zoom_to_fit>
<height>707</height>
<name>Linking Container_4</name>
<scale_options>
<width_scalable>true</width_scalable>
<height_scalable>true</height_scalable>
<keep_wh_ratio>false</keep_wh_ratio>
</scale_options>
<opi_file>allPorts.opi</opi_file>
<foreground_color>
<color red="192" green="192" blue="192" />
</foreground_color>
<background_color>
<color red="240" green="240" blue="240" />
</background_color>
<group_name></group_name>
<enabled>true</enabled>
<widget_type>Linking Container</widget_type>
<font>
<opifont.name fontName="Segoe UI" height="9" style="0">Default</opifont.name>
</font>
<width>590</width>
<border_style>3</border_style>
<rules />
<border_width>1</border_width>
<border_color>
<color red="0" green="128" blue="255" />
</border_color>
<y>41</y>
<actions hook="false" hook_all="false" />
<x>0</x>
<tooltip></tooltip>
</widget>
<widget typeId="org.csstudio.opibuilder.widgets.gridLayout" version="1.0">
<wuid>-17cc1c3d:13cba022955:-61f8</wuid>
<number_of_columns>1</number_of_columns>
<name>Grid Layout</name>
<fill_grids>false</fill_grids>
<widget_type>Grid Layout</widget_type>
<grid_gap>20</grid_gap>
</widget>
</display>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<display typeId="org.csstudio.opibuilder.Display" version="1.0">
<auto_zoom_to_fit_all>false</auto_zoom_to_fit_all>
<macros>
<include_parent_macros>true</include_parent_macros>
</macros>
<wuid>-17cc1c3d:13cba022955:-7035</wuid>
<boy_version>3.1.4.20121219</boy_version>
<scripts />
<show_ruler>true</show_ruler>
<height>950</height>
<name>Dynamic Atmel Ports</name>
<snap_to_geometry>true</snap_to_geometry>
<show_grid>true</show_grid>
<background_color>
<color red="240" green="240" blue="240" />
</background_color>
<foreground_color>
<color red="192" green="192" blue="192" />
</foreground_color>
<widget_type>Display</widget_type>
<show_close_button>true</show_close_button>
<width>605</width>
<rules />
<show_edit_range>true</show_edit_range>
<grid_space>6</grid_space>
<auto_scale_widgets>
<auto_scale_widgets>false</auto_scale_widgets>
<min_width>-1</min_width>
<min_height>-1</min_height>
</auto_scale_widgets>
<actions hook="false" hook_all="false" />
<y>-1</y>
<x>-1</x>
<widget typeId="org.csstudio.opibuilder.widgets.groupingContainer" version="1.0">
<macros>
<include_parent_macros>true</include_parent_macros>
</macros>
<visible>true</visible>
<wuid>-17cc1c3d:13cba022955:-61fc</wuid>
<scripts />
<height>21</height>
<name>Prefix</name>
<scale_options>