Dependencies: net lpc1768 crypto clock web log
web-this/home/web-home-script.inc
- Committer:
- andrewboyson
- Date:
- 2022-06-06
- Revision:
- 100:93f5b732f985
- Parent:
- 87:5052e316994a
File content as of revision 100:93f5b732f985:
"//Home script\n" "'use strict';\n" "\n" "let rtc = new Clock();\n" "\n" "let diffMs = 0;\n" "\n" "let messagesOk = false;\n" "let fixMessagesOk = false;\n" "let timeMessagesOk = false;\n" "let ppsStable = false;\n" "let nmeaStable = false;\n" "\n" "let rtcIsSet = false;\n" "let clockIsSet = false;\n" "let sourceIsOk = false;\n" "let rateIsLocked = false;\n" "let timeIsLocked = false;\n" "\n" "const DISPLAY_LEAP_MS = 10000;\n" "\n" "function parse()\n" "{\n" " let lines = Ajax.response.split('\\n');\n" " rtc.ms = Ajax.date.getTime();\n" " rtc.ms += parseInt(lines[0], 16);\n" " rtc.ms -= Ajax.ms;\n" " diffMs = rtc.ms + Ajax.ms - Date.now();\n" " messagesOk = Ajax.hexToBit(lines[1], 11);\n" " fixMessagesOk = Ajax.hexToBit(lines[1], 10);\n" " timeMessagesOk = Ajax.hexToBit(lines[1], 9);\n" " ppsStable = Ajax.hexToBit(lines[1], 8);\n" " nmeaStable = Ajax.hexToBit(lines[1], 7);\n" " rtcIsSet = Ajax.hexToBit(lines[1], 6);\n" " clockIsSet = Ajax.hexToBit(lines[1], 5);\n" " sourceIsOk = Ajax.hexToBit(lines[1], 4);\n" " rateIsLocked = Ajax.hexToBit(lines[1], 3);\n" " timeIsLocked = Ajax.hexToBit(lines[1], 2);\n" " rtc.months1970 = parseInt(lines[2], 16);\n" " rtc.leaps = parseInt(lines[3], 16);\n" "}\n" "function display()\n" "{\n" " let elem;\n" " elem = Ajax.getElementOrNull('ajax-msgs-ok' ); if (elem) elem.setAttribute('dir', messagesOk ? 'rtl' : 'ltr');\n" " elem = Ajax.getElementOrNull('ajax-fix-msgs-ok' ); if (elem) elem.setAttribute('dir', fixMessagesOk ? 'rtl' : 'ltr');\n" " elem = Ajax.getElementOrNull('ajax-time-msgs-ok' ); if (elem) elem.setAttribute('dir', timeMessagesOk ? 'rtl' : 'ltr');\n" " elem = Ajax.getElementOrNull('ajax-pps-stable' ); if (elem) elem.setAttribute('dir', ppsStable ? 'rtl' : 'ltr');\n" " elem = Ajax.getElementOrNull('ajax-nmea-stable' ); if (elem) elem.setAttribute('dir', nmeaStable ? 'rtl' : 'ltr');\n" " \n" " elem = Ajax.getElementOrNull('ajax-rtc-set' ); if (elem) elem.setAttribute('dir', rtcIsSet ? 'rtl' : 'ltr');\n" " elem = Ajax.getElementOrNull('ajax-clock-set' ); if (elem) elem.setAttribute('dir', clockIsSet ? 'rtl' : 'ltr');\n" " elem = Ajax.getElementOrNull('ajax-source-ok' ); if (elem) elem.setAttribute('dir', sourceIsOk ? 'rtl' : 'ltr');\n" " elem = Ajax.getElementOrNull('ajax-rate-locked' ); if (elem) elem.setAttribute('dir', rateIsLocked ? 'rtl' : 'ltr');\n" " elem = Ajax.getElementOrNull('ajax-time-locked' ); if (elem) elem.setAttribute('dir', timeIsLocked ? 'rtl' : 'ltr');\n" " \n" " elem = Ajax.getElementOrNull('ajax-date-diff' ); if (elem) elem.textContent = diffMs;\n" " \n" " elem = Ajax.getElementOrNull('ajax-leap-year' ); if (elem) elem.value = rtc.months1970 ? rtc.leapYear : '';\n" " elem = Ajax.getElementOrNull('ajax-leap-month' ); if (elem) elem.value = rtc.months1970 ? rtc.leapMonth : '';\n" " elem = Ajax.getElementOrNull('ajax-leap-count' ); if (elem) elem.value = rtc.leaps;\n" "}\n" "\n" "function handleTick() //This typically called every 100ms\n" "{\n" " rtc.adjustLeap (Ajax.ms);\n" " rtc.displayTime(Ajax.ms);\n" "}\n" "\n" "Ajax.server = '/home-ajax';\n" "Ajax.onResponse = function() { parse(); display(); };\n" "Ajax.onTick = handleTick;\n" "Ajax.init();\n" "\n" ""