#!/bin/sh /etc/rc.common
#
# Copyright (C) 2014-2020, Lantronix, Inc. All Rights Reserved.
#           7535 Irvine Center Drive, Suite 100
#           Irvine, CA 92618 USA

# Permission to use, copy, modify this software for any
# purpose is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.

# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#


START=99
APP="percepxion-line"
lock() {
	until [[ -f /tmp/system.initialized && -f /tmp/system.evo.initialized ]]
	do
		sleep 5
	done
	while true; do
		if mkdir /var/lock/$APP; then
			break
		else
			usleep 500000
		fi
	done
}

unlock() {
	rm -rf  /var/lock/$APP
}

print_usage() {
	echo "Invalid argument please provide line number"
}

boot() {
	total_lines=`cat /proc/device-tree/lantronix/hwcfg | tr -d -c 0-9 | cut -c 3-`
	line=1
	while [ $line -le $total_lines ]
	do
		start $line
		true $(( line++ ))
	done
	return 0
}

start() {
	if [ "$#" -ne 1 ]; then
		print_usage
		return 0
	fi

	line=$1
	[ -f /proc/device-tree/lantronix/ftm_mode ] && {
		ftm_mode=`cat /proc/device-tree/lantronix/ftm_mode`
		[ $ftm_mode != "0" ] && return
	}

	enable=`uci get percepxion_line$line.Basic.State`
	logger "mim$line start: $enable"
	lock
	ltrx_mhcfgupdate mim $( echo $(( $line - 1 )) )
	unlock
}

stop() {
	if [ "$#" -ne 1 ]; then
		print_usage
		return 0
	fi

	line=$1
	enable=`uci get percepxion_line$line.Basic.State`	
	logger "mim1 stop: $enable"
}

reload() {
	if [ "$#" -ne 1 ]; then
		print_usage
		return 0
	fi
	stop $1
	start $1
}

restart() {
	reload $1
}
