export ARCH=buildroot-2016.11.1-x86_64
export PATH=/afs/slac/g/lcls/package/python/3.6.1/$ARCH/bin:$PATH
export LD_LIBRARY_PATH=/afs/slac/g/lcls/package/python/python2.7.9/$ARCH/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/afs/slac/g/lcls/package/boost/1.64.0/$ARCH/lib/:$LD_LIBRARY_PATH


export LD_LIBRARY_PATH=/afs/slac/g/lcls/package/cpsw/framework/R3.6.6/$ARCH/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/afs/slac/g/lcls/package/yaml-cpp/yaml-cpp-0.5.3_boost-1.64.0/$ARCH/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/afs/slac/g/lcls/package/libxml2/2.9.3/$ARCH/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/afs/slac/g/lcls/package/xz/5.2.2/$ARCH/lib:$LD_LIBRARY_PATH

export PYTHONPATH=/afs/slac/g/lcls/package/cpsw/framework/R3.6.6/$ARCH/bin:$PYTHONPATH


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


# start control server
START_CMD="/afs/slac.stanford.edu/g/lcls/vol9/package/cpsw/controlGUI/R4.1.0/$ARCH/bin/ControlServer -f $DIR/000TopLevel.yaml $ARGS"
echo $START_CMD
$START_CMD
