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-net4-script.js
- Revision:
- 110:8ab752842d25
- Parent:
- 103:91194cc19bbb
- Child:
- 136:be1d42268b5d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/base/net/web-net4-script.js Tue Apr 30 12:45:08 2019 +0000
@@ -0,0 +1,101 @@
+//Net4 script
+'use strict';
+
+let localIp = '';
+let domainName = '';
+let hostName = '';
+let ntpIp = '';
+let dnsIp = '';
+let dhcpIp = '';
+let routerIp = '';
+let subnetMask = '';
+let broadcastIp = '';
+let leaseTime = '';
+let renewalT1 = '';
+let renewalt2 = '';
+let elapsed = '';
+let arp = '';
+let dns = '';
+
+function parseArpLine(line)
+{
+ if (line.length == 0) return;
+ let minutes = parseInt(line.substr(0, 8), 16) / 1000 / 60;
+ arp += Math.floor(minutes).toString().padStart(4, ' ');
+ arp += ' ';
+ arp += Net.makeIp4(line.substr(8, 8)).padEnd(15, ' ');
+ arp += ' ';
+ arp += Net.makeMac(line.substr(16, 12));
+ arp += '\r\n';
+}
+function parseDnsLine(line)
+{
+ if (line.length == 0) return;
+ let minutes = parseInt(line.substr(0, 8), 16) / 1000 / 60;
+ dns += Math.floor(minutes).toString().padStart(4, ' ');
+ dns += ' ';
+ dns += Net.makeIp4(line.substr(8, 8)).padEnd(15, ' ');
+ dns += ' ';
+ dns += line.substr(16, 1);
+ dns += ' ';
+ dns += line.substr(17);
+ dns += '\r\n';
+}
+function parseArpLines(text)
+{
+ arp = '';
+ text.split('\n').forEach(parseArpLine);
+}
+function parseDnsLines(text)
+{
+ dns = '';
+ text.split('\n').forEach(parseDnsLine);
+}
+function parseGenLines(text)
+{
+ let lines = text.split('\n');
+ localIp = Net.makeIp4(lines[ 0]) ;
+ domainName = lines[ 1] ;
+ hostName = lines[ 2] ;
+ ntpIp = Net.makeIp4(lines[ 3]) ;
+ dnsIp = Net.makeIp4(lines[ 4]) ;
+ dhcpIp = Net.makeIp4(lines[ 5]) ;
+ routerIp = Net.makeIp4(lines[ 6]) ;
+ subnetMask = Net.makeIp4(lines[ 7]) ;
+ broadcastIp = Net.makeIp4(lines[ 8]) ;
+ leaseTime = parseInt(lines[ 9], 16);
+ renewalT1 = parseInt(lines[10], 16);
+ renewalt2 = parseInt(lines[11], 16);
+ elapsed = parseInt(lines[12], 16);
+}
+function parse()
+{
+ let topics = Ajax.response.split('\f');
+ parseGenLines(topics[0]);
+ parseArpLines(topics[1]);
+ parseDnsLines(topics[2]);
+}
+function display()
+{
+ let elem;
+
+ elem = Ajax.getElementOrNull('ajax-local-ip' ); if (elem) elem.textContent = localIp;
+ elem = Ajax.getElementOrNull('ajax-domain-name' ); if (elem) elem.textContent = domainName;
+ elem = Ajax.getElementOrNull('ajax-host-name' ); if (elem) elem.textContent = hostName;
+ elem = Ajax.getElementOrNull('ajax-ntp-ip' ); if (elem) elem.textContent = ntpIp;
+ elem = Ajax.getElementOrNull('ajax-dns-ip' ); if (elem) elem.textContent = dnsIp;
+ elem = Ajax.getElementOrNull('ajax-dhcp-ip' ); if (elem) elem.textContent = dhcpIp;
+ elem = Ajax.getElementOrNull('ajax-router-ip' ); if (elem) elem.textContent = routerIp;
+ elem = Ajax.getElementOrNull('ajax-subnet-mask' ); if (elem) elem.textContent = subnetMask;
+ elem = Ajax.getElementOrNull('ajax-broadcast-ip'); if (elem) elem.textContent = broadcastIp;
+ elem = Ajax.getElementOrNull('ajax-lease-time' ); if (elem) elem.textContent = leaseTime;
+ elem = Ajax.getElementOrNull('ajax-renewal-t1' ); if (elem) elem.textContent = renewalT1;
+ elem = Ajax.getElementOrNull('ajax-renewal-t2' ); if (elem) elem.textContent = renewalt2;
+ elem = Ajax.getElementOrNull('ajax-elapsed' ); if (elem) elem.textContent = elapsed;
+ elem = Ajax.getElementOrNull('ajax-arp' ); if (elem) elem.textContent = arp;
+ elem = Ajax.getElementOrNull('ajax-dns' ); if (elem) elem.textContent = dns;
+}
+
+Ajax.server = '/net4-ajax';
+Ajax.onResponse = function() { parse(); display(); };
+Ajax.init();