#!/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

