#! /bin/sh

source /afs/slac/g/lcls/package/cpsw/controlGUI/MAIN_TRUNK/setup_env.bash

usage() {
    echo "usage: start_control_server.sh -t <yaml.tar.gz> [-a <ip_addr>] [-d <defaults.xml>]"
    echo "    -t <yaml.tar.gz>  : tar file with yaml defintions"
    echo "    -a <ip_addr>     : target ip address (optional)"
    echo "    -d <defaults.xml> : path to XML defaults file (optional)"
    exit
}

ARGS=""
ADDR=""

while [[ $# -gt 1 ]]
do
key="$1"
case $key in
    -a)
    ARGS="$ARGS -a $2"
    ADDR="$2"
    shift # past argument
    ;;
    -t)
    TAR_FILE="$2"
    shift # past argument
    ;;
    -d)
    DEF_FILE="$2"
    shift # past argument
    ;;
    *)
            # unknown option
    ;;
esac
shift
done

if [ ! -f "$TAR_FILE" ]
then
    echo "Tar file not found!"
    usage
fi

if [ -n "$DEF_FILE" ] 
then 
    if [ ! -f "$DEF_FILE" ]
    then
        echo "XML Defaults file not found!"
        usage
    else
        ARGS="$ARGS -d $DEF_FILE"
    fi
fi

TEMP_DIR=/tmp/$USER/testing
rm -rf $TEMP_DIR
mkdir -p $TEMP_DIR

tar -zxf  $TAR_FILE -C $TEMP_DIR

PROJ_DIR=$(ls $TEMP_DIR)
DIR=$TEMP_DIR/$PROJ_DIR


# check RSSI connection
/afs/slac/g/lcls/package/cpsw/check_rssi/O.linuxRT-x86_64/cpsw_check_rssi -a $ADDR

# start control server
echo "bin/O.linuxRT-x86_64/ControlServer -f $DIR/000TopLevel.yaml $ARGS"
bin/O.linuxRT-x86_64/ControlServer -f $DIR/000TopLevel.yaml $ARGS

