mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-09 21:56:50 -04:00
47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
// Copyright 2018 Team 254. All Rights Reserved.
|
|
// Author: pat@patfairbank.com (Patrick Fairbank)
|
|
//
|
|
// Client-side logic for the field setup page.
|
|
|
|
var websocket;
|
|
|
|
// Sends a websocket message to change the LED display mode.
|
|
var setLedMode = function() {
|
|
websocket.send("setLedMode", {LedMode: parseInt($("input[name=ledMode]:checked").val()),
|
|
VaultLedMode: parseInt($("input[name=vaultLedMode]:checked").val())});
|
|
};
|
|
|
|
// Handles a websocket message to update the LED test mode.
|
|
var handleLedMode = function(data) {
|
|
$("input[name=ledMode]:checked").prop("checked", false);
|
|
$("input[name=ledMode][value=" + data.LedMode + "]").prop("checked", true);
|
|
|
|
$("input[name=vaultLedMode]:checked").prop("checked", false);
|
|
$("input[name=vaultLedMode][value=" + data.VaultLedMode + "]").prop("checked", true);
|
|
};
|
|
|
|
// Handles a websocket message to update the PLC IO status.
|
|
var handlePlcIoChange = function(data) {
|
|
$.each(data.Inputs, function(index, input) {
|
|
$("#input" + index).text(input)
|
|
$("#input" + index).attr("data-plc-value", input);
|
|
});
|
|
|
|
$.each(data.Registers, function(index, register) {
|
|
$("#register" + index).text(register)
|
|
});
|
|
|
|
$.each(data.Coils, function(index, coil) {
|
|
$("#coil" + index).text(coil)
|
|
$("#coil" + index).attr("data-plc-value", coil);
|
|
});
|
|
};
|
|
|
|
$(function() {
|
|
// Set up the websocket back to the server.
|
|
websocket = new CheesyWebsocket("/setup/led_plc/websocket", {
|
|
ledMode: function(event) {handleLedMode(event.data); },
|
|
plcIoChange: function(event) { handlePlcIoChange(event.data); }
|
|
});
|
|
});
|