Central Heating controller using the real time clock, PHY module for internet, 1-wire interface for temperature sensors, a system log and a configuration file

Dependencies:   net 1-wire lpc1768 crypto clock web fram log

/media/uploads/andrewboyson/heating.sch

/media/uploads/andrewboyson/heating.brd

/media/uploads/andrewboyson/eagle.epf

Revision:
21:0c9673027ff9
Parent:
13:2ca12dd42e91
Child:
28:bb55def47737
diff -r 904a4f043f2c -r 0c9673027ff9 settings/settings.c
--- a/settings/settings.c	Tue Jan 08 14:08:33 2019 +0000
+++ b/settings/settings.c	Tue Jan 08 21:06:27 2019 +0000
@@ -1,7 +1,7 @@
 #include <stdbool.h>
 #include <stdlib.h>
 
-#include   "clkstate.h"
+#include     "clkgov.h"
 #include       "fram.h"
 #include        "log.h"
 #include        "net.h"
@@ -16,7 +16,6 @@
 #include        "nr4.h"
 #include        "nr6.h"
 #include "ntp-client.h"
-#include    "clksync.h"
 #include     "1-wire.h"
 #include      "echo4.h"
 #include      "echo6.h"
@@ -34,16 +33,16 @@
 #include       "tftp.h"
 #include        "dns.h"
 
-static int iClockSlewDivisor      ;
-static int iClockSlewMaxMs        ;
-static int iClockPpbDivisor       ;
-static int iClockPpbChangeMax     ;
-static int iClockSyncedLimitNs    ;
-static int iClockSyncedLimitPpb   ;
-static int iClockSyncedHysterisNs ;
-static int iClockSyncedHysterisPpb;
-static int iClockMaxOffsetSecs    ;
-static int iClkSync;
+static int iClkGovSlewDivisor      ;
+static int iClkGovSlewMaxMs        ;
+static int iClkGovPpbDivisor       ;
+static int iClkGovPpbChangeMax     ;
+static int iClkGovSyncedLimitNs    ;
+static int iClkGovSyncedLimitPpb   ;
+static int iClkGovSyncedHysterisNs ;
+static int iClkGovSyncedHysterisPpb;
+static int iClkGovMaxOffsetSecs    ;
+static int iClkGov;
 
 static int iOneWire;
 
@@ -85,16 +84,16 @@
 static int iTftp;
 
 //Clock settings
-void SetClockSlewDivisor      (int  value) { ClockSlewDivisor       = value; FramWrite(iClockSlewDivisor,       4, &ClockSlewDivisor      ); }
-void SetClockSlewMaxMs        (int  value) { ClockSlewMaxMs         = value; FramWrite(iClockSlewMaxMs,         4, &ClockSlewMaxMs        ); }
-void SetClockPpbDivisor       (int  value) { ClockPpbDivisor        = value; FramWrite(iClockPpbDivisor,        4, &ClockPpbDivisor       ); }
-void SetClockPpbChangeMax     (int  value) { ClockPpbChangeMax      = value; FramWrite(iClockPpbChangeMax,      4, &ClockPpbChangeMax     ); }
-void SetClockSyncedLimitNs    (int  value) { ClockSyncedLimitNs     = value; FramWrite(iClockSyncedLimitNs,     4, &ClockSyncedLimitNs    ); }
-void SetClockSyncedLimitPpb   (int  value) { ClockSyncedLimitPpb    = value; FramWrite(iClockSyncedLimitPpb,    4, &ClockSyncedLimitPpb   ); }
-void SetClockSyncedHysterisNs (int  value) { ClockSyncedHysterisNs  = value; FramWrite(iClockSyncedHysterisNs,  4, &ClockSyncedHysterisNs ); }
-void SetClockSyncedHysterisPpb(int  value) { ClockSyncedHysterisPpb = value; FramWrite(iClockSyncedHysterisPpb, 4, &ClockSyncedHysterisPpb); }
-void SetClockMaxOffsetSecs    (int  value) { ClockMaxOffsetSecs     = value; FramWrite(iClockMaxOffsetSecs,     4, &ClockMaxOffsetSecs    ); }
-void ChgTraceSync             ()           { ClkSyncTrace = !ClkSyncTrace  ; FramWrite(iClkSync,                1, &ClkSyncTrace          ); }
+void SetClockSlewDivisor      (int  value) { ClkGovSlewDivisor       = value; FramWrite(iClkGovSlewDivisor,       4, &ClkGovSlewDivisor      ); }
+void SetClockSlewMaxMs        (int  value) { ClkGovSlewMaxMs         = value; FramWrite(iClkGovSlewMaxMs,         4, &ClkGovSlewMaxMs        ); }
+void SetClockPpbDivisor       (int  value) { ClkGovPpbDivisor        = value; FramWrite(iClkGovPpbDivisor,        4, &ClkGovPpbDivisor       ); }
+void SetClockPpbChangeMax     (int  value) { ClkGovPpbChangeMax      = value; FramWrite(iClkGovPpbChangeMax,      4, &ClkGovPpbChangeMax     ); }
+void SetClockSyncedLimitNs    (int  value) { ClkGovSyncedLimitNs     = value; FramWrite(iClkGovSyncedLimitNs,     4, &ClkGovSyncedLimitNs    ); }
+void SetClockSyncedLimitPpb   (int  value) { ClkGovSyncedLimitPpb    = value; FramWrite(iClkGovSyncedLimitPpb,    4, &ClkGovSyncedLimitPpb   ); }
+void SetClockSyncedHysterisNs (int  value) { ClkGovSyncedHysterisNs  = value; FramWrite(iClkGovSyncedHysterisNs,  4, &ClkGovSyncedHysterisNs ); }
+void SetClockSyncedHysterisPpb(int  value) { ClkGovSyncedHysterisPpb = value; FramWrite(iClkGovSyncedHysterisPpb, 4, &ClkGovSyncedHysterisPpb); }
+void SetClockMaxOffsetSecs    (int  value) { ClkGovMaxOffsetSecs     = value; FramWrite(iClkGovMaxOffsetSecs,     4, &ClkGovMaxOffsetSecs    ); }
+void ChgTraceSync             ()           { ClkGovTrace = !ClkGovTrace     ; FramWrite(iClkGov,                  1, &ClkGovTrace           ); }
 
 //Heating settings
 void ChgTraceOneWire          () {   OneWireTrace        =   !OneWireTrace       ; FramWrite(iOneWire,    1,   &OneWireTrace       ); }
