#!/bin/bash RASPs="Chamber Charger Discharge" #RASPs="Charger Discharge" ARDs="Trigger" PAPs="" VIRTDevs="" DASs="TektrMSO56Standard" Infrastructure="$RASPs $VIRTDevs" #IntelligentDevs="$RASPs $VIRTDevs" ALLDevs="$RASPs $DASs" #ALLDevs="$RASPs $OSCs $DASs $PAPs" GM="golem@golem" sshGM="ssh $GM" XTERM="xterm -T $Dev -e ssh golem@$Dev" DataB="psql -qAt -U golem golem_database" SHM="/dev/shm/golem" SHMdir="$SHM/$ThisDev" SHM0="/dev/shm/golem/0" NULL="1>/dev/null" Everything2NULL="1>/dev/null 2>/dev/null" GWDirigentDir="/GW/SW/ControlSW/Dirigent" #RUNinBACKGR="&> /dev/null" RUNinBACKGR="&" LogFunctionStart="LogIt Diving into .." LogFunctionEnd="LogIt Ascending from .." LogFunctionPassing="LogIt Passing by .." LogFunctionGoingThrough="LogIt Going through .." #2> >(tee -a $SHM/stderr.log >&2) function RASPCommand() { Result=`ssh golem@$1 "source $1.sh;$2"` LogIt $2@$1: $Result } function DASCommand() { Result=`source $1.sh;$2` LogIt $2@$1: $Result } #DIRIGENT: function Dirigent(){ ssh golem@Dirigent "source Dirigent.sh; $@"; } #RASPs: function Chamber(){ ssh golem@Chamber "source Chamber.sh; $@"; } function Charger(){ ssh golem@Charger "source Charger.sh; $@"; } function Discharge(){ ssh golem@Discharge "source Discharge.sh; $@"; } #DASs function TektrMSO56Standard(){ "source TektrMSO56Standard.sh; $@"; } #Analysis function Web(){ "source Web.sh; $@"; } function RASPsOpenSession() { mkdir -p $SHM sshfs golem@Dirigent:$SHM/ $SHM/ echo OK } function RASPsCloseSession() { fusermount -u $SHM rm -rf $SHM echo OK } function LogIt() { echo `date '+%H:%M:%S'`\\t ${FUNCNAME[1]} $1 >> $SHM/LocalLogBook printf "`date +%H:%M:%S` #`cat $SHM/ShotNo` $ThisDev/${FUNCNAME[1]}:\t%s\n" "$1 $2 $3 $4"|tee -a $SHM/GlobalLogbook printf "`date +%H:%M:%S` #`cat $SHM/ShotNo` $ThisDev/${FUNCNAME[1]}:\t%s\n" "$1 $2 $3 $4">> $SHM0/ShotLogbook #| expand -t 33 } function CommonInitDischarge() { $LogFunctionPassing mkdir -p $SHM0/$SUBDIR/$ThisDev echo OK } function critical_error() { LogIt "Critical error: $1 ... Stopped" echo pack [label .error -text {Critical error: $1 ... stopped}]|wish } # Defaults, in case it is not defined in the driver itself function PrepareDischarge() { $LogFunctionPassing; echo OK; } function Arming() { $LogFunctionGoingThrough echo OK } function PostDischargeFinals() { $LogFunctionGoingThrough echo OK } function PostDisch() { $LogFunctionGoingThrough echo OK } function DASsOpenSession() { echo OK } function DASsCloseSession() { echo OK } source Tools.sh