diff options
author | Gary E. Miller <gem@rellim.com> | 2009-11-12 22:58:48 +0000 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2009-11-12 22:58:48 +0000 |
commit | ddf41d03f4005e25208c99b1dbf75feb2b999427 (patch) | |
tree | a33d1a3bb333c08c01acad2856cedfb56a837655 | |
parent | 71508647dcf170e7b7a80b234543d5fd2a4098c0 (diff) | |
download | gpsd-ddf41d03f4005e25208c99b1dbf75feb2b999427.tar.gz |
Never give up totally looking for PPS,...
...but be defensive if the CD/RI seems just flapping.
-rw-r--r-- | libgpsd_core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libgpsd_core.c b/libgpsd_core.c index b7580503..87f7d861 100644 --- a/libgpsd_core.c +++ b/libgpsd_core.c @@ -150,12 +150,12 @@ static /*@null@*/void *gpsd_ppsmonitor(void *arg) if (state == laststate) { /* some pulses may be so short that state never changes */ - if ( 999900 < cycle && 1000100 > cycle ) { + if ( 999000 < cycle && 1001000 > cycle ) { duration = 0; unchanged = 0; } else if (++unchanged == 10) { - gpsd_report(LOG_WARN, "TIOCMIWAIT returns unchanged state, ppsmonitor terminates\n"); - break; + gpsd_report(LOG_WARN, "TIOCMIWAIT returns unchanged state, ppsmonitor sleeps 10\n"); + sleep(10); } } else { gpsd_report(LOG_RAW, "pps-detect (%s) on %s changed to %d\n", |