From 6594f1344fc7e77717f933671e93d80aa4e40bf0 Mon Sep 17 00:00:00 2001 From: Jeremy Tan Date: Sun, 22 Sep 2013 14:19:30 +0800 Subject: [PATCH] Add graphs. Currently eats 100% of my cpu... --- testing/MCTXWeb/public_html/index.html | 43 ++++++++----------- .../MCTXWeb/public_html/static/mctx.gui.js | 40 +++++++++++++++-- testing/MCTXWeb/public_html/static/style.css | 5 +++ 3 files changed, 59 insertions(+), 29 deletions(-) diff --git a/testing/MCTXWeb/public_html/index.html b/testing/MCTXWeb/public_html/index.html index dd9ebe2..b735b78 100644 --- a/testing/MCTXWeb/public_html/index.html +++ b/testing/MCTXWeb/public_html/index.html @@ -14,6 +14,7 @@ @@ -30,13 +31,12 @@
+
diff --git a/testing/MCTXWeb/public_html/static/mctx.gui.js b/testing/MCTXWeb/public_html/static/mctx.gui.js index 478e9ad..e7dd167 100644 --- a/testing/MCTXWeb/public_html/static/mctx.gui.js +++ b/testing/MCTXWeb/public_html/static/mctx.gui.js @@ -3,8 +3,7 @@ */ mctx = {}; -//mctx.api = location.protocol + "/" + location.host + "/api/"; -mctx.api = "http://mctx.us.to:8080/api/"; +mctx.api = location.protocol + "//" + location.host + "/api/"; mctx.expected_api_version = 0; mctx.sensors = { 0 : {name : "Strain gauge 1"}, @@ -22,6 +21,10 @@ mctx.actuators = { 3 : {name : "Pressure regulator"} }; +mctx.strain_gauges = {}; +mctx.strain_gauges.ids = [0, 1, 2, 3]; +mctx.strain_gauges.time_limit = 20; + function getDate(){ document.write((new Date()).toDateString()); } @@ -62,9 +65,10 @@ $.fn.populateNavbar = function () { * @returns {$.fn} */ $.fn.setCamera = function () { - var loc = mctx.api + "image"; + var url = mctx.api + "image"; var update = true; + //Stop updating if we can't retrieve an image! this.error(function() { update = false; }); @@ -78,11 +82,39 @@ $.fn.setCamera = function () { return; } - parent.attr("src", loc + "#" + (new Date()).getTime()); + parent.attr("src", url + "#" + (new Date()).getTime()); setTimeout(updater, 500); }; + updater(); + return this; +}; + +$.fn.setStrainGraphs = function () { + var sensor_url = mctx.api + "sensors"; + var graphdiv = this; + + var updater = function () { + var time_limit = mctx.strain_gauges.time_limit; + var responses = new Array(mctx.strain_gauges.ids.length); + + for (var i = 0; i < mctx.strain_gauges.ids.length; i++) { + var parameters = {id : i, start_time: -time_limit}; + responses[i] = $.ajax({url : sensor_url, data : parameters}); + } + + $.when.apply(this, responses).then(function () { + var data = new Array(arguments.length); + for (var i = 0; i < arguments.length; i++) { + var raw_data = arguments[i][0].data; + data[i] = raw_data; + } + $.plot(graphdiv, data); + setTimeout(updater, 500); + }, function () {alert("boo");}); + }; + updater(); return this; }; \ No newline at end of file diff --git a/testing/MCTXWeb/public_html/static/style.css b/testing/MCTXWeb/public_html/static/style.css index 6cba6c9..c632935 100644 --- a/testing/MCTXWeb/public_html/static/style.css +++ b/testing/MCTXWeb/public_html/static/style.css @@ -125,6 +125,11 @@ input[type="text"], input[type="password"] { margin-bottom: 0.5em; } +.graph { + width: 100%; + height: 200px; +} + .widget { background-color: #ffffff; margin: 0.25em 0.25em 1.5em; -- 2.20.1