#!/bin/sh

cmd1="$1"
cmd2="$2"

ftm_start() {
	#Check FTMmode
	FTMMODE="$(fw_printenv FTMmode | cut -c9-9 | tr -d '\n')"
	if [ "${FTMMODE}" -eq 1 ]; then
		echo "==================" > /dev/console
		echo "FTM Mode Start ..." > /dev/console
		echo "==================" > /dev/console
	else
		echo "WARNING!!! FTM mode is not set." > /dev/console
		echo "WARNING!!! FTM mode is not set." > /dev/pts/0
	fi
}

ftm_stop() {
	echo "==================" > /dev/console
	echo "FTM Mode Stop  ..." > /dev/console
	echo "==================" > /dev/console
}

renew_iptables() {
	iptables -t nat -F
	iptables -t nat -X
	iptables -t nat -P PREROUTING ACCEPT
	iptables -t nat -P POSTROUTING ACCEPT
	iptables -t nat -P OUTPUT ACCEPT
	iptables -t mangle -F
	iptables -t mangle -X
	iptables -t mangle -P PREROUTING ACCEPT
	iptables -t mangle -P INPUT ACCEPT
	iptables -t mangle -P FORWARD ACCEPT
	iptables -t mangle -P OUTPUT ACCEPT
	iptables -t mangle -P POSTROUTING ACCEPT
	iptables -F
	iptables -X
	iptables -P FORWARD ACCEPT
	iptables -P INPUT ACCEPT
	iptables -P OUTPUT ACCEPT
	iptables -t raw -F
	iptables -t raw -X
	iptables -t raw -P PREROUTING ACCEPT
	iptables -t raw -P OUTPUT ACCEPT
}

renew_ip6tables() {
	ip6tables -t nat -F
	ip6tables -t nat -X
	ip6tables -t nat -P PREROUTING ACCEPT
	ip6tables -t nat -P POSTROUTING ACCEPT
	ip6tables -t nat -P OUTPUT ACCEPT
	ip6tables -t mangle -F
	ip6tables -t mangle -X
	ip6tables -t mangle -P PREROUTING ACCEPT
	ip6tables -t mangle -P INPUT ACCEPT
	ip6tables -t mangle -P FORWARD ACCEPT
	ip6tables -t mangle -P OUTPUT ACCEPT
	ip6tables -t mangle -P POSTROUTING ACCEPT
	ip6tables -F
	ip6tables -X
	ip6tables -P FORWARD ACCEPT
	ip6tables -P INPUT ACCEPT
	ip6tables -P OUTPUT ACCEPT
	ip6tables -t raw -F
	ip6tables -t raw -X
	ip6tables -t raw -P PREROUTING ACCEPT
	ip6tables -t raw -P OUTPUT ACCEPT
}

led_off() {
	echo 0 > /sys/class/leds/DIAGLED/brightness
}

led_on() {
	echo 1 > /sys/class/leds/DIAGLED/brightness
}

set_rs232() {
	# UART 1
	echo 1 > /sys/class/gpio/gpio496/value
	echo 0 > /sys/class/gpio/gpio497/value
	echo 1 > /sys/class/gpio/gpio498/value
	echo 1 > /sys/class/gpio/gpio499/value
	# UART 2
	echo 1 > /sys/class/gpio/gpio500/value
	echo 0 > /sys/class/gpio/gpio501/value
	echo 1 > /sys/class/gpio/gpio502/value
	echo 1 > /sys/class/gpio/gpio503/value
	# UART 3
	echo 1 > /sys/class/gpio/gpio504/value
	echo 0 > /sys/class/gpio/gpio505/value
	echo 1 > /sys/class/gpio/gpio506/value
	echo 1 > /sys/class/gpio/gpio507/value
	# UART 4
	echo 1 > /sys/class/gpio/gpio508/value
	echo 0 > /sys/class/gpio/gpio509/value
	echo 1 > /sys/class/gpio/gpio510/value
	echo 1 > /sys/class/gpio/gpio511/value
}

set_rs232_1() {
	# UART 1
	echo 1 > /sys/class/gpio/gpio496/value
	echo 0 > /sys/class/gpio/gpio497/value
	echo 1 > /sys/class/gpio/gpio498/value
	echo 1 > /sys/class/gpio/gpio499/value
}

set_rs232_2() {
	# UART 2
	echo 1 > /sys/class/gpio/gpio500/value
	echo 0 > /sys/class/gpio/gpio501/value
	echo 1 > /sys/class/gpio/gpio502/value
	echo 1 > /sys/class/gpio/gpio503/value
}

set_rs232_3() {
	# UART 3
	echo 1 > /sys/class/gpio/gpio504/value
	echo 0 > /sys/class/gpio/gpio505/value
	echo 1 > /sys/class/gpio/gpio506/value
	echo 1 > /sys/class/gpio/gpio507/value
}

set_rs232_4() {
	# UART 4
	echo 1 > /sys/class/gpio/gpio508/value
	echo 0 > /sys/class/gpio/gpio509/value
	echo 1 > /sys/class/gpio/gpio510/value
	echo 1 > /sys/class/gpio/gpio511/value
}

