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:
31:ee99e468f4b9
Parent:
28:bb55def47737
Child:
32:bbf9c8b45a2e
--- a/settings/settings.c	Tue Jan 29 15:09:34 2019 +0000
+++ b/settings/settings.c	Tue Feb 12 15:38:08 2019 +0000
@@ -86,16 +86,16 @@
 static int iTftp;
 
 //Clock settings
-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           ); }
+void SetClockSlewDivisor      (int  value) { ClkGovSlewDivisor            = value; FramWrite(iClkGovSlewDivisor,       4, &ClkGovSlewDivisor           ); }
+void SetClockSlewMaxMs        (int  value) { ClkGovSlewChangeMaxMs        = value; FramWrite(iClkGovSlewMaxMs,         4, &ClkGovSlewChangeMaxMs       ); }
+void SetClockPpbDivisor       (int  value) { ClkGovPpbDivisor             = value; FramWrite(iClkGovPpbDivisor,        4, &ClkGovPpbDivisor            ); }
+void SetClockPpbChangeMax     (int  value) { ClkGovPpbChangeMax           = value; FramWrite(iClkGovPpbChangeMax,      4, &ClkGovPpbChangeMax          ); }
+void SetClockSyncedLimitNs    (int  value) { ClkGovSlewSyncedLimitNs      = value; FramWrite(iClkGovSyncedLimitNs,     4, &ClkGovSlewSyncedLimitNs     ); }
+void SetClockSyncedLimitPpb   (int  value) { ClkGovPpbSyncedLimit         = value; FramWrite(iClkGovSyncedLimitPpb,    4, &ClkGovPpbSyncedLimit        ); }
+void SetClockSyncedHysterisNs (int  value) { ClkGovSlewSyncedHysteresisNs = value; FramWrite(iClkGovSyncedHysterisNs,  4, &ClkGovSlewSyncedHysteresisNs); }
+void SetClockSyncedHysterisPpb(int  value) { ClkGovPpbSyncedHysteresis    = value; FramWrite(iClkGovSyncedHysterisPpb, 4, &ClkGovPpbSyncedHysteresis   ); }
+void SetClockMaxOffsetSecs    (int  value) { ClkGovSlewOffsetMaxSecs      = value; FramWrite(iClkGovMaxOffsetSecs,     4, &ClkGovSlewOffsetMaxSecs     ); }
+void ChgTraceSync             ()           { ClkGovTrace = !ClkGovTrace          ; FramWrite(iClkGov,                  1, &ClkGovTrace                 ); }
 
 //Heating settings
 void ChgTraceOneWire          () {   OneWireTrace        =   !OneWireTrace       ; FramWrite(iOneWire,    1,   &OneWireTrace       ); }
@@ -183,15 +183,15 @@
     int32_t def4;
     char b;
     
-    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;
+    def4 =       10; address = FramLoad( 4, &ClkGovSlewDivisor,            &def4);    if (address < 0) return -1; iClkGovSlewDivisor       = address;
+    def4 =       20; address = FramLoad( 4, &ClkGovSlewChangeMaxMs,        &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, &ClkGovSlewSyncedLimitNs,      &def4);    if (address < 0) return -1; iClkGovSyncedLimitNs     = address;
+    def4 =   100000; address = FramLoad( 4, &ClkGovPpbSyncedLimit,         &def4);    if (address < 0) return -1; iClkGovSyncedLimitPpb    = address;
+    def4 =    10000; address = FramLoad( 4, &ClkGovSlewSyncedHysteresisNs, &def4);    if (address < 0) return -1; iClkGovSyncedHysterisNs  = address;
+    def4 =     1000; address = FramLoad( 4, &ClkGovPpbSyncedHysteresis,    &def4);    if (address < 0) return -1; iClkGovSyncedHysterisPpb = address;
+    def4 =        3; address = FramLoad( 4, &ClkGovSlewOffsetMaxSecs,      &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;