#!/bin/sh
#set -x

SGC_RESET=73
GPS_DEV="/dev/gps0"
VERSION=""

set_gpio()
{
	if [ ! -d /sys/class/gpio/gpio$1 ]; then
		echo $1 > /sys/class/gpio/export
		echo out > /sys/class/gpio/gpio$1/direction
	fi
	
	echo $2 > /sys/class/gpio/gpio$1/value
}

set_gpio_input()
{
	if [ -d /sys/class/gpio/gpio$1 ]; then
		echo in > /sys/class/gpio/gpio$1/direction
		echo $1 > /sys/class/gpio/unexport
	fi
}

get_gpio()
{
        if [ ! -d /sys/class/gpio/gpio$1 ]; then
                echo $1 > /sys/class/gpio/export
                echo in > /sys/class/gpio/gpio$1/direction
        fi

		VAL=`cat /sys/class/gpio/gpio$1/value`
		if [ $? -ne 0 ]; then
			echo "Error getting HWID"
			exit 1
		fi

        return ${VAL}
}

while [ ! -e ${GPS_DEV} ]; do
    echo "GPS not online, waiting..."
    sleep 15
done

RET="1"
RETRY="4"
echo "GPS Online, checking model"
while [ "${RETRY}" -ne "0" ]; do
    VERSION=`prggps -v /dev/gps0 | grep 'HW Version:'`   
    RET="$?"
    if [ "${RET}" -ne "0" ]; then
        sleep 15
    else
        if [[ $VERSION == *"OEM7500"* ]]; then
            /usr/sbin/prgoem7500 check
            exit 0
        elif [[ $VERSION == *"OEM628"* ]]; then
            /usr/sbin/prgoem628 check
           exit 0 
        elif [[ $VERSION == *"OEM729"* ]]; then
            /usr/sbin/prgoem729 check
           exit 0 
        else		
           sleep 10 
        fi     
    fi	
    
    RETRY=`expr ${RETRY} - 1`
done;