Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: oldheating gps motorhome heating
Diff: clock/web-web-query.c
- Revision:
- 103:91194cc19bbb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/web-web-query.c Sat Apr 27 09:25:28 2019 +0000
@@ -0,0 +1,62 @@
+#include "http.h"
+#include "clkgov.h"
+#include "clkutc.h"
+#include "led.h"
+#include "settings.h"
+
+void WebClockQuery(char* pQuery)
+{
+ while (pQuery)
+ {
+ char* pName;
+ char* pValue;
+ pQuery = HttpQuerySplit(pQuery, &pName, &pValue);
+ int value = HttpQueryValueAsInt(pValue);
+
+ if (HttpSameStr(pName, "chg-clock-leap-enable" )) ClkUtcTglNextLeapEnable ();
+ if (HttpSameStr(pName, "chg-clock-leap-forward")) ClkUtcTglNextLeapForward();
+
+ int months1970 = ClkUtcGetNextEpochMonth1970();
+ int months = months1970 % 12;
+ int years = months1970 / 12;
+
+ if (HttpSameStr(pName, "set-clock-leap-year" ))
+ {
+ years = value - 1970;
+ if (years < 0) years = 0;
+ ClkUtcSetNextEpochMonth1970(years * 12 + months);
+ }
+ if (HttpSameStr(pName, "set-clock-leap-month" ))
+ {
+ months = value - 1;
+ if (months < 0) months = 0;
+ ClkUtcSetNextEpochMonth1970(years * 12 + months);
+ }
+ if (HttpSameStr(pName, "set-clock-leap-count" ))
+ {
+ uint16_t leaps = value;
+ ClkUtcSetEpochOffset(leaps);
+ }
+
+ if (HttpSameStr(pName, "ppb" )) ClkGovSetPpb (value );
+ if (HttpSameStr(pName, "slewdivisor" )) SetClockSlewDivisor (value );
+ if (HttpSameStr(pName, "slewmax" )) SetClockSlewMaxMs (value );
+ if (HttpSameStr(pName, "ppbdivisor" )) SetClockPpbDivisor (value );
+ if (HttpSameStr(pName, "ppbmaxchange" )) SetClockPpbChangeMax (value );
+ if (HttpSameStr(pName, "syncedlimitns" )) SetClockSyncedLimitNs (value * 1000000 );
+ if (HttpSameStr(pName, "syncedhysns" )) SetClockSyncedHysterisNs (value * 1000000 );
+ if (HttpSameStr(pName, "syncedlimitppb")) SetClockSyncedLimitPpb (value );
+ if (HttpSameStr(pName, "syncedhysppb" )) SetClockSyncedHysterisPpb (value );
+ if (HttpSameStr(pName, "maxoffsetsecs" )) SetClockMaxOffsetSecs (value );
+ if (HttpSameStr(pName, "clockgovtrace" )) ChgTraceSync();
+
+ if (HttpSameStr(pName, "ntpserver" )) SetNtpClientServerName (pValue );
+ if (HttpSameStr(pName, "clockinitial" )) SetNtpClientInitialInterval(value );
+ if (HttpSameStr(pName, "clocknormal" )) SetNtpClientNormalInterval (value * 60 );
+ if (HttpSameStr(pName, "clockretry" )) SetNtpClientRetryInterval (value );
+ if (HttpSameStr(pName, "clockoffset" )) SetNtpClientOffsetMs (value );
+ if (HttpSameStr(pName, "clockmaxdelay" )) SetNtpClientMaxDelayMs (value );
+
+ }
+}
+