Sandbox/Dirigent/Dirigent.sh
#!/bin/bash
SUBDIR=
ThisDev=Dirig
source Commons.sh
source Tools.sh
function Broadcast()
{
for Dev in $IntelligentDevs;
do
#ssh golem@$Dev "source $Dev.sh; $@" &
$Dev $@ &
done
wait
}
function Discharge()
{
Init
LogIt "$DOWNTO ${FUNCNAME[0]}"
Broadcast Init
Broadcast Prepare $UBt $Ucd
Broadcast Arming
sleep 2;Trigger
Broadcast PostDisch
LogIt "$UPFROM ${FUNCNAME[0]}"
}
function Trigger ()
{
LogIt "$DOWNTO ${FUNCNAME[0]}"
LogIt "$UPFROM ${FUNCNAME[0]}"
}
function Emergency ()
{
Init
Broadcast Emergency
}
function Init()
{
rm -rf $SHM;mkdir -p $SHMdir;
#PngChck #Ping all the devices ..
LogIt "$DOWNTO ${FUNCNAME[0]}"
LogIt "Command Line: $COMMANDLINE"
ShotNo=$((`echo "SELECT shot_no FROM shots_new ORDER BY timestamp DESC LIMIT 1;" |$DataB`+1))
echo $ShotNo>$SHM/ShotNo;$SHMtouch/$ShotNo;date '+%d/%m/%y %H:%M:%S'>$SHM/DateTime;mkdir -p $SHM/Controll; cp *.* $SHM/Controll/
LogIt "Let's go for shot #"$ShotNo
for Dev in $RASPs; do
rsync --copy-links -e ssh $Dev.sh Commons.sh golem@$Dev:
done
wait
LogIt "$UPFROM ${FUNCNAME[0]}"
}
TASK=$1
COMMANDLINE=$@
while [ $# -gt 0 ]; do
if [[ $1 == *"--"* ]]; then
v="${1/--/}"
declare $v="$2"
fi
shift
done
case "$TASK" in
"")
echo "Usage: $0 [-d|--discharge] [-v|--vacuum] [-t|--test] [-s|--shutdown]"
RETVAL=1
;;
--discharge|-d)
Discharge
;;
--vacuum|-v)
echo i
;;
--test|-t)
Init
#Et "Init;Prepare 400 300"
PwSp HVon
sleep 1
PwSp HVoff
;;
--shutdown|-s)
ShutDown
;;
--emergency|-e)
Emergency
;;
--ping|-p)
Init
PngChck
;;
esac