}
function render_signal_badge(signalPercent, signalValue, noiseValue, wrap) {
- var icon, title;
+ var icon, title, value;
if (signalPercent < 0)
icon = L.resource('icons/signal-none.png');
else
icon = L.resource('icons/signal-75-100.png');
- if (signalValue != null && signalValue != 0) {
- title = '%s %d %s'.format(_('Signal'), signalValue, _('dBm'));
-
- if (noiseValue != null && noiseValue != 0)
- title += ' / %s: %d %s'.format(_('Noise'), noiseValue, _('dBm'));
+ if (signalValue != null && signalValue != 0 && noiseValue != null && noiseValue != 0) {
+ value = '%d / %d %s'.format(signalValue, noiseValue, _('dBm'));
+ title = '%s: %d %s / %s: %d %s / %s %d'.format(
+ _('Signal'), signalValue, _('dBm'),
+ _('Noise'), noiseValue, _('dBm'),
+ _('SNR'), signalValue - noiseValue);
+ }
+ else if (signalValue != null && signalValue != 0) {
+ value = '%d %s'.format(signalValue, _('dBm'));
+ title = '%s: %d %s'.format(_('Signal'), signalValue, _('dBm'));
}
else {
+ value = E('em', {}, E('small', {}, [ _('disabled') ]));
title = _('No signal');
}
return E('div', { 'class': wrap ? 'center' : 'ifacebadge', 'title': title },
- [ E('img', { 'src': icon }), wrap ? E('br') : ' ', '%d%%'.format(Math.max(signalPercent, 0)) ]);
+ [ E('img', { 'src': icon }), wrap ? E('br') : ' ', value ]);
}
function render_network_badge(radioNet) {
ipv6 = hosthints.getIP6AddrByMACAddr(bss.mac);
var icon;
- var q = (-1 * (bss.noise - bss.signal)) / 5;
- if (q < 1)
+ var q = Math.min((bss.signal + 110) / 70 * 100, 100);
+ if (q == 0)
icon = L.resource('icons/signal-0.png');
- else if (q < 2)
+ else if (q < 25)
icon = L.resource('icons/signal-0-25.png');
- else if (q < 3)
+ else if (q < 50)
icon = L.resource('icons/signal-25-50.png');
- else if (q < 4)
+ else if (q < 75)
icon = L.resource('icons/signal-50-75.png');
else
icon = L.resource('icons/signal-75-100.png');