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
web-this/system/web-system-html.c
- Committer:
- andrewboyson
- Date:
- 2019-06-19
- Revision:
- 63:ae264156d655
- Parent:
- 53:c1bf7d9db507
- Child:
- 64:c736b8924574
File content as of revision 63:ae264156d655:
#include <stdio.h> #include "http.h" #include "web-nav-this.h" #include "web-add.h" #include "bignum.h" void WebSystemHtml() { HttpOk("text/html; charset=UTF-8", "no-cache", NULL, NULL); WebAddHeader("System", "settings.css", "system.js"); WebAddNav(SYSTEM_PAGE); WebAddH1("System"); WebAddH2("TFTP"); WebAddAjaxInput ("Server url", 5, "ajax-server-name", "tftpserver" ); WebAddAjaxInput ("File (strftime)", 11, "ajax-file-name", "tftpfilename" ); WebAddAjaxInput ("Interval (secs) 0=no", 5, "ajax-read-interval", "tftpreadint" ); WebAddAjaxInput ("Records per backup 0=no", 5, "ajax-write-size", "tftpwriteint" ); WebAddAjaxLabelled("Count", "ajax-count" ); WebAddAjaxLabelled("Started", "ajax-start-time" ); WebAddH2("FRAM"); WebAddAjaxLabelled("Used", "ajax-fram-used" ); WebAddH2("Compiler"); WebAddLabelledInt("Version Vvvbbbb", __ARMCC_VERSION); WebAddH2("Big num test"); char* n = "E08973398DD8F5F5E88776397F4EB005BB5383DE0FB7ABDC7DC775290D052E6D" "12DFA68626D4D26FAA5829FC97ECFA82510F3080BEB1509E4644F12CBBD832CF" "C6686F07D9B060ACBEEE34096A13F5F7050593DF5EBA3556D961FF197FC981E6" "F86CEA874070EFAC6D2C749F2DFA553AB9997702A648528C4EF357385774575F"; char* d = "00A403C327477634346CA686B57949014B2E8AD2C862B2C7D748096A8B91F736" "F275D6E8CD15906027314735644D95CD6763CEB49F56AC2F376E1CEE0EBF282D" "F439906F34D86E085BD5656AD841F313D72D395EFE33CBFF29E4030B3D05A28F" "B7F18EA27637B07957D32F2BDE8706227D04665EC91BAF8B1AC3EC9144AB7F21"; char* m = "0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00302130" "0906052B0E03021A05000414A9993E364706816ABA3E25717850C26C9CD0D89D"; uint32_t message[64]; uint32_t exponent[64]; uint32_t modulus[64]; BnParseHex(message, m); BnParseHex(exponent, d); BnParseHex(modulus, n); static uint32_t result[64]; static bool started = false; if (!started) { BnExpModStart(message, exponent, modulus, result); started = true; } HttpAddText("<code>"); HttpAddText("Message\r\n"); BnAsHttp(message); HttpAddText("\r\nExponent\r\n"); BnAsHttp(exponent); HttpAddText("\r\nModulus\r\n"); BnAsHttp(modulus); HttpAddText("\r\nResult\r\n"); switch(BnExpModStatus) { case BIGNUM_CALC_NONE: HttpAddText("Not started\r\n"); break; case BIGNUM_CALC_STARTED: HttpAddF("Progress %d\r\n", BnExpModProgress); BnAsHttp(result); break; case BIGNUM_CALC_FINISHED: HttpAddText("Finished\r\n"); BnAsHttp(result); HttpAddF("Time to multiply %llu ms\r\n", BnMulHr / 96000); HttpAddF("Time to modulus %llu ms\r\n", BnModHr / 96000); break; } HttpAddText("</code>"); WebAddEnd(); }