Andrew Boyson / Mbed 2 deprecated heating

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

Committer:
andrewboyson
Date:
Thu May 13 16:49:56 2021 +0000
Revision:
3:f1464bf461c1
Parent:
0:22b158d3c76f
Child:
5:3579001bea1b
Moved settings setup from being split up amongst all the modules which have settings to the settings init routine. This makes it much easier to add settings without displacing those which exist already.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 0:22b158d3c76f 1 #include <stdbool.h>
andrewboyson 0:22b158d3c76f 2 #include <stdlib.h>
andrewboyson 0:22b158d3c76f 3 #include <string.h>
andrewboyson 0:22b158d3c76f 4
andrewboyson 0:22b158d3c76f 5 #include "clkgov.h"
andrewboyson 0:22b158d3c76f 6 #include "fram.h"
andrewboyson 0:22b158d3c76f 7 #include "log.h"
andrewboyson 0:22b158d3c76f 8 #include "net.h"
andrewboyson 0:22b158d3c76f 9 #include "link.h"
andrewboyson 0:22b158d3c76f 10 #include "dnsname.h"
andrewboyson 0:22b158d3c76f 11 #include "dnsquery.h"
andrewboyson 0:22b158d3c76f 12 #include "dnsreply.h"
andrewboyson 0:22b158d3c76f 13 #include "dnsserver.h"
andrewboyson 0:22b158d3c76f 14 #include "dnslabel.h"
andrewboyson 0:22b158d3c76f 15 #include "ntp.h"
andrewboyson 0:22b158d3c76f 16 #include "dhcp.h"
andrewboyson 0:22b158d3c76f 17 #include "ns.h"
andrewboyson 0:22b158d3c76f 18 #include "nr.h"
andrewboyson 0:22b158d3c76f 19 #include "ntpclient.h"
andrewboyson 0:22b158d3c76f 20 #include "1-wire.h"
andrewboyson 0:22b158d3c76f 21 #include "echo4.h"
andrewboyson 0:22b158d3c76f 22 #include "echo6.h"
andrewboyson 0:22b158d3c76f 23 #include "dest6.h"
andrewboyson 0:22b158d3c76f 24 #include "ra.h"
andrewboyson 0:22b158d3c76f 25 #include "rs.h"
andrewboyson 0:22b158d3c76f 26 #include "ar4.h"
andrewboyson 0:22b158d3c76f 27 #include "ar6.h"
andrewboyson 0:22b158d3c76f 28 #include "arp.h"
andrewboyson 0:22b158d3c76f 29 #include "ip4.h"
andrewboyson 0:22b158d3c76f 30 #include "ip6.h"
andrewboyson 0:22b158d3c76f 31 #include "udp.h"
andrewboyson 0:22b158d3c76f 32 #include "tcp.h"
andrewboyson 0:22b158d3c76f 33 #include "web.h"
andrewboyson 0:22b158d3c76f 34 #include "tftp.h"
andrewboyson 0:22b158d3c76f 35 #include "dns.h"
andrewboyson 0:22b158d3c76f 36 #include "led.h"
andrewboyson 3:f1464bf461c1 37 #include "program.h"
andrewboyson 0:22b158d3c76f 38 #include "wiz.h"
andrewboyson 0:22b158d3c76f 39 #include "wiz-list.h"
andrewboyson 0:22b158d3c76f 40 #include "wiz-sched.h"
andrewboyson 0:22b158d3c76f 41
andrewboyson 0:22b158d3c76f 42 static int iClkGovSlewDivisor ;
andrewboyson 0:22b158d3c76f 43 static int iClkGovSlewMaxMs ;
andrewboyson 0:22b158d3c76f 44 static int iClkGovPpbDivisor ;
andrewboyson 0:22b158d3c76f 45 static int iClkGovPpbChangeMax ;
andrewboyson 0:22b158d3c76f 46 static int iClkGovSyncedLimitNs ;
andrewboyson 0:22b158d3c76f 47 static int iClkGovSyncedLimitPpb ;
andrewboyson 0:22b158d3c76f 48 static int iClkGovSyncedHysterisNs ;
andrewboyson 0:22b158d3c76f 49 static int iClkGovSyncedHysterisPpb;
andrewboyson 0:22b158d3c76f 50 static int iClkGovMaxOffsetSecs ;
andrewboyson 0:22b158d3c76f 51 static int iClkGov;
andrewboyson 0:22b158d3c76f 52
andrewboyson 0:22b158d3c76f 53 static int iOneWire;
andrewboyson 0:22b158d3c76f 54
andrewboyson 0:22b158d3c76f 55 static int iDnsSendRequestsViaIp4 ;
andrewboyson 0:22b158d3c76f 56 static int iNtpSendRequestsViaIp4 ;
andrewboyson 0:22b158d3c76f 57 static int iTftpSendRequestsViaIp4;
andrewboyson 0:22b158d3c76f 58
andrewboyson 0:22b158d3c76f 59 static int iNetHost;
andrewboyson 0:22b158d3c76f 60 static int iLogUart;
andrewboyson 0:22b158d3c76f 61 static int iNetStack;
andrewboyson 0:22b158d3c76f 62 static int iNetNewLine;
andrewboyson 0:22b158d3c76f 63 static int iNetVerbose;
andrewboyson 0:22b158d3c76f 64 static int iLink;
andrewboyson 0:22b158d3c76f 65 static int iDnsName;
andrewboyson 0:22b158d3c76f 66 static int iDnsQuery;
andrewboyson 0:22b158d3c76f 67 static int iDnsReply;
andrewboyson 0:22b158d3c76f 68 static int iDnsServer;
andrewboyson 0:22b158d3c76f 69 static int iNtp;
andrewboyson 0:22b158d3c76f 70 static int iDhcp;
andrewboyson 0:22b158d3c76f 71 static int iNsRecvSol;
andrewboyson 0:22b158d3c76f 72 static int iNsRecvAdv;
andrewboyson 0:22b158d3c76f 73 static int iNsSendSol;
andrewboyson 0:22b158d3c76f 74 static int iNr4;
andrewboyson 0:22b158d3c76f 75 static int iNr;
andrewboyson 0:22b158d3c76f 76 static int iNtpClient;
andrewboyson 0:22b158d3c76f 77 static int iEcho4;
andrewboyson 0:22b158d3c76f 78 static int iEcho6;
andrewboyson 0:22b158d3c76f 79 static int iDest6;
andrewboyson 0:22b158d3c76f 80 static int iRa;
andrewboyson 0:22b158d3c76f 81 static int iRs;
andrewboyson 0:22b158d3c76f 82 static int iAr4;
andrewboyson 0:22b158d3c76f 83 static int iAr6;
andrewboyson 0:22b158d3c76f 84 static int iArp;
andrewboyson 0:22b158d3c76f 85 static int iIp4;
andrewboyson 0:22b158d3c76f 86 static int iIp6;
andrewboyson 0:22b158d3c76f 87 static int iUdp;
andrewboyson 0:22b158d3c76f 88 static int iTcp;
andrewboyson 0:22b158d3c76f 89 static int iHttp;
andrewboyson 0:22b158d3c76f 90 static int iTftp;
andrewboyson 0:22b158d3c76f 91
andrewboyson 0:22b158d3c76f 92 //Values
andrewboyson 0:22b158d3c76f 93 static int iValuesServerName;
andrewboyson 0:22b158d3c76f 94 void SetValuesServerName(char* value) { FramWrite(iValuesServerName, DNS_MAX_LABEL_LENGTH, value); }
andrewboyson 0:22b158d3c76f 95 void GetValuesServerName(char* value) { FramRead (iValuesServerName, DNS_MAX_LABEL_LENGTH, value); value[DNS_MAX_LABEL_LENGTH] = 0; }
andrewboyson 0:22b158d3c76f 96
andrewboyson 0:22b158d3c76f 97 static int iValuesFileName;
andrewboyson 0:22b158d3c76f 98 void SetValuesFileName(char* value) { FramWrite(iValuesFileName, DNS_MAX_LABEL_LENGTH, value); }
andrewboyson 0:22b158d3c76f 99 void GetValuesFileName(char* value) { FramRead (iValuesFileName, DNS_MAX_LABEL_LENGTH, value); value[DNS_MAX_LABEL_LENGTH] = 0; }
andrewboyson 0:22b158d3c76f 100
andrewboyson 0:22b158d3c76f 101 static int iValuesWriteSize;
andrewboyson 0:22b158d3c76f 102 void SetValuesWriteSize(int* pValue) { FramWrite(iValuesWriteSize, 4, pValue); }
andrewboyson 0:22b158d3c76f 103 void GetValuesWriteSize(int* pValue) { FramRead (iValuesWriteSize, 4, pValue); }
andrewboyson 0:22b158d3c76f 104
andrewboyson 0:22b158d3c76f 105 static int iValuesReadInterval;
andrewboyson 0:22b158d3c76f 106 void SetValuesReadInterval(int* pValue) { FramWrite(iValuesReadInterval, 4, pValue); }
andrewboyson 0:22b158d3c76f 107 void GetValuesReadInterval(int* pValue) { FramRead (iValuesReadInterval, 4, pValue); }
andrewboyson 0:22b158d3c76f 108
andrewboyson 0:22b158d3c76f 109 static int iValuesStartTime;
andrewboyson 0:22b158d3c76f 110 void SetValuesStartTime(int64_t* pValue) { FramWrite(iValuesStartTime, 8, pValue); }
andrewboyson 0:22b158d3c76f 111 void GetValuesStartTime(int64_t* pValue) { FramRead (iValuesStartTime, 8, pValue); }
andrewboyson 0:22b158d3c76f 112
andrewboyson 0:22b158d3c76f 113 static int iValuesCount;
andrewboyson 0:22b158d3c76f 114 void SetValuesCount(int* pValue) { FramWrite(iValuesCount, 4, pValue); }
andrewboyson 0:22b158d3c76f 115 void GetValuesCount(int* pValue) { FramRead (iValuesCount, 4, pValue); }
andrewboyson 0:22b158d3c76f 116
andrewboyson 0:22b158d3c76f 117 static int iValuesData;
andrewboyson 0:22b158d3c76f 118 void GetValuesData(int index, char* pValue) { FramRead (iValuesData + index, 1, pValue); }
andrewboyson 0:22b158d3c76f 119 void SetValuesData(int count, void* pValue) { FramWrite(iValuesData + 8 * count, 8, pValue); }
andrewboyson 0:22b158d3c76f 120
andrewboyson 0:22b158d3c76f 121 //Wiz settings
andrewboyson 0:22b158d3c76f 122 static int iWizTrace;
andrewboyson 0:22b158d3c76f 123 static int iWizMacs [WIZ_LIST_MAX_ITEMS];
andrewboyson 0:22b158d3c76f 124 static int iWizNames [WIZ_LIST_MAX_ITEMS];
andrewboyson 0:22b158d3c76f 125 static int iWizRooms [WIZ_LIST_MAX_ITEMS];
andrewboyson 0:22b158d3c76f 126 static int iWizSchedNames [WIZ_SCHED_MAX_ITEMS];
andrewboyson 0:22b158d3c76f 127 static int iWizSchedOnDatums [WIZ_SCHED_MAX_ITEMS];
andrewboyson 0:22b158d3c76f 128 static int iWizSchedOnMinutes [WIZ_SCHED_MAX_ITEMS];
andrewboyson 0:22b158d3c76f 129 static int iWizSchedOffDatums [WIZ_SCHED_MAX_ITEMS];
andrewboyson 0:22b158d3c76f 130 static int iWizSchedOffMinutes[WIZ_SCHED_MAX_ITEMS];
andrewboyson 0:22b158d3c76f 131
andrewboyson 0:22b158d3c76f 132 void ChgTraceWiz () { WizTrace = !WizTrace; FramWrite(iWizTrace, 1, &WizTrace); }
andrewboyson 0:22b158d3c76f 133 void SetWizListMac (int i, char* pMac ) { FramWrite(iWizMacs [i], 6, pMac ); }
andrewboyson 0:22b158d3c76f 134 void GetWizListMac (int i, char* pMac ) { FramRead (iWizMacs [i], 6, pMac ); }
andrewboyson 0:22b158d3c76f 135 void SetWizListName (int i, char* pText ) { FramWrite(iWizNames [i], WIZ_LIST_NAME_LENGTH, pText ); }
andrewboyson 0:22b158d3c76f 136 void GetWizListName (int i, char* pText ) { FramRead (iWizNames [i], WIZ_LIST_NAME_LENGTH, pText ); }
andrewboyson 0:22b158d3c76f 137 void SetWizListRoom (int i, char* pText ) { FramWrite(iWizRooms [i], WIZ_LIST_NAME_LENGTH, pText ); }
andrewboyson 0:22b158d3c76f 138 void GetWizListRoom (int i, char* pText ) { FramRead (iWizRooms [i], WIZ_LIST_NAME_LENGTH, pText ); }
andrewboyson 0:22b158d3c76f 139 void SetWizSchedName (int i, char* pText ) { FramWrite(iWizSchedNames [i], WIZ_LIST_NAME_LENGTH, pText ); }
andrewboyson 0:22b158d3c76f 140 void GetWizSchedName (int i, char* pText ) { FramRead (iWizSchedNames [i], WIZ_LIST_NAME_LENGTH, pText ); }
andrewboyson 0:22b158d3c76f 141 void SetWizSchedOnDatum (int i, char* pDatum ) { FramWrite(iWizSchedOnDatums [i], 1, pDatum ); }
andrewboyson 0:22b158d3c76f 142 void GetWizSchedOnDatum (int i, char* pDatum ) { FramRead (iWizSchedOnDatums [i], 1, pDatum ); }
andrewboyson 0:22b158d3c76f 143 void SetWizSchedOnMinutes (int i, int16_t* pMinutes) { FramWrite(iWizSchedOnMinutes [i], 2, pMinutes); }
andrewboyson 0:22b158d3c76f 144 void GetWizSchedOnMinutes (int i, int16_t* pMinutes) { FramRead (iWizSchedOnMinutes [i], 2, pMinutes); }
andrewboyson 0:22b158d3c76f 145 void SetWizSchedOffDatum (int i, char* pDatum ) { FramWrite(iWizSchedOffDatums [i], 1, pDatum ); }
andrewboyson 0:22b158d3c76f 146 void GetWizSchedOffDatum (int i, char* pDatum ) { FramRead (iWizSchedOffDatums [i], 1, pDatum ); }
andrewboyson 0:22b158d3c76f 147 void SetWizSchedOffMinutes(int i, int16_t* pMinutes) { FramWrite(iWizSchedOffMinutes[i], 2, pMinutes); }
andrewboyson 0:22b158d3c76f 148 void GetWizSchedOffMinutes(int i, int16_t* pMinutes) { FramRead (iWizSchedOffMinutes[i], 2, pMinutes); }
andrewboyson 0:22b158d3c76f 149
andrewboyson 0:22b158d3c76f 150 //Clock settings
andrewboyson 0:22b158d3c76f 151 void SetClockSlewDivisor (int value) { ClkGovSlewDivisor = value; FramWrite(iClkGovSlewDivisor, 4, &ClkGovSlewDivisor ); }
andrewboyson 0:22b158d3c76f 152 void SetClockSlewMaxMs (int value) { ClkGovSlewChangeMaxMs = value; FramWrite(iClkGovSlewMaxMs, 4, &ClkGovSlewChangeMaxMs ); }
andrewboyson 0:22b158d3c76f 153 void SetClockPpbDivisor (int value) { ClkGovFreqDivisor = value; FramWrite(iClkGovPpbDivisor, 4, &ClkGovFreqDivisor ); }
andrewboyson 0:22b158d3c76f 154 void SetClockPpbChangeMax (int value) { ClkGovFreqChangeMaxPpb = value; FramWrite(iClkGovPpbChangeMax, 4, &ClkGovFreqChangeMaxPpb ); }
andrewboyson 0:22b158d3c76f 155 void SetClockSyncedLimitNs (int value) { ClkGovSlewSyncedLimNs = value; FramWrite(iClkGovSyncedLimitNs, 4, &ClkGovSlewSyncedLimNs ); }
andrewboyson 0:22b158d3c76f 156 void SetClockSyncedLimitPpb (int value) { ClkGovFreqSyncedLimPpb = value; FramWrite(iClkGovSyncedLimitPpb, 4, &ClkGovFreqSyncedLimPpb ); }
andrewboyson 0:22b158d3c76f 157 void SetClockSyncedHysterisNs (int value) { ClkGovSlewSyncedHysNs = value; FramWrite(iClkGovSyncedHysterisNs, 4, &ClkGovSlewSyncedHysNs ); }
andrewboyson 0:22b158d3c76f 158 void SetClockSyncedHysterisPpb(int value) { ClkGovFreqSyncedHysPpb = value; FramWrite(iClkGovSyncedHysterisPpb, 4, &ClkGovFreqSyncedHysPpb ); }
andrewboyson 0:22b158d3c76f 159 void SetClockMaxOffsetSecs (int value) { ClkGovSlewOffsetMaxSecs = value; FramWrite(iClkGovMaxOffsetSecs, 4, &ClkGovSlewOffsetMaxSecs); }
andrewboyson 0:22b158d3c76f 160 void ChgTraceSync () { ClkGovTrace = !ClkGovTrace ; FramWrite(iClkGov, 1, &ClkGovTrace ); }
andrewboyson 0:22b158d3c76f 161
andrewboyson 0:22b158d3c76f 162 //Log settings
andrewboyson 0:22b158d3c76f 163 void ChgLogUart () { LogUart = !LogUart; FramWrite(iLogUart, 1, &LogUart ); }
andrewboyson 0:22b158d3c76f 164
andrewboyson 0:22b158d3c76f 165 //Heating settings
andrewboyson 0:22b158d3c76f 166 void ChgTraceOneWire () { OneWireTrace = !OneWireTrace ; FramWrite(iOneWire, 1, &OneWireTrace ); }
andrewboyson 0:22b158d3c76f 167
andrewboyson 0:22b158d3c76f 168 //Net settings
andrewboyson 0:22b158d3c76f 169 void ChgDnsSendRequestsViaIp4 () { DnsSendRequestsViaIp4 = !DnsSendRequestsViaIp4; FramWrite( iDnsSendRequestsViaIp4, 1, &DnsSendRequestsViaIp4); }
andrewboyson 0:22b158d3c76f 170 void ChgNtpSendRequestsViaIp4 () { NtpClientQuerySendRequestsViaIp4 = !NtpClientQuerySendRequestsViaIp4; FramWrite( iNtpSendRequestsViaIp4, 1, &NtpClientQuerySendRequestsViaIp4); }
andrewboyson 0:22b158d3c76f 171 void ChgTftpSendRequestsViaIp4 () { TftpSendRequestsViaIp4 = !TftpSendRequestsViaIp4; FramWrite(iTftpSendRequestsViaIp4, 1, &TftpSendRequestsViaIp4); }
andrewboyson 0:22b158d3c76f 172
andrewboyson 0:22b158d3c76f 173 void SetTraceNetHost (char* text)
andrewboyson 0:22b158d3c76f 174 {
andrewboyson 0:22b158d3c76f 175 int value = strtol(text, NULL, 16);
andrewboyson 0:22b158d3c76f 176 NetTraceHost[1] = value & 0xFF;
andrewboyson 0:22b158d3c76f 177 NetTraceHost[0] = (value >> 8) & 0xFF;
andrewboyson 0:22b158d3c76f 178 FramWrite(iNetHost, 2, NetTraceHost);
andrewboyson 0:22b158d3c76f 179 }
andrewboyson 0:22b158d3c76f 180 void ChgTraceNetStack () { NetTraceStack = !NetTraceStack; FramWrite(iNetStack, 1, &NetTraceStack ); }
andrewboyson 0:22b158d3c76f 181 void ChgTraceNetNewLine() { NetTraceNewLine = !NetTraceNewLine; FramWrite(iNetNewLine, 1, &NetTraceNewLine); }
andrewboyson 0:22b158d3c76f 182 void ChgTraceNetVerbose() { NetTraceVerbose = !NetTraceVerbose; FramWrite(iNetVerbose, 1, &NetTraceVerbose); }
andrewboyson 0:22b158d3c76f 183 void ChgTraceLink () { LinkTrace = !LinkTrace; FramWrite(iLink, 1, &LinkTrace ); }
andrewboyson 0:22b158d3c76f 184 void ChgTraceDnsName () { DnsNameTrace = !DnsNameTrace; FramWrite(iDnsName, 1, &DnsNameTrace ); }
andrewboyson 0:22b158d3c76f 185 void ChgTraceDnsQuery () { DnsQueryTrace = !DnsQueryTrace; FramWrite(iDnsQuery, 1, &DnsQueryTrace ); }
andrewboyson 0:22b158d3c76f 186 void ChgTraceDnsReply () { DnsReplyTrace = !DnsReplyTrace; FramWrite(iDnsReply, 1, &DnsReplyTrace ); }
andrewboyson 0:22b158d3c76f 187 void ChgTraceDnsServer () { DnsServerTrace = !DnsServerTrace; FramWrite(iDnsServer, 1, &DnsServerTrace ); }
andrewboyson 0:22b158d3c76f 188 void ChgTraceNtp () { NtpTrace = !NtpTrace; FramWrite(iNtp, 1, &NtpTrace ); }
andrewboyson 0:22b158d3c76f 189 void ChgTraceDhcp () { DhcpTrace = !DhcpTrace; FramWrite(iDhcp, 1, &DhcpTrace ); }
andrewboyson 0:22b158d3c76f 190 void ChgTraceNsRecvSol () { NsTraceRecvSol = !NsTraceRecvSol; FramWrite(iNsRecvSol, 1, &NsTraceRecvSol); }
andrewboyson 0:22b158d3c76f 191 void ChgTraceNsRecvAdv () { NsTraceRecvAdv = !NsTraceRecvAdv; FramWrite(iNsRecvAdv, 1, &NsTraceRecvAdv); }
andrewboyson 0:22b158d3c76f 192 void ChgTraceNsSendSol () { NsTraceSendSol = !NsTraceSendSol; FramWrite(iNsSendSol, 1, &NsTraceSendSol); }
andrewboyson 0:22b158d3c76f 193 void ChgTraceNr4 () { Nr4Trace = !Nr4Trace ; FramWrite(iNr4, 1, &Nr4Trace ); }
andrewboyson 0:22b158d3c76f 194 void ChgTraceNr () { NrTrace = !NrTrace ; FramWrite(iNr, 1, &NrTrace ); }
andrewboyson 0:22b158d3c76f 195 void ChgTraceNtpClient () { NtpClientTrace = !NtpClientTrace ; FramWrite(iNtpClient, 1, &NtpClientTrace ); }
andrewboyson 0:22b158d3c76f 196 void ChgTraceEcho4 () { Echo4Trace = !Echo4Trace ; FramWrite(iEcho4, 1, &Echo4Trace ); }
andrewboyson 0:22b158d3c76f 197 void ChgTraceEcho6 () { Echo6Trace = !Echo6Trace ; FramWrite(iEcho6, 1, &Echo6Trace ); }
andrewboyson 0:22b158d3c76f 198 void ChgTraceDest6 () { Dest6Trace = !Dest6Trace ; FramWrite(iDest6, 1, &Dest6Trace ); }
andrewboyson 0:22b158d3c76f 199 void ChgTraceRa () { RaTrace = !RaTrace ; FramWrite(iRa, 1, &RaTrace ); }
andrewboyson 0:22b158d3c76f 200 void ChgTraceRs () { RsTrace = !RsTrace ; FramWrite(iRs, 1, &RsTrace ); }
andrewboyson 0:22b158d3c76f 201 void ChgTraceAr4 () { Ar4Trace = !Ar4Trace ; FramWrite(iAr4, 1, &Ar4Trace ); }
andrewboyson 0:22b158d3c76f 202 void ChgTraceAr6 () { Ar6Trace = !Ar6Trace ; FramWrite(iAr6, 1, &Ar6Trace ); }
andrewboyson 0:22b158d3c76f 203 void ChgTraceArp () { ArpTrace = !ArpTrace ; FramWrite(iArp, 1, &ArpTrace ); }
andrewboyson 0:22b158d3c76f 204 void ChgTraceIp4 () { Ip4Trace = !Ip4Trace ; FramWrite(iIp4, 1, &Ip4Trace ); }
andrewboyson 0:22b158d3c76f 205 void ChgTraceIp6 () { Ip6Trace = !Ip6Trace ; FramWrite(iIp6, 1, &Ip6Trace ); }
andrewboyson 0:22b158d3c76f 206 void ChgTraceUdp () { UdpTrace = !UdpTrace ; FramWrite(iUdp, 1, &UdpTrace ); }
andrewboyson 0:22b158d3c76f 207 void ChgTraceTcp () { TcpTrace = !TcpTrace ; FramWrite(iTcp, 1, &TcpTrace ); }
andrewboyson 0:22b158d3c76f 208 void ChgTraceHttp () { WebTrace = !WebTrace ; FramWrite(iHttp, 1, &WebTrace ); }
andrewboyson 0:22b158d3c76f 209 void ChgTraceTftp () { TftpTrace = !TftpTrace ; FramWrite(iTftp, 1, &TftpTrace ); }
andrewboyson 0:22b158d3c76f 210
andrewboyson 0:22b158d3c76f 211 static int iServerName;
andrewboyson 0:22b158d3c76f 212 static int iInitialInterval;
andrewboyson 0:22b158d3c76f 213 static int iNormalInterval;
andrewboyson 0:22b158d3c76f 214 static int iRetryInterval;
andrewboyson 0:22b158d3c76f 215 static int iOffsetMs;
andrewboyson 0:22b158d3c76f 216 static int iMaxDelayMs;
andrewboyson 0:22b158d3c76f 217
andrewboyson 0:22b158d3c76f 218 void SetNtpClientServerName ( char* value) { DnsLabelCopy(NtpClientQueryServerName, value); FramWrite(iServerName, DNS_MAX_LABEL_LENGTH, NtpClientQueryServerName ); }
andrewboyson 0:22b158d3c76f 219 void SetNtpClientInitialInterval ( int value) { NtpClientQueryInitialInterval = (int32_t)value ; FramWrite(iInitialInterval, 4, &NtpClientQueryInitialInterval ); }
andrewboyson 0:22b158d3c76f 220 void SetNtpClientNormalInterval ( int value) { NtpClientQueryNormalInterval = (int32_t)value ; FramWrite(iNormalInterval, 4, &NtpClientQueryNormalInterval ); }
andrewboyson 0:22b158d3c76f 221 void SetNtpClientRetryInterval ( int value) { NtpClientQueryRetryInterval = (int32_t)value ; FramWrite(iRetryInterval, 4, &NtpClientQueryRetryInterval ); }
andrewboyson 0:22b158d3c76f 222 void SetNtpClientOffsetMs ( int value) { NtpClientReplyOffsetMs = (int32_t)value ; FramWrite(iOffsetMs, 4, &NtpClientReplyOffsetMs ); }
andrewboyson 0:22b158d3c76f 223 void SetNtpClientMaxDelayMs ( int value) { NtpClientReplyMaxDelayMs = (int32_t)value ; FramWrite(iMaxDelayMs, 4, &NtpClientReplyMaxDelayMs ); }
andrewboyson 0:22b158d3c76f 224
andrewboyson 3:f1464bf461c1 225 static int iTankRom;
andrewboyson 3:f1464bf461c1 226 static int iOutputRom;
andrewboyson 3:f1464bf461c1 227 static int iReturnRom;
andrewboyson 3:f1464bf461c1 228 static int iFullSpeedSecs;
andrewboyson 3:f1464bf461c1 229 static int iTankSetPoint;
andrewboyson 3:f1464bf461c1 230 static int iTankHysteresis;
andrewboyson 3:f1464bf461c1 231 static int iRunOnDeltaT;
andrewboyson 3:f1464bf461c1 232 static int iRunOnTime2s;
andrewboyson 3:f1464bf461c1 233 static int iPumpSpeedCalling;
andrewboyson 3:f1464bf461c1 234 static int iRampDownTime;
andrewboyson 3:f1464bf461c1 235 static int iBoilerTarget;
andrewboyson 3:f1464bf461c1 236 static int iMinSpeed;
andrewboyson 3:f1464bf461c1 237 static int iMidSpeedPwm;
andrewboyson 3:f1464bf461c1 238 static int iFullSpeedDeltaT;
andrewboyson 3:f1464bf461c1 239
andrewboyson 3:f1464bf461c1 240 static int iWinter;
andrewboyson 3:f1464bf461c1 241 static int iHallRom;
andrewboyson 3:f1464bf461c1 242 static int iOverrideCancelHour;
andrewboyson 3:f1464bf461c1 243 static int iOverrideCancelMinute;
andrewboyson 3:f1464bf461c1 244 static int iNightTemperature;
andrewboyson 3:f1464bf461c1 245 static int iFrostTemperature;
andrewboyson 3:f1464bf461c1 246
andrewboyson 3:f1464bf461c1 247 static int iProgramDay;
andrewboyson 3:f1464bf461c1 248 static int iPrograms;
andrewboyson 3:f1464bf461c1 249 static int iProgramNewDayHour;
andrewboyson 3:f1464bf461c1 250
andrewboyson 3:f1464bf461c1 251 static int iHotWaterRom;
andrewboyson 3:f1464bf461c1 252
andrewboyson 3:f1464bf461c1 253 void SetTankRom (char* value) { FramWrite(iTankRom, 8, value); }
andrewboyson 3:f1464bf461c1 254 void GetTankRom (char* value) { FramRead (iTankRom, 8, value); }
andrewboyson 3:f1464bf461c1 255 void SetOutputRom (char* value) { FramWrite(iOutputRom, 8, value); }
andrewboyson 3:f1464bf461c1 256 void GetOutputRom (char* value) { FramRead (iOutputRom, 8, value); }
andrewboyson 3:f1464bf461c1 257 void SetReturnRom (char* value) { FramWrite(iReturnRom, 8, value); }
andrewboyson 3:f1464bf461c1 258 void GetReturnRom (char* value) { FramRead (iReturnRom, 8, value); }
andrewboyson 3:f1464bf461c1 259 void SetBoilerFullSpeedSecs (int8_t* pValue) { FramWrite(iFullSpeedSecs, 1, pValue); }
andrewboyson 3:f1464bf461c1 260 void GetBoilerFullSpeedSecs (int8_t* pValue) { FramRead (iFullSpeedSecs, 1, pValue); }
andrewboyson 3:f1464bf461c1 261 void SetTankSetPoint (int8_t* pValue) { FramWrite(iTankSetPoint, 1, pValue); }
andrewboyson 3:f1464bf461c1 262 void GetTankSetPoint (int8_t* pValue) { FramRead (iTankSetPoint, 1, pValue); }
andrewboyson 3:f1464bf461c1 263 void SetTankHysteresis (int16_t* pValue) { FramWrite(iTankHysteresis, 2, pValue); }
andrewboyson 3:f1464bf461c1 264 void GetTankHysteresis (int16_t* pValue) { FramRead (iTankHysteresis, 2, pValue); }
andrewboyson 3:f1464bf461c1 265 void SetBoilerRunOnDeltaT (int16_t* pValue) { FramWrite(iRunOnDeltaT, 2, pValue); }
andrewboyson 3:f1464bf461c1 266 void GetBoilerRunOnDeltaT (int16_t* pValue) { FramRead (iRunOnDeltaT, 2, pValue); }
andrewboyson 3:f1464bf461c1 267 void SetBoilerRunOnTime2s (uint8_t* pValue) { FramWrite(iRunOnTime2s, 1, pValue); }
andrewboyson 3:f1464bf461c1 268 void GetBoilerRunOnTime2s (uint8_t* pValue) { FramRead (iRunOnTime2s, 1, pValue); }
andrewboyson 3:f1464bf461c1 269 void SetBoilerPumpSpeedCalling(int8_t* pValue) { FramWrite(iPumpSpeedCalling, 1, pValue); }
andrewboyson 3:f1464bf461c1 270 void GetBoilerPumpSpeedCalling(int8_t* pValue) { FramRead (iPumpSpeedCalling, 1, pValue); }
andrewboyson 3:f1464bf461c1 271 void SetBoilerRampDownTime (int8_t* pValue) { FramWrite(iRampDownTime, 1, pValue); }
andrewboyson 3:f1464bf461c1 272 void GetBoilerRampDownTime (int8_t* pValue) { FramRead (iRampDownTime, 1, pValue); }
andrewboyson 3:f1464bf461c1 273 void SetBoilerTarget (int8_t* pValue) { FramWrite(iBoilerTarget, 1, pValue); }
andrewboyson 3:f1464bf461c1 274 void GetBoilerTarget (int8_t* pValue) { FramRead (iBoilerTarget, 1, pValue); }
andrewboyson 3:f1464bf461c1 275 void SetBoilerMinSpeed (int8_t* pValue) { FramWrite(iMinSpeed, 1, pValue); }
andrewboyson 3:f1464bf461c1 276 void GetBoilerMinSpeed (int8_t* pValue) { FramRead (iMinSpeed, 1, pValue); }
andrewboyson 3:f1464bf461c1 277 void SetBoilerMidSpeedPwm (int8_t* pValue) { FramWrite(iMidSpeedPwm, 1, pValue); }
andrewboyson 3:f1464bf461c1 278 void GetBoilerMidSpeedPwm (int8_t* pValue) { FramRead (iMidSpeedPwm, 1, pValue); }
andrewboyson 3:f1464bf461c1 279 void SetBoilerFullSpeedDeltaT (int16_t* pValue) { FramWrite(iFullSpeedDeltaT, 2, pValue); }
andrewboyson 3:f1464bf461c1 280 void GetBoilerFullSpeedDeltaT (int16_t* pValue) { FramRead (iFullSpeedDeltaT, 2, pValue); }
andrewboyson 3:f1464bf461c1 281 void SetRadiatorWinter (char* pValue) { FramWrite(iWinter, 1, pValue); }
andrewboyson 3:f1464bf461c1 282 void GetRadiatorWinter (char* pValue) { FramRead (iWinter, 1, pValue); }
andrewboyson 3:f1464bf461c1 283 void SetHallRom (char* value) { FramWrite(iHallRom, 8, value); }
andrewboyson 3:f1464bf461c1 284 void GetHallRom (char* value) { FramRead (iHallRom, 8, value); }
andrewboyson 3:f1464bf461c1 285 void SetOverrideCancelHour (uint8_t* pValue) { FramWrite(iOverrideCancelHour, 1, pValue); }
andrewboyson 3:f1464bf461c1 286 void GetOverrideCancelHour (uint8_t* pValue) { FramRead (iOverrideCancelHour, 1, pValue); }
andrewboyson 3:f1464bf461c1 287 void SetOverrideCancelMinute (uint8_t* pValue) { FramWrite(iOverrideCancelMinute, 1, pValue); }
andrewboyson 3:f1464bf461c1 288 void GetOverrideCancelMinute (uint8_t* pValue) { FramRead (iOverrideCancelMinute, 1, pValue); }
andrewboyson 3:f1464bf461c1 289 void SetNightTemperature (int16_t* pValue) { FramWrite(iNightTemperature, 2, pValue); }
andrewboyson 3:f1464bf461c1 290 void GetNightTemperature (int16_t* pValue) { FramRead (iNightTemperature, 2, pValue); }
andrewboyson 3:f1464bf461c1 291 void SetFrostTemperature (int16_t* pValue) { FramWrite(iFrostTemperature, 2, pValue); }
andrewboyson 3:f1464bf461c1 292 void GetFrostTemperature (int16_t* pValue) { FramRead (iFrostTemperature, 2, pValue); }
andrewboyson 3:f1464bf461c1 293
andrewboyson 3:f1464bf461c1 294 void SetProgramDay (int index, char* pValue) { FramWrite(iProgramDay + index, 1, pValue); }
andrewboyson 3:f1464bf461c1 295 void GetProgramDay (int index, char* pValue) { FramRead (iProgramDay + index, 1, pValue); }
andrewboyson 3:f1464bf461c1 296 void SetProgram (int index, int16_t* pValue) { FramWrite(iPrograms + index * 8, 8, pValue); }
andrewboyson 3:f1464bf461c1 297 void GetProgram (int index, int16_t* pValue) { FramRead (iPrograms + index * 8, 8, pValue); }
andrewboyson 3:f1464bf461c1 298 void SetProgramNewDayHour (char* pValue) { FramWrite(iProgramNewDayHour, 1, pValue); }
andrewboyson 3:f1464bf461c1 299 void GetProgramNewDayHour (char* pValue) { FramRead (iProgramNewDayHour, 1, pValue); }
andrewboyson 3:f1464bf461c1 300
andrewboyson 3:f1464bf461c1 301 void SetHotWaterRom (char* value) { FramWrite(iHotWaterRom, 8, value); }
andrewboyson 3:f1464bf461c1 302 void GetHotWaterRom (char* value) { FramRead (iHotWaterRom, 8, value); }
andrewboyson 3:f1464bf461c1 303
andrewboyson 3:f1464bf461c1 304 int SettingsInit()
andrewboyson 0:22b158d3c76f 305 {
andrewboyson 0:22b158d3c76f 306 int address;
andrewboyson 3:f1464bf461c1 307 char b;
andrewboyson 3:f1464bf461c1 308 int8_t def1;
andrewboyson 3:f1464bf461c1 309 int16_t def2;
andrewboyson 0:22b158d3c76f 310 int32_t def4;
andrewboyson 3:f1464bf461c1 311 int64_t def8;
andrewboyson 3:f1464bf461c1 312
andrewboyson 3:f1464bf461c1 313 if (FramInit()) return -1; //Reserves 1 FRAM byte to detect if empty
andrewboyson 3:f1464bf461c1 314 FramAllocate(4); //Reserves 4 FRAM bytes where the watchdog used to hold the last program position
andrewboyson 0:22b158d3c76f 315
andrewboyson 0:22b158d3c76f 316 def4 = 0; address = FramLoad( DNS_MAX_LABEL_LENGTH+1, NtpClientQueryServerName, NULL ); if (address < 0) return -1; iServerName = address;
andrewboyson 0:22b158d3c76f 317 def4 = 1; address = FramLoad( 4, &NtpClientQueryInitialInterval, &def4); if (address < 0) return -1; iInitialInterval = address;
andrewboyson 0:22b158d3c76f 318 def4 = 600; address = FramLoad( 4, &NtpClientQueryNormalInterval, &def4); if (address < 0) return -1; iNormalInterval = address;
andrewboyson 0:22b158d3c76f 319 def4 = 60; address = FramLoad( 4, &NtpClientQueryRetryInterval, &def4); if (address < 0) return -1; iRetryInterval = address;
andrewboyson 0:22b158d3c76f 320 def4 = 0; address = FramLoad( 4, &NtpClientReplyOffsetMs, &def4); if (address < 0) return -1; iOffsetMs = address;
andrewboyson 0:22b158d3c76f 321 def4 = 50; address = FramLoad( 4, &NtpClientReplyMaxDelayMs, &def4); if (address < 0) return -1; iMaxDelayMs = address;
andrewboyson 0:22b158d3c76f 322
andrewboyson 3:f1464bf461c1 323 //Boiler
andrewboyson 3:f1464bf461c1 324 address = FramAllocate(8); if (address < 0) return -1; iTankRom = address;
andrewboyson 3:f1464bf461c1 325 address = FramAllocate(8); if (address < 0) return -1; iOutputRom = address;
andrewboyson 3:f1464bf461c1 326 address = FramAllocate(8); if (address < 0) return -1; iReturnRom = address;
andrewboyson 3:f1464bf461c1 327 address = FramAllocate(1); if (address < 0) return -1; iFullSpeedSecs = address;
andrewboyson 3:f1464bf461c1 328 address = FramAllocate(1); if (address < 0) return -1; iTankSetPoint = address;
andrewboyson 3:f1464bf461c1 329 address = FramAllocate(2); if (address < 0) return -1; iTankHysteresis = address;
andrewboyson 3:f1464bf461c1 330 address = FramAllocate(2); if (address < 0) return -1; iRunOnDeltaT = address;
andrewboyson 3:f1464bf461c1 331 address = FramAllocate(1); if (address < 0) return -1; iRunOnTime2s = address;
andrewboyson 3:f1464bf461c1 332 address = FramAllocate(1); if (address < 0) return -1; iPumpSpeedCalling = address;
andrewboyson 3:f1464bf461c1 333 address = FramAllocate(1); if (address < 0) return -1; iRampDownTime = address;
andrewboyson 3:f1464bf461c1 334 address = FramAllocate(1); if (address < 0) return -1; iBoilerTarget = address;
andrewboyson 3:f1464bf461c1 335 address = FramAllocate(1); if (address < 0) return -1; iMinSpeed = address;
andrewboyson 3:f1464bf461c1 336 FramAllocate(1); //Spare byte
andrewboyson 3:f1464bf461c1 337 address = FramAllocate(1); if (address < 0) return -1; iMidSpeedPwm = address;
andrewboyson 3:f1464bf461c1 338 FramAllocate(1); //Spare byte
andrewboyson 3:f1464bf461c1 339 address = FramAllocate(2); if (address < 0) return -1; iFullSpeedDeltaT = address;
andrewboyson 3:f1464bf461c1 340
andrewboyson 3:f1464bf461c1 341 //Radiator
andrewboyson 3:f1464bf461c1 342 address = FramAllocate(1); if (address < 0) return -1; iWinter = address;
andrewboyson 3:f1464bf461c1 343 FramAllocate(1); //Spare byte
andrewboyson 3:f1464bf461c1 344 address = FramAllocate(8); if (address < 0) return -1; iHallRom = address;
andrewboyson 3:f1464bf461c1 345 address = FramAllocate(1); if (address < 0) return -1; iOverrideCancelHour = address;
andrewboyson 3:f1464bf461c1 346 address = FramAllocate(1); if (address < 0) return -1; iOverrideCancelMinute = address;
andrewboyson 3:f1464bf461c1 347 FramAllocate(2); //Spare two bytes
andrewboyson 3:f1464bf461c1 348 address = FramAllocate(2); if (address < 0) return -1; iNightTemperature = address;
andrewboyson 3:f1464bf461c1 349 address = FramAllocate(2); if (address < 0) return -1; iFrostTemperature = address;
andrewboyson 3:f1464bf461c1 350 address = FramAllocate(7); if (address < 0) return -1; iProgramDay = address;
andrewboyson 3:f1464bf461c1 351
andrewboyson 3:f1464bf461c1 352 int programSize = PROGRAM_COUNT * PROGRAM_TRANSITIONS_COUNT * sizeof(int16_t);
andrewboyson 3:f1464bf461c1 353 address = FramAllocate(programSize); if (address < 0) return -1; iPrograms = address; //3 x 4 x 2
andrewboyson 3:f1464bf461c1 354 address = FramAllocate(1); if (address < 0) return -1; iProgramNewDayHour = address;
andrewboyson 0:22b158d3c76f 355
andrewboyson 3:f1464bf461c1 356 address = FramAllocate(8); if (address < 0) return -1; iHotWaterRom = address;
andrewboyson 3:f1464bf461c1 357
andrewboyson 3:f1464bf461c1 358 if (FramEmpty)
andrewboyson 3:f1464bf461c1 359 {
andrewboyson 3:f1464bf461c1 360 def1 = 100; FramWrite(iFullSpeedSecs, 1, &def1);
andrewboyson 3:f1464bf461c1 361 def1 = 65; FramWrite(iTankSetPoint, 1, &def1);
andrewboyson 3:f1464bf461c1 362 def2 = 3; FramWrite(iTankHysteresis, 2, &def2);
andrewboyson 3:f1464bf461c1 363 def2 = 2<<4; FramWrite(iRunOnDeltaT, 2, &def2);
andrewboyson 3:f1464bf461c1 364 def1 = 180>>2; FramWrite(iRunOnTime2s, 1, &def1); //3 minutes = 2 * 90 2 seconds
andrewboyson 3:f1464bf461c1 365 def1 = 100; FramWrite(iPumpSpeedCalling, 1, &def1);
andrewboyson 3:f1464bf461c1 366 def1 = 10; FramWrite(iRampDownTime, 1, &def1);
andrewboyson 3:f1464bf461c1 367 def1 = 60; FramWrite(iBoilerTarget, 1, &def1);
andrewboyson 3:f1464bf461c1 368 def1 = 50; FramWrite(iMinSpeed, 1, &def1);
andrewboyson 3:f1464bf461c1 369 def1 = 50; FramWrite(iMidSpeedPwm, 1, &def1);
andrewboyson 3:f1464bf461c1 370 def2 = 10<<4; FramWrite(iFullSpeedDeltaT, 2, &def2);
andrewboyson 3:f1464bf461c1 371 def1 = 0; FramWrite(iWinter, 1, &def1);
andrewboyson 3:f1464bf461c1 372 def1 = 23; FramWrite(iOverrideCancelHour, 1, &def1);
andrewboyson 3:f1464bf461c1 373 def1 = 0; FramWrite(iOverrideCancelMinute, 1, &def1);
andrewboyson 3:f1464bf461c1 374 def2 = 15; FramWrite(iNightTemperature, 2, &def2);
andrewboyson 3:f1464bf461c1 375 def2 = 8; FramWrite(iFrostTemperature, 2, &def2);
andrewboyson 3:f1464bf461c1 376 def1 = 2; FramWrite(iProgramNewDayHour, 1, &def1);
andrewboyson 3:f1464bf461c1 377 }
andrewboyson 0:22b158d3c76f 378
andrewboyson 0:22b158d3c76f 379 def4 = 10; address = FramLoad( 4, &ClkGovSlewDivisor, &def4); if (address < 0) return -1; iClkGovSlewDivisor = address;
andrewboyson 0:22b158d3c76f 380 def4 = 20; address = FramLoad( 4, &ClkGovSlewChangeMaxMs, &def4); if (address < 0) return -1; iClkGovSlewMaxMs = address;
andrewboyson 0:22b158d3c76f 381 def4 = 1000; address = FramLoad( 4, &ClkGovFreqDivisor, &def4); if (address < 0) return -1; iClkGovPpbDivisor = address;
andrewboyson 0:22b158d3c76f 382 def4 = 10000000; address = FramLoad( 4, &ClkGovFreqChangeMaxPpb, &def4); if (address < 0) return -1; iClkGovPpbChangeMax = address;
andrewboyson 0:22b158d3c76f 383 def4 = 100000; address = FramLoad( 4, &ClkGovSlewSyncedLimNs, &def4); if (address < 0) return -1; iClkGovSyncedLimitNs = address;
andrewboyson 0:22b158d3c76f 384 def4 = 100000; address = FramLoad( 4, &ClkGovFreqSyncedLimPpb, &def4); if (address < 0) return -1; iClkGovSyncedLimitPpb = address;
andrewboyson 0:22b158d3c76f 385 def4 = 10000; address = FramLoad( 4, &ClkGovSlewSyncedHysNs, &def4); if (address < 0) return -1; iClkGovSyncedHysterisNs = address;
andrewboyson 0:22b158d3c76f 386 def4 = 1000; address = FramLoad( 4, &ClkGovFreqSyncedHysPpb, &def4); if (address < 0) return -1; iClkGovSyncedHysterisPpb = address;
andrewboyson 0:22b158d3c76f 387 def4 = 3; address = FramLoad( 4, &ClkGovSlewOffsetMaxSecs, &def4); if (address < 0) return -1; iClkGovMaxOffsetSecs = address;
andrewboyson 0:22b158d3c76f 388 address = FramLoad( 1, &b, NULL); ClkGovTrace = b; if (address < 0) return -1; iClkGov = address;
andrewboyson 0:22b158d3c76f 389 address = FramLoad( 1, &b, NULL); OneWireTrace = b; if (address < 0) return -1; iOneWire = address;
andrewboyson 0:22b158d3c76f 390 address = FramLoad( 1, &b, NULL); DnsSendRequestsViaIp4 = b; if (address < 0) return -1; iDnsSendRequestsViaIp4 = address;
andrewboyson 0:22b158d3c76f 391 address = FramLoad( 1, &b, NULL); NtpClientQuerySendRequestsViaIp4 = b; if (address < 0) return -1; iNtpSendRequestsViaIp4 = address;
andrewboyson 0:22b158d3c76f 392 address = FramLoad( 1, &b, NULL); TftpSendRequestsViaIp4 = b; if (address < 0) return -1; iTftpSendRequestsViaIp4 = address;
andrewboyson 0:22b158d3c76f 393 address = FramLoad( 1, &b, NULL); LogUart = b; if (address < 0) return -1; iLogUart = address;
andrewboyson 0:22b158d3c76f 394 address = FramLoad( 2, NetTraceHost, NULL) ; if (address < 0) return -1; iNetHost = address;
andrewboyson 0:22b158d3c76f 395 address = FramLoad( 1, &b, NULL); NetTraceStack = b; if (address < 0) return -1; iNetStack = address;
andrewboyson 0:22b158d3c76f 396 address = FramLoad( 1, &b, NULL); NetTraceNewLine = b; if (address < 0) return -1; iNetNewLine = address;
andrewboyson 0:22b158d3c76f 397 address = FramLoad( 1, &b, NULL); NetTraceVerbose = b; if (address < 0) return -1; iNetVerbose = address;
andrewboyson 0:22b158d3c76f 398 address = FramLoad( 1, &b, NULL); LinkTrace = b; if (address < 0) return -1; iLink = address;
andrewboyson 0:22b158d3c76f 399 address = FramLoad( 1, &b, NULL); DnsNameTrace = b; if (address < 0) return -1; iDnsName = address;
andrewboyson 0:22b158d3c76f 400 address = FramLoad( 1, &b, NULL); DnsQueryTrace = b; if (address < 0) return -1; iDnsQuery = address;
andrewboyson 0:22b158d3c76f 401 address = FramLoad( 1, &b, NULL); DnsReplyTrace = b; if (address < 0) return -1; iDnsReply = address;
andrewboyson 0:22b158d3c76f 402 address = FramLoad( 1, &b, NULL); DnsServerTrace = b; if (address < 0) return -1; iDnsServer = address;
andrewboyson 0:22b158d3c76f 403 address = FramLoad( 1, &b, NULL); NtpTrace = b; if (address < 0) return -1; iNtp = address;
andrewboyson 0:22b158d3c76f 404 address = FramLoad( 1, &b, NULL); DhcpTrace = b; if (address < 0) return -1; iDhcp = address;
andrewboyson 0:22b158d3c76f 405 address = FramLoad( 1, &b, NULL); NsTraceRecvSol = b; if (address < 0) return -1; iNsRecvSol = address;
andrewboyson 0:22b158d3c76f 406 address = FramLoad( 1, &b, NULL); NsTraceRecvAdv = b; if (address < 0) return -1; iNsRecvAdv = address;
andrewboyson 0:22b158d3c76f 407 address = FramLoad( 1, &b, NULL); NsTraceSendSol = b; if (address < 0) return -1; iNsSendSol = address;
andrewboyson 0:22b158d3c76f 408 address = FramLoad( 1, &b, NULL); Nr4Trace = b; if (address < 0) return -1; iNr4 = address;
andrewboyson 0:22b158d3c76f 409 address = FramLoad( 1, &b, NULL); NrTrace = b; if (address < 0) return -1; iNr = address;
andrewboyson 0:22b158d3c76f 410 address = FramLoad( 1, &b, NULL); NtpClientTrace = b; if (address < 0) return -1; iNtpClient = address;
andrewboyson 0:22b158d3c76f 411 address = FramLoad( 1, &b, NULL); Echo4Trace = b; if (address < 0) return -1; iEcho4 = address;
andrewboyson 0:22b158d3c76f 412 address = FramLoad( 1, &b, NULL); Echo6Trace = b; if (address < 0) return -1; iEcho6 = address;
andrewboyson 0:22b158d3c76f 413 address = FramLoad( 1, &b, NULL); Dest6Trace = b; if (address < 0) return -1; iDest6 = address;
andrewboyson 0:22b158d3c76f 414 address = FramLoad( 1, &b, NULL); RaTrace = b; if (address < 0) return -1; iRa = address;
andrewboyson 0:22b158d3c76f 415 address = FramLoad( 1, &b, NULL); RsTrace = b; if (address < 0) return -1; iRs = address;
andrewboyson 0:22b158d3c76f 416 address = FramLoad( 1, &b, NULL); Ar4Trace = b; if (address < 0) return -1; iAr4 = address;
andrewboyson 0:22b158d3c76f 417 address = FramLoad( 1, &b, NULL); Ar6Trace = b; if (address < 0) return -1; iAr6 = address;
andrewboyson 0:22b158d3c76f 418 address = FramLoad( 1, &b, NULL); ArpTrace = b; if (address < 0) return -1; iArp = address;
andrewboyson 0:22b158d3c76f 419 address = FramLoad( 1, &b, NULL); Ip4Trace = b; if (address < 0) return -1; iIp4 = address;
andrewboyson 0:22b158d3c76f 420 address = FramLoad( 1, &b, NULL); Ip6Trace = b; if (address < 0) return -1; iIp6 = address;
andrewboyson 0:22b158d3c76f 421 address = FramLoad( 1, &b, NULL); UdpTrace = b; if (address < 0) return -1; iUdp = address;
andrewboyson 0:22b158d3c76f 422 address = FramLoad( 1, &b, NULL); TcpTrace = b; if (address < 0) return -1; iTcp = address;
andrewboyson 0:22b158d3c76f 423 address = FramLoad( 1, &b, NULL); WebTrace = b; if (address < 0) return -1; iHttp = address;
andrewboyson 0:22b158d3c76f 424 address = FramLoad( 1, &b, NULL); TftpTrace = b; if (address < 0) return -1; iTftp = address;
andrewboyson 0:22b158d3c76f 425
andrewboyson 0:22b158d3c76f 426 address = FramAllocate(DNS_MAX_LABEL_LENGTH); if (address < 0) return -1; iValuesServerName = address;
andrewboyson 0:22b158d3c76f 427 FramAllocate(1); //Spare
andrewboyson 0:22b158d3c76f 428 address = FramAllocate(DNS_MAX_LABEL_LENGTH); if (address < 0) return -1; iValuesFileName = address;
andrewboyson 0:22b158d3c76f 429 FramAllocate(1); //Spare
andrewboyson 0:22b158d3c76f 430 address = FramAllocate( 4); if (address < 0) return -1; iValuesWriteSize = address;
andrewboyson 0:22b158d3c76f 431 address = FramAllocate( 4); if (address < 0) return -1; iValuesReadInterval = address;
andrewboyson 0:22b158d3c76f 432 address = FramAllocate( 8); if (address < 0) return -1; iValuesStartTime = address;
andrewboyson 0:22b158d3c76f 433 address = FramAllocate( 4); if (address < 0) return -1; iValuesCount = address;
andrewboyson 0:22b158d3c76f 434 if (FramEmpty)
andrewboyson 0:22b158d3c76f 435 {
andrewboyson 0:22b158d3c76f 436 b = 0; FramWrite(iValuesServerName , 1, &b );
andrewboyson 0:22b158d3c76f 437 b = 0; FramWrite(iValuesFileName , 1, &b );
andrewboyson 0:22b158d3c76f 438 def4 = 100; FramWrite(iValuesWriteSize , 4, &def4);
andrewboyson 0:22b158d3c76f 439 def4 = 15; FramWrite(iValuesReadInterval, 4, &def4);
andrewboyson 0:22b158d3c76f 440 def8 = 0; FramWrite(iValuesStartTime , 8, &def8);
andrewboyson 0:22b158d3c76f 441 def4 = 0; FramWrite(iValuesCount , 4, &def4);
andrewboyson 0:22b158d3c76f 442 }
andrewboyson 0:22b158d3c76f 443 address = FramLoad( 1, &b, NULL); WizTrace = b; if (address < 0) return -1; iWizTrace = address;
andrewboyson 0:22b158d3c76f 444
andrewboyson 0:22b158d3c76f 445 for (int i = 0; i < WIZ_LIST_MAX_ITEMS; i++)
andrewboyson 0:22b158d3c76f 446 {
andrewboyson 0:22b158d3c76f 447 address = FramAllocate( 6); if (address < 0) return -1; iWizMacs [i] = address;
andrewboyson 0:22b158d3c76f 448 address = FramAllocate(WIZ_LIST_NAME_LENGTH); if (address < 0) return -1; iWizNames[i] = address;
andrewboyson 0:22b158d3c76f 449 address = FramAllocate(WIZ_LIST_NAME_LENGTH); if (address < 0) return -1; iWizRooms[i] = address;
andrewboyson 0:22b158d3c76f 450 }
andrewboyson 0:22b158d3c76f 451 for (int i = 0; i < WIZ_SCHED_MAX_ITEMS; i++)
andrewboyson 0:22b158d3c76f 452 {
andrewboyson 0:22b158d3c76f 453 address = FramAllocate(WIZ_LIST_NAME_LENGTH); if (address < 0) return -1; iWizSchedNames [i] = address;
andrewboyson 0:22b158d3c76f 454 address = FramAllocate( 1); if (address < 0) return -1; iWizSchedOnDatums [i] = address;
andrewboyson 0:22b158d3c76f 455 address = FramAllocate( 2); if (address < 0) return -1; iWizSchedOnMinutes [i] = address;
andrewboyson 0:22b158d3c76f 456 address = FramAllocate( 1); if (address < 0) return -1; iWizSchedOffDatums [i] = address;
andrewboyson 0:22b158d3c76f 457 address = FramAllocate( 2); if (address < 0) return -1; iWizSchedOffMinutes[i] = address;
andrewboyson 0:22b158d3c76f 458 }
andrewboyson 0:22b158d3c76f 459
andrewboyson 0:22b158d3c76f 460 iValuesData = FramUsed;
andrewboyson 0:22b158d3c76f 461
andrewboyson 0:22b158d3c76f 462 return 0;
andrewboyson 0:22b158d3c76f 463
andrewboyson 0:22b158d3c76f 464 }