#!/bin/bash
# Script d'acces au module ATMEL par minicom, acces serie a 19200 bauds
# Septembre 2007
# Marc Dilasser, Le Net du Kermeur, mail : md@lekermeur.net
COMEXE=/usr/bin/minicom
FRAC=$(basename $0)

# Nom du fichier script pour minicom et du fichier log
FSCR=${FRAC%.*}.mnc
FLOG=${FRAC%.*}.log
SCDONE=0

# ---------------------------------------------   A t t e n d r e _ P r o m p t
function Attendre_Prompt {
   cat << __END_PROMPT__ >> ${FSCR}
expect {
	"-> "
	timeout 2 goto failed
}
__END_PROMPT__
}

# -------------------------------------------------------   E r r e u r _ F i n
function Erreur_Fin {
   cat << __END_ERREUR_FIN__ >> ${FSCR}
	goto fin
failed:
	print "\nERReur d'acces au module"
fin:
	! killall -15 ${COMEXE}
__END_ERREUR_FIN__
}

# -------------------------------------------------------------------   m a i n
if [ $# -eq 1 ]; then
   P1=$(echo $1 | tr 'a-z' 'A-Z')
   if [ "x$P1" == "xDATE" ]; then
      SECONDS=$(date "+%s")
      echo "send \r" > $FSCR
      Attendre_Prompt
      echo "send date $SECONDS" >> $FSCR
      Attendre_Prompt 
      echo "send date" >> $FSCR 
      Attendre_Prompt
      Erreur_Fin
      SCDONE=1
   fi

   if [ "x$P1" == "xADCAS" ]; then
      echo "send \r" > $FSCR
      Attendre_Prompt
      echo "send date" >> $FSCR 
      Attendre_Prompt
      echo "send adcas" >> $FSCR 
      Attendre_Prompt
      Erreur_Fin
      SCDONE=1
   fi

   if [ "x$P1" == "xPORTBS" ]; then
      echo "send \r" > $FSCR
      Attendre_Prompt
      echo "send date" >> $FSCR 
      Attendre_Prompt
      echo "send portbs" >> $FSCR 
      Attendre_Prompt
      Erreur_Fin
      SCDONE=1
   fi

   if [ $SCDONE -eq 1 ]; then
      [ -f $FLOG ] && rm $FLOG
      ${COMEXE} --script=${FSCR} -C ${FLOG} > /dev/null
      # rm -f ${FSCR}
      # Affichage de la log s'il n'y a pas d'erreur
      grep ^ERR ${FLOG} || cat ${FLOG}
   fi
fi
if [ $SCDONE -eq 0 ]; then
   echo "Syntaxe : $0 DATE | ADCAS | PORTBS"
fi
# ---------   End of lndk_script.sh   ---------   That's All, Folks   ---------