@@ -149,16 +148,16 @@
     int32_t def4;
     char b;
     
-    def4 =       10; address = FramLoad( 4, &ClockSlewDivisor,       &def4);    if (address < 0) return -1; iClockSlewDivisor       = address;
-    def4 =       20; address = FramLoad( 4, &ClockSlewMaxMs,         &def4);    if (address < 0) return -1; iClockSlewMaxMs         = address;
-    def4 =     1000; address = FramLoad( 4, &ClockPpbDivisor,        &def4);    if (address < 0) return -1; iClockPpbDivisor        = address;
-    def4 = 10000000; address = FramLoad( 4, &ClockPpbChangeMax,      &def4);    if (address < 0) return -1; iClockPpbChangeMax      = address;
-    def4 =   100000; address = FramLoad( 4, &ClockSyncedLimitNs,     &def4);    if (address < 0) return -1; iClockSyncedLimitNs     = address;
-    def4 =   100000; address = FramLoad( 4, &ClockSyncedLimitPpb,    &def4);    if (address < 0) return -1; iClockSyncedLimitPpb    = address;
-    def4 =    10000; address = FramLoad( 4, &ClockSyncedHysterisNs,  &def4);    if (address < 0) return -1; iClockSyncedHysterisNs  = address;
-    def4 =     1000; address = FramLoad( 4, &ClockSyncedHysterisPpb, &def4);    if (address < 0) return -1; iClockSyncedHysterisPpb = address;
-    def4 =        3; address = FramLoad( 4, &ClockMaxOffsetSecs,     &def4);    if (address < 0) return -1; iClockMaxOffsetSecs     = address;
-    address = FramLoad( 1, &b, NULL);  ClkSyncTrace          = b; if (address < 0) return -1; iClkSync     = address;
+    def4 =       10; address = FramLoad( 4, &ClkGovSlewDivisor,       &def4);    if (address < 0) return -1; iClkGovSlewDivisor       = address;
+    def4 =       20; address = FramLoad( 4, &ClkGovSlewMaxMs,         &def4);    if (address < 0) return -1; iClkGovSlewMaxMs         = address;
+    def4 =     1000; address = FramLoad( 4, &ClkGovPpbDivisor,        &def4);    if (address < 0) return -1; iClkGovPpbDivisor        = address;
+    def4 = 10000000; address = FramLoad( 4, &ClkGovPpbChangeMax,      &def4);    if (address < 0) return -1; iClkGovPpbChangeMax      = address;
+    def4 =   100000; address = FramLoad( 4, &ClkGovSyncedLimitNs,     &def4);    if (address < 0) return -1; iClkGovSyncedLimitNs     = address;
+    def4 =   100000; address = FramLoad( 4, &ClkGovSyncedLimitPpb,    &def4);    if (address < 0) return -1; iClkGovSyncedLimitPpb    = address;
+    def4 =    10000; address = FramLoad( 4, &ClkGovSyncedHysterisNs,  &def4);    if (address < 0) return -1; iClkGovSyncedHysterisNs  = address;
+    def4 =     1000; address = FramLoad( 4, &ClkGovSyncedHysterisPpb, &def4);    if (address < 0) return -1; iClkGovSyncedHysterisPpb = address;
+    def4 =        3; address = FramLoad( 4, &ClkGovMaxOffsetSecs,     &def4);    if (address < 0) return -1; iClkGovMaxOffsetSecs     = address;
+    address = FramLoad( 1, &b, NULL);   ClkGovTrace          = b; if (address < 0) return -1; iClkGov      = address;
     address = FramLoad( 1, &b, NULL);  OneWireTrace          = b; if (address < 0) return -1; iOneWire     = address;
     address = FramLoad( 1, &b, NULL);  DnsSendRequestsViaIp4 = b; if (address < 0) return -1; iDnsSendRequestsViaIp4  = address;
     address = FramLoad( 1, &b, NULL);  NtpSendRequestsViaIp4 = b; if (address < 0) return -1; iNtpSendRequestsViaIp4  = address;