]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
[Bug 3694] NMEA refclock appears to unnecessarily require location in messages
authorJuergen Perlinger <perlinger@ntp.org>
Sat, 17 Oct 2020 14:06:54 +0000 (16:06 +0200)
committerJuergen Perlinger <perlinger@ntp.org>
Sat, 17 Oct 2020 14:06:54 +0000 (16:06 +0200)
 - add/describe 'ignore receiver status' bit

bk: 5f8afa7eeVR9PkfsLoUluIQfmh__KA

ChangeLog
html/drivers/driver20.html
ntpd/refclock_nmea.c

index eeceaa9f10cb57b56caf561eaab50a81ec861f63..005ec1eef0fa58ab413e73e64af389e5783ba808 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+---
+* [Bug 3694] NMEA refclock appears to unnecessarily require location in messages
+  - misleading title; essentially a request to ignore the receiver status.
+    Added a mode bit for this. <perlinger@ntp.org>
+
 ---
 (4.2.8p15) 2020/06/23 Released by Harlan Stenn <stenn@ntp.org>
 
index 1c3ac782f7686824d333dd0ef5a59bb9ed6b213a..ea9aa01257fe0908f7a0f74d33766dfbe3d0da03 100644 (file)
@@ -13,7 +13,7 @@
   <body>
     <h3>Generic NMEA GPS Receiver</h3>
 <p>Last update:
-  <!-- #BeginDate format:En2m -->13-Jan-2020  07:12<!-- #EndDate -->
+  <!-- #BeginDate format:En2m -->17-Oct-2020  16:00<!-- #EndDate -->
   UTC</p>
     <hr>
     <h4>Synopsis</h4>
           See <a href="#datetrust">below</a>. <strong>Caveat:</strong>
           This (hitherto undocumented) bit has moved!
        </td>
+       </tr><tr>
+        <td align="center">19</td>
+        <td align="center">524288</td>
+        <td align="center">0x80000</td>
+        <td>Ignore receiver status, assume time is always good as long
+         as it is present at all.  A possible option for receivers
+         with a good hold-over characteristic, but most likely
+         harmful in general. Use at own risk.
+       </td>
       </tr>
     </tbody></table> 
 
index 1d7997c6aaf99bdbcb7a0957e4f7de5ee23d519d..237eafabfedd7ea07ae81d9bc7beae4ac5c8b936 100644 (file)
@@ -93,6 +93,7 @@
 #define NMEA_EXTLOG_MASK       0x00010000U
 #define NMEA_QUIETPPS_MASK     0x00020000U
 #define NMEA_DATETRUST_MASK    0x00040000U
+#define NMEA_IGNSTATUS_MASK    0x00080000U
 
 #define NMEA_PROTO_IDLEN       4       /* tag name must be at least 4 chars */
 #define NMEA_PROTO_MINLEN      6       /* min chars in sentence, excluding CS */
@@ -875,6 +876,11 @@ nmea_procrec(
                return;
        }
 
+       /* ignore receiver status? [bug 3694] */
+       if (peer->ttl & NMEA_IGNSTATUS_MASK) { /* assume always good? */
+               pp->leap = LEAP_NOWARNING;
+       }
+       
        /* check clock sanity; [bug 2143] */
        if (pp->leap == LEAP_NOTINSYNC) { /* no good status? */
                checkres = CEVNT_PROP;