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: base/net/web-net6-script.inc
- Revision:
- 110:8ab752842d25
- Parent:
- 103:91194cc19bbb
- Child:
- 136:be1d42268b5d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/base/net/web-net6-script.inc Tue Apr 30 12:45:08 2019 +0000
@@ -0,0 +1,111 @@
+"//Net6 script\n"
+"'use strict';\n"
+"\n"
+"let arp = '';\n"
+"let dns = '';\n"
+"let hopLimit = '';\n"
+"let managed = false;\n"
+"let other = false;\n"
+"let routerMac = '';\n"
+"let prefixLength = '';\n"
+"let prefixL = false;\n"
+"let prefixA = false;\n"
+"let prefixLimit = '';\n"
+"let prefixPreferred = '';\n"
+"let prefix = '';\n"
+"let dnsLife = '';\n"
+"let dnsIp = '';\n"
+"let ndpLease = '';\n"
+"let ndpElapsed = '';\n"
+"let slaac = '';\n"
+"let mtu = '';\n"
+"\n"
+"function parseArpLine(line)\n"
+"{\n"
+" if (line.length == 0) return;\n"
+" let minutes = parseInt(line.substr(0, 8), 16) / 1000 / 60;\n"
+" arp += Math.floor(minutes).toString().padStart(4, ' ');\n"
+" arp += ' ';\n"
+" arp += Net.makeIp6(line.substr(8, 32)).padEnd(40, ' ');\n"
+" arp += ' ';\n"
+" arp += Net.makeMac(line.substr(40, 12));\n"
+" arp += '\\r\\n';\n"
+"}\n"
+"function parseDnsLine(line)\n"
+"{\n"
+" if (line.length == 0) return;\n"
+" let minutes = parseInt(line.substr(0, 8), 16) / 1000 / 60;\n"
+" dns += Math.floor(minutes).toString().padStart(4, ' ');\n"
+" dns += ' ';\n"
+" dns += Net.makeIp6(line.substr(8, 32)).padEnd(40, ' ');\n"
+" dns += ' ';\n"
+" dns += line.substr(40, 1);\n"
+" dns += ' ';\n"
+" dns += line.substr(41);\n"
+" dns += '\\r\\n';\n"
+"}\n"
+"function parseArpLines(text)\n"
+"{\n"
+" arp = '';\n"
+" text.split('\\n').forEach(parseArpLine);\n"
+"}\n"
+"function parseDnsLines(text)\n"
+"{\n"
+" dns = '';\n"
+" text.split('\\n').forEach(parseDnsLine);\n"
+"}\n"
+"function parseGenLines(text)\n"
+"{\n"
+" let lines = text.split('\\n');\n"
+" \n"
+" hopLimit = parseInt(lines[ 1], 16);\n"
+" managed = Net.hexToBit(lines[ 0], 0);\n"
+" other = Net.hexToBit(lines[ 0], 1);\n"
+" routerMac = Net.makeMac (lines[ 2], 16);\n"
+" prefixLength = parseInt(lines[ 3], 16);\n"
+" prefixL = Net.hexToBit(lines[ 0], 2);\n"
+" prefixA = Net.hexToBit(lines[ 0], 3);\n"
+" prefixLimit = parseInt(lines[ 4], 16);\n"
+" prefixPreferred = parseInt(lines[ 5], 16);\n"
+" prefix = Net.makeIp6 (lines[ 6] );\n"
+" dnsLife = parseInt(lines[ 7], 16);\n"
+" dnsIp = Net.makeIp6 (lines[ 8] );\n"
+" ndpLease = parseInt(lines[ 9], 16);\n"
+" ndpElapsed = parseInt(lines[10], 16);\n"
+" slaac = Net.makeIp6 (lines[11] );\n"
+" mtu = parseInt(lines[12], 16);\n"
+"}\n"
+"function parse()\n"
+"{\n"
+" let topics = Ajax.response.split('\\f');\n"
+" parseGenLines(topics[0]);\n"
+" parseArpLines(topics[1]);\n"
+" parseDnsLines(topics[2]);\n"
+"}\n"
+"function display()\n"
+"{\n"
+" let elem;\n"
+" \n"
+" elem = Ajax.getElementOrNull('ajax-arp' ); if (elem) elem.textContent = arp;\n"
+" elem = Ajax.getElementOrNull('ajax-dns' ); if (elem) elem.textContent = dns;\n"
+" elem = Ajax.getElementOrNull('ajax-hop-limit' ); if (elem) elem.textContent = hopLimit;\n"
+" elem = Ajax.getElementOrNull('ajax-managed' ); if (elem) elem.setAttribute('dir', managed ? 'rtl' : 'ltr');\n"
+" elem = Ajax.getElementOrNull('ajax-other' ); if (elem) elem.setAttribute('dir', other ? 'rtl' : 'ltr');\n"
+" elem = Ajax.getElementOrNull('ajax-router-mac' ); if (elem) elem.textContent = routerMac;\n"
+" elem = Ajax.getElementOrNull('ajax-prefix-length' ); if (elem) elem.textContent = prefixLength;\n"
+" elem = Ajax.getElementOrNull('ajax-prefix-l' ); if (elem) elem.setAttribute('dir', prefixL ? 'rtl' : 'ltr');\n"
+" elem = Ajax.getElementOrNull('ajax-prefix-a' ); if (elem) elem.setAttribute('dir', prefixA ? 'rtl' : 'ltr');\n"
+" elem = Ajax.getElementOrNull('ajax-prefix-limit' ); if (elem) elem.textContent = prefixLimit;\n"
+" elem = Ajax.getElementOrNull('ajax-prefix-preferred'); if (elem) elem.textContent = prefixPreferred;\n"
+" elem = Ajax.getElementOrNull('ajax-prefix' ); if (elem) elem.textContent = prefix;\n"
+" elem = Ajax.getElementOrNull('ajax-dns-life' ); if (elem) elem.textContent = dnsLife;\n"
+" elem = Ajax.getElementOrNull('ajax-dns-ip' ); if (elem) elem.textContent = dnsIp;\n"
+" elem = Ajax.getElementOrNull('ajax-ndp-lease' ); if (elem) elem.textContent = ndpLease;\n"
+" elem = Ajax.getElementOrNull('ajax-ndp-elapsed' ); if (elem) elem.textContent = ndpElapsed;\n"
+" elem = Ajax.getElementOrNull('ajax-slaac' ); if (elem) elem.textContent = slaac;\n"
+" elem = Ajax.getElementOrNull('ajax-mtu' ); if (elem) elem.textContent = mtu;\n"
+"}\n"
+"\n"
+"Ajax.server = '/net6-ajax';\n"
+"Ajax.onResponse = function() { parse(); display(); };\n"
+"Ajax.init();"
\ No newline at end of file