A GPS disciplined clock

Dependencies:   net lpc1768 crypto clock web log

Revision:
41:30c9ee0ea16b
Parent:
36:2983e45eeb49
Child:
42:f14cb9b5a42f
--- a/settings/settings.c	Fri Mar 08 18:47:59 2019 +0000
+++ b/settings/settings.c	Mon Mar 11 10:06:39 2019 +0000
@@ -1,5 +1,6 @@
 #include <stdlib.h>
 #include <stdbool.h>
+#include <string.h>
 
 #include        "gps.h"
 #include       "nmea.h"
@@ -135,6 +136,16 @@
 void SetClockSyncedHysterisNs (int  value) { ClkGovSlewSyncedHysNs   = value; }
 void SetClockMaxOffsetSecs    (int  value) { ClkGovSlewOffsetMaxSecs = value; }
 
+//NTP settings
+static void lblcpy(char* dst, char* src) { strncpy(dst, src, DNS_MAX_LABEL_LENGTH); dst[DNS_MAX_LABEL_LENGTH] = 0; }
+
+void SetNtpClientServerName      ( char* value) { lblcpy(NtpClientQueryServerName,   value); }
+void SetNtpClientInitialInterval ( int   value) { NtpClientQueryInitialInterval    = value ; }
+void SetNtpClientNormalInterval  ( int   value) { NtpClientQueryNormalInterval     = value ; }
+void SetNtpClientRetryInterval   ( int   value) { NtpClientQueryRetryInterval      = value ; }
+void SetNtpClientOffsetMs        ( int   value) { NtpClientReplyOffsetMs           = value ; }
+void SetNtpClientMaxDelayMs      ( int   value) { NtpClientReplyMaxDelayMs         = value ; }
+
 int SettingsInit()
 {
     ClkGovFreqDivisor       =     1000;
@@ -147,6 +158,12 @@
     ClkGovSlewSyncedHysNs   =  1000000; //1ms
     ClkGovSlewOffsetMaxSecs =        3;
     
+    NtpClientQueryInitialInterval    =   2 ;
+    NtpClientQueryNormalInterval     = 600 ;
+    NtpClientQueryRetryInterval      =  60 ;
+    NtpClientReplyOffsetMs           =   0 ;
+    NtpClientReplyMaxDelayMs         = 100 ;
+    
                DnsSendRequestsViaIp4 = false;
     NtpClientQuerySendRequestsViaIp4 = false;
               TftpSendRequestsViaIp4 = true;