Monitor motorhome leisure battery and provide simple control of habitation

Dependencies:   net lpc1768 crypto clock web fram log

Committer:
andrewboyson
Date:
Sun Apr 18 19:05:35 2021 +0000
Revision:
3:b96c6f6bbffc
Parent:
0:b843d647695c
Child:
9:d957af50fdc2
Added WIZ module to control WIZ lights.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 0:b843d647695c 1 #include "http.h"
andrewboyson 0:b843d647695c 2 #include "web-pages-this.h"
andrewboyson 0:b843d647695c 3 #include "web.h"
andrewboyson 0:b843d647695c 4
andrewboyson 0:b843d647695c 5 #define DO_HOME_HTML DO_THIS + 0
andrewboyson 0:b843d647695c 6 #define DO_PROGRAM_HTML DO_THIS + 1
andrewboyson 0:b843d647695c 7 #define DO_PROGRAM_AJAX DO_THIS + 2
andrewboyson 0:b843d647695c 8 #define DO_PROGRAM_SCRIPT DO_THIS + 3
andrewboyson 0:b843d647695c 9 #define DO_RADIATOR_HTML DO_THIS + 4
andrewboyson 0:b843d647695c 10 #define DO_RADIATOR_AJAX DO_THIS + 5
andrewboyson 0:b843d647695c 11 #define DO_RADIATOR_SCRIPT DO_THIS + 6
andrewboyson 0:b843d647695c 12 #define DO_BOILER_HTML DO_THIS + 7
andrewboyson 0:b843d647695c 13 #define DO_BOILER_AJAX DO_THIS + 8
andrewboyson 0:b843d647695c 14 #define DO_BOILER_SCRIPT DO_THIS + 9
andrewboyson 0:b843d647695c 15 #define DO_SYSTEM_HTML DO_THIS + 10
andrewboyson 0:b843d647695c 16 #define DO_SYSTEM_AJAX DO_THIS + 11
andrewboyson 0:b843d647695c 17 #define DO_SYSTEM_SCRIPT DO_THIS + 12
andrewboyson 0:b843d647695c 18 #define DO_1WIRE_HTML DO_THIS + 13
andrewboyson 0:b843d647695c 19 #define DO_1WIRE_AJAX DO_THIS + 14
andrewboyson 0:b843d647695c 20 #define DO_1WIRE_SCRIPT DO_THIS + 15
andrewboyson 3:b96c6f6bbffc 21 #define DO_WIZ_HTML DO_THIS + 16
andrewboyson 3:b96c6f6bbffc 22 #define DO_WIZ_AJAX DO_THIS + 17
andrewboyson 3:b96c6f6bbffc 23 #define DO_WIZ_SCRIPT DO_THIS + 18
andrewboyson 0:b843d647695c 24
andrewboyson 0:b843d647695c 25 int WebServerThisDecideWhatToDo(char *pPath, char* pLastModified)
andrewboyson 0:b843d647695c 26 {
andrewboyson 0:b843d647695c 27 if (HttpSameStr(pPath, "/" )) return DO_HOME_HTML;
andrewboyson 0:b843d647695c 28 if (HttpSameStr(pPath, "/program" )) return DO_PROGRAM_HTML;
andrewboyson 0:b843d647695c 29 if (HttpSameStr(pPath, "/program-ajax" )) return DO_PROGRAM_AJAX;
andrewboyson 0:b843d647695c 30 if (HttpSameStr(pPath, "/radiator" )) return DO_RADIATOR_HTML;
andrewboyson 0:b843d647695c 31 if (HttpSameStr(pPath, "/radiator-ajax")) return DO_RADIATOR_AJAX;
andrewboyson 0:b843d647695c 32 if (HttpSameStr(pPath, "/boiler" )) return DO_BOILER_HTML;
andrewboyson 0:b843d647695c 33 if (HttpSameStr(pPath, "/boiler-ajax" )) return DO_BOILER_AJAX;
andrewboyson 0:b843d647695c 34 if (HttpSameStr(pPath, "/system" )) return DO_SYSTEM_HTML;
andrewboyson 0:b843d647695c 35 if (HttpSameStr(pPath, "/system-ajax" )) return DO_SYSTEM_AJAX;
andrewboyson 0:b843d647695c 36 if (HttpSameStr(pPath, "/1wire" )) return DO_1WIRE_HTML;
andrewboyson 0:b843d647695c 37 if (HttpSameStr(pPath, "/1wire-ajax" )) return DO_1WIRE_AJAX;
andrewboyson 3:b96c6f6bbffc 38 if (HttpSameStr(pPath, "/wiz" )) return DO_WIZ_HTML;
andrewboyson 3:b96c6f6bbffc 39 if (HttpSameStr(pPath, "/wiz-ajax" )) return DO_WIZ_AJAX;
andrewboyson 0:b843d647695c 40
andrewboyson 0:b843d647695c 41 if (HttpSameStr(pPath, "/program.js" )) return HttpSameDate(WebProgramScriptDate, WebProgramScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_PROGRAM_SCRIPT;
andrewboyson 0:b843d647695c 42 if (HttpSameStr(pPath, "/radiator.js" )) return HttpSameDate(WebRadiatorScriptDate, WebRadiatorScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_RADIATOR_SCRIPT;
andrewboyson 0:b843d647695c 43 if (HttpSameStr(pPath, "/boiler.js" )) return HttpSameDate(WebBoilerScriptDate, WebBoilerScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_BOILER_SCRIPT;
andrewboyson 0:b843d647695c 44 if (HttpSameStr(pPath, "/system.js" )) return HttpSameDate(WebSystemScriptDate, WebSystemScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_SYSTEM_SCRIPT;
andrewboyson 0:b843d647695c 45 if (HttpSameStr(pPath, "/1wire.js" )) return HttpSameDate(WebOneWireScriptDate, WebOneWireScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_1WIRE_SCRIPT;
andrewboyson 3:b96c6f6bbffc 46 if (HttpSameStr(pPath, "/wiz.js" )) return HttpSameDate(WebWizScriptDate, WebWizScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_WIZ_SCRIPT;
andrewboyson 0:b843d647695c 47
andrewboyson 0:b843d647695c 48 return DO_NOT_FOUND;
andrewboyson 0:b843d647695c 49 }
andrewboyson 0:b843d647695c 50
andrewboyson 0:b843d647695c 51 bool WebServerThisHandleQuery(int todo, char* pQuery)
andrewboyson 0:b843d647695c 52 {
andrewboyson 0:b843d647695c 53 switch (todo)
andrewboyson 0:b843d647695c 54 {
andrewboyson 0:b843d647695c 55 case DO_PROGRAM_AJAX: WebProgramQuery (pQuery); return true;
andrewboyson 0:b843d647695c 56 case DO_PROGRAM_HTML: WebProgramQuery (pQuery); return true;
andrewboyson 0:b843d647695c 57 case DO_RADIATOR_HTML: WebRadiatorQuery(pQuery); return true;
andrewboyson 0:b843d647695c 58 case DO_RADIATOR_AJAX: WebRadiatorQuery(pQuery); return true;
andrewboyson 0:b843d647695c 59 case DO_BOILER_HTML: WebBoilerQuery (pQuery); return true;
andrewboyson 0:b843d647695c 60 case DO_BOILER_AJAX: WebBoilerQuery (pQuery); return true;
andrewboyson 0:b843d647695c 61 case DO_SYSTEM_HTML: WebSystemQuery (pQuery); return true;
andrewboyson 0:b843d647695c 62 case DO_SYSTEM_AJAX: WebSystemQuery (pQuery); return true;
andrewboyson 0:b843d647695c 63 case DO_1WIRE_HTML: WebOneWireQuery (pQuery); return true;
andrewboyson 0:b843d647695c 64 case DO_1WIRE_AJAX: WebOneWireQuery (pQuery); return true;
andrewboyson 3:b96c6f6bbffc 65 case DO_WIZ_HTML: WebWizQuery (pQuery); return true;
andrewboyson 3:b96c6f6bbffc 66 case DO_WIZ_AJAX: WebWizQuery (pQuery); return true;
andrewboyson 0:b843d647695c 67 }
andrewboyson 0:b843d647695c 68 return false;
andrewboyson 0:b843d647695c 69 }
andrewboyson 0:b843d647695c 70 bool WebServerThisPost(int todo, int contentLength, int contentStart, int size, char* pRequestStream, uint32_t positionInRequestStream, bool* pComplete)
andrewboyson 0:b843d647695c 71 {
andrewboyson 0:b843d647695c 72 return false;
andrewboyson 0:b843d647695c 73 }
andrewboyson 0:b843d647695c 74 bool WebServerThisReply(int todo)
andrewboyson 0:b843d647695c 75 {
andrewboyson 0:b843d647695c 76 switch (todo)
andrewboyson 0:b843d647695c 77 {
andrewboyson 0:b843d647695c 78 case DO_HOME_HTML: WebHomeHtml (); return true;
andrewboyson 0:b843d647695c 79 case DO_PROGRAM_HTML: WebProgramHtml (); return true;
andrewboyson 0:b843d647695c 80 case DO_PROGRAM_AJAX: WebProgramAjax (); return true;
andrewboyson 0:b843d647695c 81 case DO_PROGRAM_SCRIPT: WebProgramScript (); return true;
andrewboyson 0:b843d647695c 82 case DO_RADIATOR_HTML: WebRadiatorHtml (); return true;
andrewboyson 0:b843d647695c 83 case DO_RADIATOR_AJAX: WebRadiatorAjax (); return true;
andrewboyson 0:b843d647695c 84 case DO_RADIATOR_SCRIPT: WebRadiatorScript(); return true;
andrewboyson 0:b843d647695c 85 case DO_BOILER_HTML: WebBoilerHtml (); return true;
andrewboyson 0:b843d647695c 86 case DO_BOILER_AJAX: WebBoilerAjax (); return true;
andrewboyson 0:b843d647695c 87 case DO_BOILER_SCRIPT: WebBoilerScript (); return true;
andrewboyson 0:b843d647695c 88 case DO_SYSTEM_HTML: WebSystemHtml (); return true;
andrewboyson 0:b843d647695c 89 case DO_SYSTEM_AJAX: WebSystemAjax (); return true;
andrewboyson 0:b843d647695c 90 case DO_SYSTEM_SCRIPT: WebSystemScript (); return true;
andrewboyson 0:b843d647695c 91 case DO_1WIRE_HTML: WebOneWireHtml (); return true;
andrewboyson 0:b843d647695c 92 case DO_1WIRE_AJAX: WebOneWireAjax (); return true;
andrewboyson 0:b843d647695c 93 case DO_1WIRE_SCRIPT: WebOneWireScript (); return true;
andrewboyson 3:b96c6f6bbffc 94 case DO_WIZ_HTML: WebWizHtml (); return true;
andrewboyson 3:b96c6f6bbffc 95 case DO_WIZ_AJAX: WebWizAjax (); return true;
andrewboyson 3:b96c6f6bbffc 96 case DO_WIZ_SCRIPT: WebWizScript (); return true;
andrewboyson 0:b843d647695c 97 }
andrewboyson 0:b843d647695c 98 return false;
andrewboyson 0:b843d647695c 99 }