Merge branch 'master' of github:/szmoore/MCTX3420
[matches/MCTX3420.git] / testing / MCTXWeb / public_html / static / mctx.gui.js
1 /**
2  * MCTX3420 2013 GUI stuff.
3  */
4
5 mctx = {};
6 //mctx.api = location.protocol + "/" +  location.host + "/api/";
7 mctx.api = "http://mctx.us.to:8080/api/";
8 mctx.expected_api_version = 0;
9 mctx.sensors = {
10   0 : {name : "Strain gauge 1"},
11   1 : {name : "Strain gauge 2"},
12   2 : {name : "Strain gauge 3"},
13   3 : {name : "Strain gauge 4"},
14   4 : {name : "Pressure sensor 1"},
15   5 : {name : "Pressure sensor 2"}
16 };
17
18 mctx.actuators = {
19   0 : {name : "Solenoid 1"},
20   1 : {name : "Solenoid 2"},
21   2 : {name : "Solenoid 3"},
22   3 : {name : "Pressure regulator"}
23 };
24
25 function getDate(){
26         document.write((new Date()).toDateString());
27 }
28
29 /** 
30  * Populates the navigation bar
31  */
32 $.fn.populateNavbar = function () {
33   var menu = $("<ul/>", {class : "menu"});
34   var sensorEntry = $("<li/>").append($("<a/>", {text : "Sensor data", href : "#"}));
35   var submenu = $("<ul/>", {class : "submenu"});
36   
37   for (sensor in mctx.sensors) {
38     var href = mctx.api + "sensors?start_time=0&format=tsv&id=" + sensor;
39     submenu.append($("<li/>").append(
40           $("<a/>", {text : mctx.sensors[sensor].name, 
41                      href : href, target : "_blank"})
42     ));
43   }
44   menu.append(sensorEntry.append(submenu));
45   
46   var actuatorEntry = $("<li/>").append($("<a/>", {text : "Actuator data", href : "#"}));
47   submenu = $("<ul/>", {class : "submenu"});
48   
49   for (actuator in mctx.actuators) {
50     var href = mctx.api + "actuators?start_time=0&format=tsv&id=" + actuator;
51     submenu.append($("<li/>").append(
52           $("<a/>", {text : mctx.actuators[actuator].name, 
53                      href : href, target : "_blank"})
54     ));
55   }
56   menu.append(actuatorEntry.append(submenu));  
57   menu.appendTo(this);
58 }
59
60 /**
61  * Sets the camera autoupdater
62  * @returns {$.fn}
63  */
64 $.fn.setCamera = function () {
65   var loc = mctx.api + "image";
66   var update = true;
67
68   this.error(function() {
69     update = false;
70   });
71   
72   var parent = this;
73   
74   var updater = function() {
75     if (!update) {
76       alert("Cam fail");
77       parent.attr("src", "");
78       return;
79     }
80     
81     parent.attr("src", loc + "#" + (new Date()).getTime());
82     
83     setTimeout(updater, 500);
84   };
85   
86   updater();
87   return this;
88 };

UCC git Repository :: git.ucc.asn.au