#!/bin/sh

# Modem initialisation script for Simcom 5360 module
# Author: dylan@kses.net
# 2014-11-11


MODEM_LOG="logger -t modem"
GNXIO=/usr/bin/gnxio
GNXID=/usr/bin/gnxid

MODEM=$2
KEY=$1

. /usr/share/kses/hwinit/functions



function init_modem
{
    
    echo -n "Modem power OFF "
    gnxio_toggle GSM_ON low
    echo -n "GPS power OFF "
    gnxio_toggle GPS_OFF high
    
    echo -n "Waiting 10s .."	
    sleep 10
    echo "OK"
    
    echo -n "Modem power ON "
	gnxio_toggle GSM_ON high
    echo -n "GPS power ON "
	gnxio_toggle GPS_OFF low
	
    echo -n "Waiting 10s .."	
    sleep 10
    echo "OK"
    
    echo -n "Ignition start "
    gnxio_toggle GSM_IGT high
    sleep 2
    echo -n "Ignition release "
    gnxio_toggle GSM_IGT low

    echo -n "Waiting for ${MODEM} ."
    while [[ ! -c "${MODEM}" ]] ; do
	sleep 1
	echo -n "."
    done
    echo " OK"

    modem_rx 

 
    sleep 2

    MODEM_CMD="ATZ"
    echo -n "Modem reset (${MODEM_CMD}) ... "
    modem_txrx "${MODEM_CMD}"
    echo "${RX_RESULT}"
    if [[ ${RX_RESULT} != "OK" ]] ; then
	error "No reply to ${MODEM_CMD} from modem"
#	exit 1
    fi

    sleep 1
    
    MODEM_CMD="AT+CGPS=1"
    echo -n "Activate GPS (${MODEM_CMD}) ... "
    modem_txrx "${MODEM_CMD}"
    echo "${RX_RESULT}"
    if [[ ${RX_RESULT} != "OK" ]] ; then
 	 error "Could not activate GPS"
    fi
    
    sleep 1
    
    MODEM_CMD="AT+IPR=4000000"
    echo -n "Set baud to maximum (${MODEM_CMD}) ... "
    modem_txrx "${MODEM_CMD}"
    echo "${RX_RESULT}"
    if [[ ${RX_RESULT} != "OK" ]] ; then
	error "Could not set baudrate"
#	exit 1
    fi

}

if [[ ${KEY} == "GNX_GSM" ]] ; then 
echo "Begin modem initialisation"
echo "Begin modem initialisation" | ${MODEM_LOG}
echo $(date "+%Y-%m-%d %T") | ${MODEM_LOG}

init_modem
else
echo "The GPS will setup with the GSM"
fi
exit 0
