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: net/web-net6-script.inc
- Revision:
- 103:91194cc19bbb
- Parent:
- 96:eb2eb75bad0f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/net/web-net6-script.inc Sat Apr 27 09:25:28 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