#!/bin/sh

# check GPS PPS status

GPS_NOK=2
logf=/var/local/telem/log/gps.log

while [ true ]; do
    ntpq -p > /tmp/ntpgpsstate
    grep 'oGPS_NMEA(0)' /tmp/ntpgpsstate >/dev/null
    res=$?

#     grep 'oPPS(0)' /tmp/ntpgpsstate >/dev/null && rm /var/local/telem/errors/gps_invalid 2>/dev/null || touch /var/local/telem/errors/gps_invalid

    if [ $res = 1 ]; then
        # gps invalid
        touch /var/local/telem/errors/gps_invalid

        if [ $res != $GPS_NOK ]; then
            echo "$(date) - GPS Invalid (PPS)" >> "$logf"
        fi

    else
        # gps ok
        rm /var/local/telem/errors/gps_invalid 2>/dev/null 

        if [ $res != $GPS_NOK ]; then
            echo "$(date) - GPS OK (PPS)" >> "$logf"
        fi
    fi

    GPS_NOK=$res

    sleep 20
done

