#!/bin/sh

command -v sudo -V > /dev/null
useSudo="$?"

if [ $# -eq 0 ]
then
	echo "radio script usage :"
	echo -e "\tradio 0 : turn on radio modem"
	echo -e "\tradio 1 : turn on radio modem"
	echo ""
	echo -e "\tradio -i : Return Glider radio ID"
	echo -e "\tradio -s <ID_VALUE> : Set a radio ID (1000 + NUMGLIDER)"
	echo -e "\tradio -p <VALUE> : Set emit Power Level"
	echo -e "\t\t\t 0 : 1mw"
	echo -e "\t\t\t 1 : 10mw"
	echo -e "\t\t\t 2 : 100mw"
	echo -e "\t\t\t 3 : 500mw"
	echo -e "\t\t\t 4 : 1w"
	echo ""
	echo -e "\tradio -r : raz config radio modem"
	echo ""
elif [ "$#" == "1" ] && [ "$1" == "1" ]
then
	if [[ "$useSudo" == "0" ]]; then
		sudo IOTester -c A04
	else
		IOTester -c A04
	fi
elif [ "$#" == "1" ] && [ "$1" == "0" ]
then
	if [[ "$useSudo" == "0" ]]; then
		sudo IOTester -s A04
	else
		IOTester -s A04
	fi
fi	
	
while getopts "s:p:ri" option
do
	case $option in
		s)
			if [ -n $OPTARG ]
			then
				id="$OPTARG"
				if [[ "$useSudo" == "0" ]]; then
					sudo IOTester -s A04
				else
					IOTester -s A04
				fi
				sleep 1
				if [[ "$useSudo" == "0" ]]; then
					sudo IOTester -c A04
				else
					IOTester -c A04
				fi
				sleep 1
				echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
				echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
				echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -ne "ATID\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -e "\n-------------"
				echo -ne "ATID $id\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -e "\n-------------"
				echo -ne "ATID\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -e "\n-------------"
				echo -ne "ATWR\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -e "\n-------------"
				echo -ne "ATCN\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -e "\n-------------"
			else
				echo "! Id absent"
				exit 2
			fi
			;;
		p)
			if [ -n $OPTARG ]
			then
				power="$OPTARG"
				case $power in
					0)
					power=0
					;;
					1)
					power=10
					;;
					2)
					power=2
					;;
					3)
					power=3
					;; 
					4)
					power=4
					;;
					*)
					power=4
					;;
				esac
				if [[ "$useSudo" == "0" ]]; then
					sudo IOTester -s A04
				else
					IOTester -s A04
				fi
				sleep 1
				if [[ "$useSudo" == "0" ]]; then
					sudo IOTester -c A04
				else
					IOTester -c A04
				fi
				sleep 1
				echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
				echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
				echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -ne "ATPL\r\n" | microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -e "\n-------------"
				echo -ne "ATPL $power\r\n" | microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -e "\n-------------"
				echo -ne "ATWR\r\n" | microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -e "\n-------------"
				echo -ne "ATCN\r\n" | microcom -t 100 -X -s 9600 /dev/ttyS0
				sleep 1
				echo -e "\n-------------"
			else
				echo "! arg value abs"
				exit 2
			fi
			;;
		r)
			if [[ "$useSudo" == "0" ]]; then
				sudo IOTester -s A04
			else
				IOTester -s A04
			fi
			sleep 1
			if [[ "$useSudo" == "0" ]]; then
				sudo IOTester -c A04
			else
				IOTester -c A04
			fi
			sleep 1
			echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
			echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
			echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATVR\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATID\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATID 3332\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATID\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATBR 0\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATPL 4\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATBD 3\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATNB 0\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATSB 0\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATFL 0\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATNB 0\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATWR\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			echo -ne "ATCN\r\n"| microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -e "\n-------------"
			if [[ "$useSudo" == "0" ]]; then
				sudo IOTester -s A04
			else
				IOTester -s A04
			fi
			sleep 1
			if [[ "$useSudo" == "0" ]]; then
				sudo IOTester -c A04
			else
				IOTester -c A04
			fi
			;;
		i)
			if [[ "$useSudo" == "0" ]]; then
				sudo IOTester -s A04
			else
				IOTester -s A04
			fi
			sleep 1
			if [[ "$useSudo" == "0" ]]; then
				sudo IOTester -c A04
			else
				IOTester -c A04
			fi
			sleep 1
			echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
			echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
			echo -n "+" | microcom -t 100 -X -s 9600 /dev/ttyS0
			sleep 1
			echo -ne "ATID\r\n"| microcom -t 100 -s 9600 /dev/ttyS0
			echo -e "\n-------------\n"
			echo -ne "ATCN\r\n"| microcom -t 100  -s 9600 /dev/ttyS0
			echo -e "-------------"
			;;
		*)
			echo "! -$option unknown parameter ! ERROR"
			exit 2
			;;
	esac
done
