A GPS disciplined clock

Dependencies:   net lpc1768 crypto clock web log

Committer:
andrewboyson
Date:
Wed May 01 10:14:26 2019 +0000
Revision:
59:d2d25c2265f8
Parent:
web-derived/home/web-home-query.c@55:a1bd0572c8b6
Child:
90:9b8bc951c6d9
Updated web library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 27:eb5728b9052b 1 #include "http.h"
andrewboyson 27:eb5728b9052b 2 #include "clkgov.h"
andrewboyson 27:eb5728b9052b 3 #include "clkutc.h"
andrewboyson 27:eb5728b9052b 4 #include "led.h"
andrewboyson 27:eb5728b9052b 5 #include "settings.h"
andrewboyson 27:eb5728b9052b 6
andrewboyson 55:a1bd0572c8b6 7 void WebHomeQuery(char* pQuery)
andrewboyson 27:eb5728b9052b 8 {
andrewboyson 27:eb5728b9052b 9 while (pQuery)
andrewboyson 27:eb5728b9052b 10 {
andrewboyson 27:eb5728b9052b 11 char* pName;
andrewboyson 27:eb5728b9052b 12 char* pValue;
andrewboyson 29:4fe0f237fd61 13 pQuery = HttpQuerySplit(pQuery, &pName, &pValue);
andrewboyson 43:bf39371b4576 14 int value = HttpQueryValueAsInt(pValue);
andrewboyson 27:eb5728b9052b 15
andrewboyson 28:7fb6b4e9ab80 16 if (HttpSameStr(pName, "chg-clock-leap-enable" )) ClkUtcTglNextLeapEnable ();
andrewboyson 28:7fb6b4e9ab80 17 if (HttpSameStr(pName, "chg-clock-leap-forward")) ClkUtcTglNextLeapForward();
andrewboyson 27:eb5728b9052b 18
andrewboyson 27:eb5728b9052b 19 int months1970 = ClkUtcGetNextEpochMonth1970();
andrewboyson 27:eb5728b9052b 20 int months = months1970 % 12;
andrewboyson 27:eb5728b9052b 21 int years = months1970 / 12;
andrewboyson 27:eb5728b9052b 22
andrewboyson 28:7fb6b4e9ab80 23 if (HttpSameStr(pName, "set-clock-leap-year" ))
andrewboyson 27:eb5728b9052b 24 {
andrewboyson 43:bf39371b4576 25 years = value - 1970;
andrewboyson 27:eb5728b9052b 26 if (years < 0) years = 0;
andrewboyson 27:eb5728b9052b 27 ClkUtcSetNextEpochMonth1970(years * 12 + months);
andrewboyson 27:eb5728b9052b 28 }
andrewboyson 28:7fb6b4e9ab80 29 if (HttpSameStr(pName, "set-clock-leap-month" ))
andrewboyson 27:eb5728b9052b 30 {
andrewboyson 43:bf39371b4576 31 months = value - 1;
andrewboyson 27:eb5728b9052b 32 if (months < 0) months = 0;
andrewboyson 27:eb5728b9052b 33 ClkUtcSetNextEpochMonth1970(years * 12 + months);
andrewboyson 27:eb5728b9052b 34 }
andrewboyson 28:7fb6b4e9ab80 35 if (HttpSameStr(pName, "set-clock-leap-count" ))
andrewboyson 27:eb5728b9052b 36 {
andrewboyson 43:bf39371b4576 37 uint16_t leaps = value;
andrewboyson 27:eb5728b9052b 38 ClkUtcSetEpochOffset(leaps);
andrewboyson 27:eb5728b9052b 39 }
andrewboyson 27:eb5728b9052b 40
andrewboyson 28:7fb6b4e9ab80 41 if (HttpSameStr(pName, "ppb" )) ClkGovSetPpb (value );
andrewboyson 28:7fb6b4e9ab80 42 if (HttpSameStr(pName, "slewdivisor" )) SetClockSlewDivisor (value );
andrewboyson 28:7fb6b4e9ab80 43 if (HttpSameStr(pName, "slewmax" )) SetClockSlewMaxMs (value );
andrewboyson 28:7fb6b4e9ab80 44 if (HttpSameStr(pName, "ppbdivisor" )) SetClockPpbDivisor (value );
andrewboyson 28:7fb6b4e9ab80 45 if (HttpSameStr(pName, "ppbmaxchange" )) SetClockPpbChangeMax (value );
andrewboyson 28:7fb6b4e9ab80 46 if (HttpSameStr(pName, "syncedlimitns" )) SetClockSyncedLimitNs (value * 1000000 );
andrewboyson 28:7fb6b4e9ab80 47 if (HttpSameStr(pName, "syncedhysns" )) SetClockSyncedHysterisNs (value * 1000000 );
andrewboyson 28:7fb6b4e9ab80 48 if (HttpSameStr(pName, "syncedlimitppb")) SetClockSyncedLimitPpb (value );
andrewboyson 28:7fb6b4e9ab80 49 if (HttpSameStr(pName, "syncedhysppb" )) SetClockSyncedHysterisPpb (value );
andrewboyson 28:7fb6b4e9ab80 50 if (HttpSameStr(pName, "maxoffsetsecs" )) SetClockMaxOffsetSecs (value );
andrewboyson 28:7fb6b4e9ab80 51 if (HttpSameStr(pName, "clockgovtrace" )) ChgTraceSync();
andrewboyson 27:eb5728b9052b 52 }
andrewboyson 27:eb5728b9052b 53 }
andrewboyson 27:eb5728b9052b 54