set_rs485_half() {
	# UART 1
	echo 0 > /sys/class/gpio/gpio496/value
	echo 1 > /sys/class/gpio/gpio497/value
	echo 1 > /sys/class/gpio/gpio498/value
	echo 1 > /sys/class/gpio/gpio499/value
	# UART 2
	echo 0 > /sys/class/gpio/gpio500/value
	echo 1 > /sys/class/gpio/gpio501/value
	echo 1 > /sys/class/gpio/gpio502/value
	echo 1 > /sys/class/gpio/gpio503/value
	# UART 3
	echo 0 > /sys/class/gpio/gpio504/value
	echo 1 > /sys/class/gpio/gpio505/value
	echo 1 > /sys/class/gpio/gpio506/value
	echo 1 > /sys/class/gpio/gpio507/value
	# UART 4
	echo 0 > /sys/class/gpio/gpio508/value
	echo 1 > /sys/class/gpio/gpio509/value
	echo 1 > /sys/class/gpio/gpio510/value
	echo 1 > /sys/class/gpio/gpio511/value
}

set_rs485_half_1() {
	# UART 1
	echo 0 > /sys/class/gpio/gpio496/value
	echo 1 > /sys/class/gpio/gpio497/value
	echo 1 > /sys/class/gpio/gpio498/value
	echo 1 > /sys/class/gpio/gpio499/value
}

set_rs485_half_2() {
	# UART 2
	echo 0 > /sys/class/gpio/gpio500/value
	echo 1 > /sys/class/gpio/gpio501/value
	echo 1 > /sys/class/gpio/gpio502/value
	echo 1 > /sys/class/gpio/gpio503/value
}

set_rs485_half_3() {
	# UART 3
	echo 0 > /sys/class/gpio/gpio504/value
	echo 1 > /sys/class/gpio/gpio505/value
	echo 1 > /sys/class/gpio/gpio506/value
	echo 1 > /sys/class/gpio/gpio507/value
}

set_rs485_half_4() {
	# UART 4
	echo 0 > /sys/class/gpio/gpio508/value
	echo 1 > /sys/class/gpio/gpio509/value
	echo 1 > /sys/class/gpio/gpio510/value
	echo 1 > /sys/class/gpio/gpio511/value
}

set_rs485_full() {
	# UART 1
	echo 1 > /sys/class/gpio/gpio496/value
	echo 1 > /sys/class/gpio/gpio497/value
	echo 1 > /sys/class/gpio/gpio498/value
	echo 1 > /sys/class/gpio/gpio499/value
	# UART 2
	echo 1 > /sys/class/gpio/gpio500/value
	echo 1 > /sys/class/gpio/gpio501/value
	echo 1 > /sys/class/gpio/gpio502/value
	echo 1 > /sys/class/gpio/gpio503/value
	# UART 3
	echo 1 > /sys/class/gpio/gpio504/value
	echo 1 > /sys/class/gpio/gpio505/value
	echo 1 > /sys/class/gpio/gpio506/value
	echo 1 > /sys/class/gpio/gpio507/value
	# UART 4
	echo 1 > /sys/class/gpio/gpio508/value
	echo 1 > /sys/class/gpio/gpio509/value
	echo 1 > /sys/class/gpio/gpio510/value
	echo 1 > /sys/class/gpio/gpio511/value
}


set_rs485_full_1() {
	# UART 1
	echo 1 > /sys/class/gpio/gpio496/value
	echo 1 > /sys/class/gpio/gpio497/value
	echo 1 > /sys/class/gpio/gpio498/value
	echo 1 > /sys/class/gpio/gpio499/value
}

set_rs485_full_2() {
	# UART 2
	echo 1 > /sys/class/gpio/gpio500/value
	echo 1 > /sys/class/gpio/gpio501/value
	echo 1 > /sys/class/gpio/gpio502/value
	echo 1 > /sys/class/gpio/gpio503/value
}

set_rs485_full_3() {
	# UART 3
	echo 1 > /sys/class/gpio/gpio504/value
	echo 1 > /sys/class/gpio/gpio505/value
	echo 1 > /sys/class/gpio/gpio506/value
	echo 1 > /sys/class/gpio/gpio507/value
}

set_rs485_full_4() {
	# UART 4
	echo 1 > /sys/class/gpio/gpio508/value
	echo 1 > /sys/class/gpio/gpio509/value
	echo 1 > /sys/class/gpio/gpio510/value
	echo 1 > /sys/class/gpio/gpio511/value
}

if [ "$cmd1" == "FTMstart" ]; then
	ftm_start
fi

if [ "$cmd1" == "FTMstop" ]; then
	ftm_stop
fi

if [ "$cmd1" == "ledoff" ]; then
	led_off
fi

if [ "$cmd1" == "ledon" ]; then
	led_on
fi

if [ "$cmd1" == "setRS232" ]; then
	set_rs232
fi

if [ "$cmd1" == "setRS485half" ]; then
	set_rs485_half
fi

if [ "$cmd1" == "setRS485full" ]; then
	set_rs485_full
fi

if [ "$cmd1" == "setRS232_1" ]; then
	set_rs232_1
fi

if [ "$cmd1" == "setRS232_2" ]; then
	set_rs232_2
fi

if [ "$cmd1" == "setRS232_3" ]; then
	set_rs232_3
fi

if [ "$cmd1" == "setRS232_4" ]; then
	set_rs232_4
fi

if [ "$cmd1" == "setRS485half_1" ]; then
	set_rs485_half_1
fi

if [ "$cmd1" == "setRS485half_2" ]; then
	set_rs485_half_2
fi

if [ "$cmd1" == "setRS485half_3" ]; then
	set_rs485_half_3
fi

if [ "$cmd1" == "setRS485half_4" ]; then
	set_rs485_half_4
fi

if [ "$cmd1" == "setRS485full_1" ]; then
	set_rs485_full_1
fi

if [ "$cmd1" == "setRS485full_2" ]; then
	set_rs485_full_2
fi

if [ "$cmd1" == "setRS485full_3" ]; then
	set_rs485_full_3
fi

if [ "$cmd1" == "setRS485full_4" ]; then
	set_rs485_full_4
fi
