From a33ebbf72b8f3ae65739df54036205812b7fd538 Mon Sep 17 00:00:00 2001 From: Silver Kuusik Date: Thu, 17 May 2018 18:00:19 +0300 Subject: [PATCH] add connection watchdog --- assets/js/sumorobot.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/assets/js/sumorobot.js b/assets/js/sumorobot.js index 22dcd06..1859a75 100755 --- a/assets/js/sumorobot.js +++ b/assets/js/sumorobot.js @@ -24,6 +24,8 @@ var codingEnabled = false; /* disable / enable live stream */ var liveStreamVisible = false; +/* connection watchdog */ +var watchdogCounter = 0; /* control_if block id */ var controlBlockId = ""; /* last hightlighted block id */ @@ -44,6 +46,15 @@ Sumorobot.prototype.connect = function() { /* to have access to this object */ var self = this; this.websocket = new WebSocket(this.wsUri); + /* setup connection watchdog */ + setInterval(function() { + if (watchdogCounter == 0) { + $("#battery").removeClass("connected"); + $("#battery").html("Disconnected"); + } + /* reset watchdog counter */ + watchdogCounter = 0; + }, 3000); /* when the WebSocket gets connected */ this.websocket.onopen = function(evt) { console.log("INFO websocket connected"); @@ -70,6 +81,9 @@ Sumorobot.prototype.connect = function() { var battery = JSON.parse(data)["battery_voltage"]; $("#battery").html(battery + "V"); $("#battery").addClass("connected"); + /* keep track of data packets */ + /* to see if we have a connection to the robot */ + watchdogCounter += 1; }; /* when there is an WebSocket error */ this.websocket.onerror = function(err) {