Skip to content
Snippets Groups Projects
Commit 95d9c05f authored by klang's avatar klang
Browse files

Updated bash startup scripts

parent 1d4e29d0
No related branches found
No related tags found
No related merge requests found
#!/bin/bash -f
DISPLAY_MANAGER=$1
# caller (typically: start_****_xxx) MUST define:
# EPICS_APP - Top level IOC directory
# EPICS_APP_ADL_DIR - Location of adl file directory
# EPICS_APP_UI_DIR - Location of ui file directory
# and must make this definition if the app name isn't the directory name:
# EPICS_APP_NAME - different app name
if [ "" != "${EPICS_APP_NAME}" ]; then
EPICS_APP_NAME=`basename ${EPICS_APP}`
fi
#######################################
# support function to simplify repetitive task,
# used to build up displaty path of supported modules
#
# usage::
#
# addModule ENVIRONMENT_VARIABLE DISPLAY_TYPE [SUBDIRECTORY]
#
# TMP is a temporary display path
# TMP is internal to this script, no need to export.
function addModule
{
# $1 is a symbol defined in <synApps>/configure/RELEASE
# module_path is the path defined for that symbol in the RELEASE file
module='$'$1
module_path=`eval echo $module`
if [ "$2" != "${DISPLAY_MANAGER}" ]; then
return 0
fi
if [ "" != "${module}" ]; then
# module is required
addition=${module_path}
if [ "" != "$3" ]; then
# optional subdirectory path
addition+=/$3
fi
if [ -d "${addition}" ]; then
# proceed ONLY if new addition path exists
# Then, can define paths to all area detectors specific screens
if [ "" == "${TMP}" ]; then
# no existing path defined, start here
TMP=.
fi
TMP+=:${addition}
fi
fi
}
#######################################
# get environment variables for support modules
output=`perl -s $EPICS_APP/release.pl -form=bash $EPICS_APP`
eval $output
# ======== ================ =============== ===========================
# function MODULE_VARIABLE Display Manager subdirectory with .ui files
# ======== ================ =============== ===========================
addModule EPICS_APP_ADL_DIR medm
addModule EPICS_APP_UI_DIR caqtdm
addModule EPICS_APP_UI_DIR caqtdm /autoconvert
addModule ALIVE medm /aliveApp/op/adl
addModule ALIVE caqtdm /aliveApp/op/ui
addModule ALIVE caqtdm /aliveApp/op/ui/autoconvert
addModule AREA_DETECTOR medm /ADCore/ADApp/op/adl
addModule AREA_DETECTOR caqtdm /ADCore/ADApp/op/ui
addModule AREA_DETECTOR caqtdm /ADCore/ADApp/op/ui/autoconvert
addModule ADSIMDETECTOR medm /simDetectorApp/op/adl
addModule ADSIMDETECTOR caqtdm /simDetectorApp/op/ui
addModule ADSIMDETECTOR caqtdm /simDetectorApp/op/ui/autoconvert
addModule ADURL medm /urlApp/op/adl
addModule ADURL caqtdm /urlApp/op/ui
addModule ADURL caqtdm /urlApp/op/ui/autoconvert
addModule ASYN medm /opi/medm
addModule ASYN caqtdm /opi/caqtdm
addModule ASYN caqtdm /opi/caqtdm/autoconvert
addModule AUTOSAVE medm /asApp/op/adl
addModule AUTOSAVE caqtdm /asApp/op/ui
addModule AUTOSAVE caqtdm /asApp/op/ui/autoconvert
addModule BUSY medm /busyApp/op/adl
addModule BUSY caqtdm /busyApp/op/ui
addModule BUSY caqtdm /busyApp/op/ui/autoconvert
addModule CALC medm /calcApp/op/adl
addModule CALC caqtdm /calcApp/op/ui
addModule CALC caqtdm /calcApp/op/ui/autoconvert
addModule CAMAC medm /camacApp/op/adl
addModule CAMAC caqtdm /camacApp/op/ui
addModule CAMAC caqtdm /camacApp/op/ui/autoconvert
addModule CAPUTRECORDER medm /caputRecorderApp/op/adl
addModule CAPUTRECORDER caqtdm /caputRecorderApp/op/ui
addModule CAPUTRECORDER caqtdm /caputRecorderApp/op/ui/autoconvert
addModule DAC128V medm /dac128VApp/op/adl
addModule DAC128V caqtdm /dac128VApp/op/ui
addModule DAC128V caqtdm /dac128VApp/op/ui/autoconvert
addModule DELAYGEN medm /delaygenApp/op/adl
addModule DELAYGEN caqtdm /delaygenApp/op/ui
addModule DELAYGEN caqtdm /delaygenApp/op/ui/autoconvert
addModule DXP medm /dxpApp/op/ui
addModule DXP caqtdm /dxpApp/op/ui
addModule DXP caqtdm /dxpApp/op/ui/autoconvert
addModule DXPSITORO medm /dxpSITOROApp/op/adl
addModule DXPSITORO caqtdm /dxpSITOROApp/op/ui
addModule DXPSITORO caqtdm /dxpSITOROApp/op/ui/autoconvert
addModule DEVIOCSTATS medm /op/adl
addModule DEVIOCSTATS caqtdm /op/ui
addModule DEVIOCSTATS caqtdm /op/ui/autoconvert
addModule FLY medm /flyApp/op/adl
addModule FLY caqtdm /flyApp/op/ui
addModule FLY caqtdm /flyApp/op/ui/autoconvert
addModule IP medm /ipApp/op/adl
addModule IP caqtdm /ipApp/op/ui
addModule IP caqtdm /ipApp/op/ui/autoconvert
addModule IP330 medm /ip330App/op/adl
addModule IP330 caqtdm /ip330App/op/ui
addModule IP330 caqtdm /ip330App/op/ui/autoconvert
addModule IPUNIDIG medm /ipUnidigApp/op/adl
addModule IPUNIDIG caqtdm /ipUnidigApp/op/ui
addModule IPUNIDIG caqtdm /ipUnidigApp/op/ui/autoconvert
addModule LOVE medm /loveApp/op/adl
addModule LOVE caqtdm /loveApp/op/ui
addModule LOVE caqtdm /loveApp/op/ui/autoconvert
addModule LUA medm /luaApp/op/adl
addModule LUA caqtdm /luaApp/op/ui
addModule LUA caqtdm /luaApp/op/ui/autoconvert
addModule MCA medm /mcaApp/op/adl
addModule MCA caqtdm /mcaApp/op/ui
addModule MCA caqtdm /mcaApp/op/ui/autoconvert
addModule MODBUS medm /modbusApp/op/adl
addModule MODBUS caqtdm /modbusApp/op/ui
addModule MODBUS caqtdm /modbusApp/op/ui/autoconvert
addModule MOTOR medm /motorApp/op/adl
addModule MOTOR caqtdm /motorApp/op/ui
addModule MOTOR caqtdm /motorApp/op/ui/autoconvert
addModule OPTICS medm /opticsApp/op/adl
addModule OPTICS caqtdm /opticsApp/op/ui
addModule OPTICS caqtdm /opticsApp/op/ui/autoconvert
addModule QUADEM medm /quadEMApp/op/adl
addModule QUADEM caqtdm /quadEMApp/op/ui
addModule QUADEM caqtdm /quadEMApp/op/ui/autoconvert
addModule SOFTGLUE medm /softGlueApp/op/adl
addModule SOFTGLUE caqtdm /softGlueApp/op/ui
addModule SOFTGLUE caqtdm /softGlueApp/op/ui/autoconvert
addModule SSCAN medm /sscanApp/op/adl
addModule SSCAN caqtdm /sscanApp/op/ui
addModule SSCAN caqtdm /sscanApp/op/ui/autoconvert
addModule STD medm /stdApp/op/adl
addModule STD caqtdm /stdApp/op/ui
addModule STD caqtdm /stdApp/op/ui/autoconvert
addModule TDS3000 medm /medm
addModule VAC medm /vacApp/op/adl
addModule VAC caqtdm /vacApp/op/ui
addModule VAC caqtdm /vacApp/op/ui/autoconvert
addModule VME medm /vmeApp/op/adl
addModule VME caqtdm /vmeApp/op/ui
addModule VME caqtdm /vmeApp/op/ui/autoconvert
addModule YOKOGAWA_DAU medm /mw100App/op/adl
addModule YOKOGAWA_DAU caqtdm /mw100App/op/ui
addModule YOKOGAWA_DAU caqtdm /mw100App/op/ui/autoconvert
# ======== ================ ===========================
if [ "$DISPLAY_MANAGER" == "medm" ]; then
if [ -z "$EPICS_DISPLAY_PATH" ]; then
export EPICS_DISPLAY_PATH=${TMP}
else
export EPICS_DISPLAY_PATH=${TMP}:${EPICS_DISPLAY_PATH}
fi
fi
if [ "$DISPLAY_MANAGER" == "caqtdm" ]; then
if [ -z "$CAQTDM_DISPLAY_PATH" ]; then
export CAQTDM_DISPLAY_PATH=${TMP}
else
export CAQTDM_DISPLAY_PATH=${TMP}:${CAQTDM_DISPLAY_PATH}
fi
fi
#!/bin/bash
EPICS_APP=/home/oxygen/MOONEY/epics/synApps_5_5/support/xxx
EPICS_APP_ADL_DIR=${EPICS_APP}/xxxApp/op/adl
export EPICS_APP=`dirname $0`
export EPICS_APP_ADL_DIR=${EPICS_APP}/xxxApp/op/adl
export DEFAULT_UI_FILE=${DEFAULT_UI_FILE:-xxx.ui}
output=`perl -s ${EPICS_APP}/release.pl -form=bash ${EPICS_APP}`
eval $output
#######################################
# Prepare MEDM path
# EDP is temporary EPICS_DISPLAY_PATH
#
function append_EDP { # note: in bash, macros are not expanded in aliases
if [ -d $1 ] # this will keep keep out nonexistent directories
then
EDP=${EDP}:$1
fi
}
EDP=.
append_EDP ${EPICS_APP_ADL_DIR}
append_EDP ${ALIVE}/aliveApp/op/adl
append_EDP ${AREA_DETECTOR}/ADApp/op/adl
append_EDP ${AUTOSAVE}/asApp/op/adl
append_EDP ${BUSY}/busyApp/op/adl
append_EDP ${CALC}/calcApp/op/adl
append_EDP ${CAMAC}/camacApp/op/adl
append_EDP ${CAPUTRECORDER}/caputRecorderApp/op/adl
append_EDP ${DAC128V}/dac128VApp/op/adl
append_EDP ${DELAYGEN}/delaygenApp/op/adl
append_EDP ${DEVIOCSTATS}/op/adl
append_EDP ${DXP}/dxpApp/op/adl
append_EDP ${IP}/ipApp/op/adl
append_EDP ${IP330}/ip330App/op/adl
append_EDP ${IPUNIDIG}/ipUnidigApp/op/adl
append_EDP ${LOVE}/loveApp/op/adl
append_EDP ${MCA}/mcaApp/op/adl
append_EDP ${MOTOR}/motorApp/op/adl
append_EDP ${OPTICS}/opticsApp/op/adl
append_EDP ${QUADEM}/quadEMApp/op/adl
append_EDP ${SSCAN}/sscanApp/op/adl
append_EDP ${STD}/stdApp/op/adl
append_EDP ${VME}/vmeApp/op/adl
append_EDP ${ASYN}/opi/medm
append_EDP ${VAC}/vacApp/op/adl
append_EDP ${SOFTGLUE}/softGlueApp/op/adl
if [ -z "$EPICS_DISPLAY_PATH" ]
then
export EPICS_DISPLAY_PATH=${EDP}
else
export EPICS_DISPLAY_PATH=${EDP}:${EPICS_DISPLAY_PATH}
fi
echo ${EPICS_DISPLAY_PATH}
source ./setup_epics_common.sh medm
if [ -z "${MEDM_EXEC_LIST}" ]
then
......@@ -67,5 +21,4 @@ export START_PUTRECORDER=${EPICS_APP}/start_putrecorder
export MACROS_PY=${EPICS_APP_ADL_DIR}/../python/macros.py
export EDITOR=nedit
cd ${EPICS_APP}/xxxApp/op/adl
medm xxx.adl&
medm -x xxx.adl&
......@@ -4,160 +4,26 @@ export EPICS_APP=`dirname $0`
export EPICS_APP_UI_DIR=${EPICS_APP}/xxxApp/op/ui
export DEFAULT_UI_FILE=${DEFAULT_UI_FILE:-xxx.ui}
source ./setup_epics_common.sh caqtdm
#######################################
# support function to simplify repetitive task,
# used to build up displaty path of supported modules
#
# usage::
#
# addModule ENVIRONMENT_VARIABLE [SUBDIRECTORY]
#
# QTDMDP is temporary CAQTDM_DISPLAY_PATH
# QTDMDP is internal to this script, no need to export.
function addModule
{
# $1 is a symbol defined in <synApps>/configure/RELEASE
# module_path is the path defined for that symbol in the RELEASE file
module='$'$1
module_path=`eval echo $module`
if [ "" != "${module}" ]; then
# module is required
addition=${module_path}
if [ "" != "$2" ]; then
# optional subdirectory path
addition+=/$2
fi
if [ -d "${addition}" ]; then
# proceed ONLY if new addition path exists
# Then, can define paths to all area detectors specific screens
if [ "" == "${QTDMDP}" ]; then
# no existing path defined, start here
QTDMDP=.
fi
QTDMDP+=:${addition}
fi
fi
}
#######################################
# get environment variables for support modules
output=`perl -s $EPICS_APP/release.pl -form=bash $EPICS_APP`
eval $output
#######################################
# add support for modules defined by environment variables
# modules are *appended* to the growing list of directories
if [ "" == "${ADSIMDETECTOR}" ]; then
export ADSIMDETECTOR=${AREA_DETECTOR}/ADSimDetector-R2-4
fi
# ======== ================ ===========================
# function MODULE_VARIABLE subdirectory with .ui files
# ======== ================ ===========================
addModule EPICS_APP_UI_DIR
addModule ALIVE ./aliveApp/op/ui
addModule AREA_DETECTOR ./ADCore/ADApp/op/ui
addModule ADCORE ./ADApp/op/ui
addModule ADSIMDETECTOR ./simDetectorApp/op/ui
addModule ADURL ./urlApp/op/ui
addModule ASYN ./opi/caqtdm
addModule AUTOSAVE ./asApp/op/ui
addModule BUSY ./busyApp/op/ui
addModule CALC ./calcApp/op/ui
addModule CAMAC ./camacApp/op/ui
addModule CAPUTRECORDER ./caputRecorderApp/op/ui
addModule DAC128V ./dac128VApp/op/ui
addModule DELAYGEN ./delaygenApp/op/ui
addModule DXP ./dxpApp/op/ui
addModule DEVIOCSTATS ./op/ui
addModule IP ./ipApp/op/ui
addModule IP330 ./ip330App/op/ui
addModule IPUNIDIG ./ipUnidigApp/op/ui
addModule LOVE ./loveApp/op/ui
addModule MCA ./mcaApp/op/ui
addModule MODBUS ./modbusApp/op/ui
addModule MOTOR ./motorApp/op/ui
addModule OPTICS ./opticsApp/op/ui
addModule QUADEM ./quadEMApp/op/ui
addModule SOFTGLUE ./softGlueApp/op/ui
addModule SSCAN ./sscanApp/op/ui
addModule STD ./stdApp/op/ui
addModule VAC ./vacApp/op/ui
addModule VME ./vmeApp/op/ui
addModule AREA_DETECTOR ./ADCore/ADApp/op/ui/autoconvert
addModule ADCORE ./ADApp/op/ui/autoconvert
addModule ADSIMDETECTOR ./simDetectorApp/op/ui/autoconvert
addModule ADURL ./urlApp/op/ui/autoconvert
addModule ASYN ./opi/caqtdm/autoconvert
addModule AUTOSAVE ./asApp/op/ui/autoconvert
addModule BUSY ./busyApp/op/ui/autoconvert
addModule CALC ./calcApp/op/ui/autoconvert
addModule CAMAC ./camacApp/op/ui/autoconvert
addModule CAPUTRECORDER ./caputRecorderApp/op/ui/autoconvert
addModule DAC128V ./dac128VApp/op/ui/autoconvert
addModule DELAYGEN ./delaygenApp/op/ui/autoconvert
addModule DXP ./dxpApp/op/ui/autoconvert
addModule DEVIOCSTATS ./op/ui/autoconvert
addModule IP ./ipApp/op/ui/autoconvert
addModule IP330 ./ip330App/op/ui/autoconvert
addModule IPUNIDIG ./ipUnidigApp/op/ui/autoconvert
addModule LOVE ./loveApp/op/ui/autoconvert
addModule MCA ./mcaApp/op/ui/autoconvert
addModule MODBUS ./modbusApp/op/ui/autoconvert
addModule MOTOR ./motorApp/op/ui/autoconvert
addModule OPTICS ./opticsApp/op/ui/autoconvert
addModule QUADEM ./quadEMApp/op/ui/autoconvert
addModule SOFTGLUE ./softGlueApp/op/ui/autoconvert
addModule SSCAN ./sscanApp/op/ui/autoconvert
addModule STD ./stdApp/op/ui/autoconvert
addModule VAC ./vacApp/op/ui/autoconvert
addModule VME ./vmeApp/op/ui/autoconvert
# ======== ================ ===========================
#######################################
# optional: add support directories not associated with environment variables
# #######################################
# # optional: add support directories not associated with environment variables
if [ -z "/APSshare/caqtdm" ]; then
QTDMDP=${QTDMDP}:/APSshare/uisys/sr/id
CAQTDM_DISPLAY_PATH=$CAQTDM_DISPLAY_PATH:/APSshare/uisys/sr/id
fi
#######################################
# Define CAQTDM_DISPLAY_PATH
# the .ui file directory list for caQtDM
if [ "" == "${CAQTDM_DISPLAY_PATH}" ]; then
export CAQTDM_DISPLAY_PATH=${QTDMDP}
else
# either: pre-pend to display path
export CAQTDM_DISPLAY_PATH=${QTDMDP}:${CAQTDM_DISPLAY_PATH}
# or: append to display path
#export CAQTDM_DISPLAY_PATH=${CAQTDM_DISPLAY_PATH}:${QTDMDP}
fi
#######################################
# optional: support for PVs with large data sizes, such as areaDetector
# This should agree with the environment variable set by the ioc
# see 'putenv "EPICS_CA_MAX_ARRAY_BYTES=64008"' in iocBoot/ioc<target>/st.cmd
# #######################################
# # optional: support for PVs with large data sizes, such as areaDetector
# # This should agree with the environment variable set by the ioc
# # see 'putenv "EPICS_CA_MAX_ARRAY_BYTES=64008"' in iocBoot/ioc<target>/st.cmd
if [ "" == "${EPICS_CA_MAX_ARRAY_BYTES}" ]; then
#export EPICS_CA_MAX_ARRAY_BYTES=64008
export EPICS_CA_MAX_ARRAY_BYTES=8000100
fi
#######################################
# optional: execute caQtDM in this support's ui directory
cd ${EPICS_APP_UI_DIR}
#######################################
# optional: override system default environment variables for Qt and Qwt
# These override system defaults for Qt, Qwt
......@@ -205,9 +71,7 @@ fi
#######################################
# start caQtDM
#caQtDM -noMsg xxx.ui &
# allow for command line option to specify the file to be opened
caQtDM -style plastique -noMsg ${1:-${DEFAULT_UI_FILE}}
/APSshare/bin/caQtDM -style plastique -noMsg ${1:-${DEFAULT_UI_FILE}}
# TODO: what about ALL command line parameters? "$*"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment