stuff
[matches/MCTX3420.git] / testing / MCTXWeb / public_html / static / mctx.control.js
index 1d5c744..d3b5348 100644 (file)
@@ -47,6 +47,7 @@ function setSampleRate(id, val, result) {
 
 $.fn.loadSensorList = function (result, input) {
   var select = this;
+  select.empty(); //Reset list
   
   $.ajax({
     url : mctx.api + 'identify',
@@ -56,7 +57,7 @@ $.fn.loadSensorList = function (result, input) {
       return;
     }
     for (var id in data.sensors) {
-      var option = $("<option/>", {value : id, text : data.sensors[id]});
+      var option = $("<option/>", {value : id, text : data.sensors[id].name});
       select.append(option);
     }
   });
@@ -103,13 +104,15 @@ $.fn.setStatusUpdater = function () {
           fail = true;
       }
       
-      if (data.control_state_id !== mctx.control.state) {      
+      if (data.control_state_id !== mctx.control.state) {   
+        //Set logic for sensor sample rate thing
+        $("#sensor-select").loadSensorList($("#samplerate-result"));      
         toggleControls(running);
         $(result).text(text);
         if (fail) {
-          $(result).parent().addClass("fail");
+          $(result).parent().addClass("fail").removeClass("pass");
         } else {
-          $(result).parent().addClass("pass");
+          $(result).parent().addClass("pass").removeClass("fail");
         }
         
         mctx.control.state = data.control_state_id;
@@ -130,6 +133,8 @@ $.fn.setStatusUpdater = function () {
 $.fn.startExperiment = function (group, experiment, force, result) {
  $(group).attr('disabled', 'disabled');
  
+ var can_number = ($(this).attr("name") === "start_strain") ? 0 : 1;
  if (!experiment || !experiment.match(/^[a-zA-Z0-9_-]+$/)) {
    result.text("Experiment names must be composed of alphanumeric characters" + 
                " or the characters -_-").addClass("fail");
@@ -142,6 +147,7 @@ $.fn.startExperiment = function (group, experiment, force, result) {
    data.force = 1;
  }
  
+ //Start the experiment
  $.ajax({
    url : mctx.control.api,
    data : data
@@ -149,9 +155,33 @@ $.fn.startExperiment = function (group, experiment, force, result) {
    if (!result.checkStatus(data)) {
      return;
    }
-   result.html("&nbsp;");
-   toggleControls(true);
- }).always(function () {
+   
+   //Select the can
+   $.ajax({
+    url : mctx.api + "actuators",
+    data : {name : "can_select", set : can_number}
+   }).done(function (data) {
+    if (!result.checkStatus(data)) {
+     return;
+    }
+    
+    //Enable the can
+    $.ajax({
+      url : mctx.api + 'actuators',
+      data : {name : "can_enable", set : 1}
+    }).done(function (data) {
+      if (!result.checkStatus(data)) {
+        return;
+      }
+      result.html("&nbsp;");
+      toggleControls(true);
+    }).always(function () {
+      $(group).removeAttr('disabled');
+    });
+   }).fail(function () {
+    $(group).removeAttr('disabled');
+   });
+ }).fail(function () {
    $(group).removeAttr('disabled');
  });
 };
@@ -187,11 +217,11 @@ $.fn.setPressure = function(pressure, result) {
     pressure[k] = n;
   }
   
-  var set = pressure['set'] + "," + pressure['wait'] + ","
-            pressure['size'] + "," + pressure['count'];
-  $.ajax({
+  var set = pressure['set'] + "_" + pressure['wait'] + "_" +
+            pressure['step'] + "_" + pressure['count'];
+  return $.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