#!/bin/bash
#
# Setta il TNC del D700 sulla porta $PORT a $SPEED baud in modo KISS
# Non fa controlli sull'esistenza del D700, si limita ad inviare
# i comandi di accensione del D700 e di set del modo KISS.
#
# N.B. Si devono avere i diritti di scrittura sulla porta seriale utilizzata!
#
#
# Uso: setkiss [<porta> <velocità seriale> <velocità radio>]
#
# Se i parametri sono omessi si assume /dev/ttyS0, 9600 baud e 1200 baud.
# Per qualsiasi altra combinazione si devono dare tutti e tre i parametri.
# <velocità radio> può essere solo 1200 o 9600.
#
if [ "$1" == "" ]; then 
	PORT=/dev/ttyS0;
else
	PORT=$1;
fi
if [ ! -e $PORT ]; then
		echo -e "La porta $PORT non esiste!\n\n";
		exit
fi

if [ "$2" == ""  ]; then 
	SPEED=9600;
else
	SPEED=$2;
fi

if [ "$3" == ""  ]; then 
	RADIOSPEED=1200;
else
	if [ "$3" == "1200"  -o  "$3" == "9600" ]; then
		RADIOSPEED=$3;
	else
		echo -e "La velocità radio può essere solo 1200 o 9600 baud.\n\n"
		exit
	fi
fi

#
# Hic sunt leones
#
echo -e "Configuro il TM-D700 sulla porta $PORT a $SPEED baud in modo KISS..."

echo -e "Configurazione porta seriale $PORT a $SPEED baud..."

# Configura la seriale alla velocità richiesta e controlla di avere
# i permessi di scrittura su $PORT
if ! stty -F $PORT $SPEED > /dev/null 2>&1; then
	echo -e "Non si ha il permesso di scrittura su $PORT, impossibile continuare!\n\n"
	exit
fi
# Disabilita il controllo di flusso
stty -F $PORT -crtscts 

echo "Accensione D700..."
#
# Ci sono quattro comandi di accensione ripetuti perchè talvolta uno o
# due non bastano (almeno sul mio D700, non so perchè, tempo di risveglio della CPU?)
#
echo -e "\rPS 1\r" > $PORT
echo -e "\rPS 1\r" > $PORT
echo -e "\rPS 1\r" > $PORT
echo -e "\rPS 1\r" > $PORT

# Aspetta la fine dello splash screen
sleep 5

# Va nel modo TNC PKT
echo "Attivazione TNC..."
echo -e "TNC 2\r" > $PORT

# Attende l'attivazione del TNC
sleep 5 

# Pone il TM-D700 in modalità comandi TNC (cmd:)
echo -e "TC 0\r" > $PORT

# Seleziona la velocità di comunicazione
echo -e "HBAUD $RADIOSPEED\r" > $PORT

# Setta la modalità KISS
echo "Attivazione modo KISS..."
echo -e "KISS ON\r" > $PORT
echo -e "RESTART\r" > $PORT

# Fine (almeno si spera...)
echo "Fatto!"
