Fix everything
[matches/MCTX3420.git] / testing / MCTXWeb / public_html / static / mctx.control.js
index 24b0448..de45e61 100644 (file)
@@ -26,6 +26,43 @@ function toggleControls(running) {
   }
 }
 
+function setSampleRate(id, val, result) {
+  var n = Number(val);
+  if (isNaN(n) || n < 0) {
+    result.text("You must give positive numeric values.").addClass("fail");
+    return;
+  }
+  
+  $.ajax({
+    url : mctx.api + 'sensors',
+    data : {id : id, sample_s : n}
+  }).done(function(data) {
+    if (!result.checkStatus(data)) {
+      return;
+    }
+    
+    result.text("Set ok!").removeClass("fail").addClass("pass");
+  });
+};
+
+$.fn.loadSensorList = function (result, input) {
+  var select = this;
+  select.empty(); //Reset list\r
+  
+  $.ajax({
+    url : mctx.api + 'identify',
+    data : {'sensors' : 1}
+  }).done(function(data) {
+    if (!result.checkStatus(data)) {
+      return;
+    }
+    for (var id in data.sensors) {
+      var option = $("<option/>", {value : id, text : data.sensors[id].name});
+      select.append(option);
+    }
+  });
+}
+
 $.fn.setStatusUpdater = function () {
   var result = this;
   
@@ -67,7 +104,9 @@ $.fn.setStatusUpdater = function () {
           fail = true;
       }
       
-      if (data.control_state_id !== mctx.control.state) {      
+      if (data.control_state_id !== mctx.control.state) {   \r
+        //Set logic for sensor sample rate thing\r
+        $("#sensor-select").loadSensorList($("#samplerate-result"));      
         toggleControls(running);
         $(result).text(text);
         if (fail) {
@@ -93,6 +132,8 @@ $.fn.setStatusUpdater = function () {
 
 $.fn.startExperiment = function (group, experiment, force, result) {
  $(group).attr('disabled', 'disabled');
\r
+ var can_number = ($(this).attr("name") === "start_strain") ? 0 : 1;\r
  
  if (!experiment || !experiment.match(/^[a-zA-Z0-9_-]+$/)) {
    result.text("Experiment names must be composed of alphanumeric characters" + 
@@ -105,17 +146,42 @@ $.fn.startExperiment = function (group, experiment, force, result) {
  if (force) {
    data.force = 1;
  }
\r
+ //Start the experiment
  $.ajax({
    url : mctx.control.api,
    data : data
  }).done(function (data) {
    if (!result.checkStatus(data)) {
      return;
-   }
-   result.html("&nbsp;");
-   toggleControls(true);
- }).always(function () {
+   }\r
+   \r
+   //Select the can\r
+   $.ajax({\r
+    url : mctx.api + "actuators",\r
+    data : {name : "can_select", set : can_number}\r
+   }).done(function (data) {\r
+    if (!result.checkStatus(data)) {\r
+     return;\r
+    }\r
+    \r
+    //Enable the can\r
+    $.ajax({\r
+      url : mctx.api + 'actuators',\r
+      data : {name : "can_enable", set : 1}\r
+    }).done(function (data) {\r
+      if (!result.checkStatus(data)) {\r
+        return;\r
+      }\r
+      result.html("&nbsp;");\r
+      toggleControls(true);\r
+    }).always(function () {\r
+      $(group).removeAttr('disabled');\r
+    });\r
+   }).fail(function () {\r
+    $(group).removeAttr('disabled');\r
+   });
+ }).fail(function () {
    $(group).removeAttr('disabled');
  });
 };
@@ -151,11 +217,11 @@ $.fn.setPressure = function(pressure, result) {
     pressure[k] = n;
   }
   
-  var set = pressure['set'] + "," + pressure['wait'] + ","
-            pressure['size'] + "," + pressure['count'];
+  var set = pressure['set'] + "_" + pressure['wait'] + "_" +
+            pressure['step'] + "_" + pressure['count'];
   $.ajax({
     url : mctx.api + "actuators",
-    data : {id : mctx.actuator.pressure_regulator, set : set}
+    data : {name : "pregulator", set : set}
   }).done(function (data) {
     if (!result.checkStatus(data)) {
       return;

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