kopia lustrzana https://github.com/cyoung/stratux
126 wiersze
4.0 KiB
JavaScript
126 wiersze
4.0 KiB
JavaScript
var socket;
|
|
|
|
function setLEDstatus(ledElement, status) {
|
|
if (status) {
|
|
ledElement.removeClass('led-red');
|
|
ledElement.addClass('led-green');
|
|
} else {
|
|
ledElement.removeClass('led-green');
|
|
ledElement.addClass('led-red');
|
|
}
|
|
}
|
|
|
|
function setConnectedClass(cssClass) {
|
|
$('#connectedLabel').removeClass('label-success');
|
|
$('#connectedLabel').removeClass('label-warning');
|
|
$('#connectedLabel').removeClass('label-danger');
|
|
$('#connectedLabel').addClass(cssClass);
|
|
|
|
if (cssClass == 'label-success')
|
|
$('#connectedLabel').text('Connected');
|
|
else
|
|
$('#connectedLabel').text('Disconnected');
|
|
}
|
|
|
|
function connect() {
|
|
socket = new WebSocket('ws://' + window.location.hostname + '/control');
|
|
|
|
socket.onopen = function (msg) {
|
|
setConnectedClass('label-success');
|
|
};
|
|
|
|
socket.onclose = function (msg) {
|
|
setConnectedClass('label-danger');
|
|
setTimeout(connect, 1000);
|
|
};
|
|
|
|
socket.onerror = function (msg) {
|
|
setConnectedClass('label-danger');
|
|
};
|
|
|
|
socket.onmessage = function (msg) {
|
|
console.log('Received status update.')
|
|
|
|
var status = JSON.parse(msg.data)
|
|
|
|
// Update Status
|
|
$('#Version').text(status.Version);
|
|
$('#Devices').text(status.Devices);
|
|
$('#Connected_Users').text(status.Connected_Users);
|
|
$('#UAT_messages_last_minute').text(status.UAT_messages_last_minute);
|
|
$('#UAT_messages_max').text(status.UAT_messages_max);
|
|
$('#ES_messages_last_minute').text(status.ES_messages_last_minute);
|
|
$('#ES_messages_max').text(status.ES_messages_max);
|
|
$('#GPS_satellites_locked').text(status.GPS_satellites_locked);
|
|
setLEDstatus($('#RY835AI_connected'), status.RY835AI_connected);
|
|
|
|
/* the formatting code could move to the other end of the socket */
|
|
var uptime = status.Uptime;
|
|
if (uptime != undefined) {
|
|
var up_s = parseInt((uptime/1000)%60),
|
|
up_m = parseInt((uptime/(1000*60))%60),
|
|
up_h = parseInt((uptime/(1000*60*60))%24);
|
|
$('#Uptime').text(((up_h<10)?"0"+up_h:up_h) + "h" + ((up_m<10)?"0"+up_m:up_m) + "m" + ((up_s<10)?"0"+up_s:up_s) + "s");
|
|
} else {
|
|
// $('#Uptime').text('unavailable');
|
|
}
|
|
var boardtemp = status.CPUTemp;
|
|
if (boardtemp != undefined) {
|
|
/* boardtemp is celcius to tenths */
|
|
$('#CPUTemp').text(boardtemp.toFixed(1) + 'C / ' + ((boardtemp*9/5)+32.0).toFixed(1) + 'F');
|
|
} else {
|
|
// $('#CPUTemp').text('unavailable');
|
|
}
|
|
|
|
// Update Settings
|
|
$('input[name=UAT_Enabled]').prop('checked', status.UAT_Enabled);
|
|
$('input[name=ES_Enabled]').prop('checked', status.ES_Enabled);
|
|
$('input[name=GPS_Enabled]').prop('checked', status.GPS_Enabled);
|
|
$('input[name=AHRS_Enabled]').prop('checked', status.AHRS_Enabled);
|
|
};
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
connect();
|
|
|
|
$('input[name=UAT_Enabled]').click(function () {
|
|
console.log('UAT_Enabled clicked');
|
|
|
|
msg = {
|
|
setting: 'UAT_Enabled',
|
|
state: $('input[name=UAT_Enabled]').prop('checked')
|
|
};
|
|
socket.send(JSON.stringify(msg));
|
|
});
|
|
|
|
$('input[name=ES_Enabled]').click(function () {
|
|
console.log('ES_Enabled clicked');
|
|
|
|
msg = {
|
|
setting: 'ES_Enabled',
|
|
state: $('input[name=ES_Enabled]').prop('checked')
|
|
};
|
|
socket.send(JSON.stringify(msg));
|
|
});
|
|
|
|
$('input[name=GPS_Enabled]').click(function () {
|
|
console.log('GPS_Enabled clicked');
|
|
|
|
msg = {
|
|
setting: 'GPS_Enabled',
|
|
state: $('input[name=GPS_Enabled]').prop('checked')
|
|
};
|
|
socket.send(JSON.stringify(msg));
|
|
});
|
|
|
|
$('input[name=AHRS_Enabled]').click(function () {
|
|
console.log('AHRS_Enabled clicked');
|
|
|
|
msg = {
|
|
setting: 'AHRS_Enabled',
|
|
state: $('input[name=AHRS_Enabled]').prop('checked')
|
|
};
|
|
socket.send(JSON.stringify(msg));
|
|
});
|
|
|
|
}); |