Infrastructure/Preionization/ECRHassisted/Development/V_III_TP/1016Commisioning/tools/scopesnap.sh

#!/bin/bash
SCOPE=192.168.2.49
PORT=5555
if [ -z "$TMP" ]
then
  TMP=/tmp
fi
FILE=$TMP/image$$.raw
BFILE=$FILE.bmp
BATCH=0
DELAY=
while getopts ":bBd:" OPT
  do
      case $OPT in
     b) BATCH=1
        ;;
     B) BATCH=1
        ;;
     d) DELAY=$OPTARG
        ;;
     *) >&2 echo Invalid argument
        exit 1
        ;;
       esac
      done
shift $((OPTIND-1))
RESULT="$1"
if [ -z "$RESULT" ]
then
  >&2 echo Usage: scopesnap [-B] [-d delay] file [file ...]
  >&2 echo Where file is a file name
  >&2 echo ending with the format you want
  >&2 echo "(e.g., jpg or png or pdf)"
  >&2 echo If you include -B of -b 
  >&2 echo the image will not be opened after capture
  >&2 echo "If you include -d there will be a delay (in seconds)"
  >&2 echo after each capture                     
  >&2 echo 73 de WD5GNR
  exit 1
fi  
echo -n 'Reading from '
echo "*IDN?" | nc $SCOPE $PORT
if [ ! $? == 0 ]
then
>&2 echo Scope not found. Aborting
exit 2
fi
while [ ! -z "$1" ]
  do
  RESULT="$1"
  echo Reading data for "$RESULT"
  echo ":DISP:DATA?" | nc $SCOPE $PORT >$FILE
  SIZE=`ls -l $FILE | cut -d ' ' -f 5`
  SIZE=`expr $SIZE - 11`
  tail -c $SIZE $FILE >$BFILE
  if convert $BFILE "$RESULT"
  then
    echo Wrote "$RESULT"
  else
    >&2 echo Error writing "$RESULT"
  fi
  rm $FILE $BFILE
  if [ "$BATCH" == 0 ]
  then
      xdg-open "$RESULT" &
  fi
  shift
  if [ ! -z "$DELAY" ]
  then
      echo Delaying $DELAY seconds
      sleep $DELAY
  fi
done  
exit 0