Index: /trunk/FACT++/scripts/handleAgilentPowerOn24V.js
===================================================================
--- /trunk/FACT++/scripts/handleAgilentPowerOn24V.js	(revision 19460)
+++ /trunk/FACT++/scripts/handleAgilentPowerOn24V.js	(revision 19460)
@@ -0,0 +1,37 @@
+'use strict';
+
+// switch agilent control output on
+function handleAgilentPowerOn(wait_state)
+{
+    var state = dim.state("AGILENT_CONTROL_24V");
+    if (state===undefined)
+        return undefined;
+
+    if (wait_state && wait_state.length>0 && state.name!=wait_state)
+        return wait_state;
+
+    //dim.log("AGILENT_CONTROL:  "+state.name+"["+state.index+"]");
+
+    switch (state.name)
+    {
+    case "Disconnected":
+    case "Connected":
+        return undefined;
+
+    case "VoltageLow":
+        return wait_state;
+
+    case "VoltageOff":
+        console.out("Agilent in 'VoltageOff'... sending SET_POWER ON... waiting for 'VoltageOn'.");
+        dim.send("AGILENT_CONTROL_24V/SET_POWER", true);
+        return "VoltageOn";
+
+    case "VoltageOn":
+        return "";
+
+    case "VoltageHigh":
+        throw new Error("Agilent reports voltage above limit ('VoltageHigh')... please check.");
+    }
+
+    throw new Error("AGILENT_CONTROL_24V:"+state.name+"["+state.index+"] unknown or not handled.");
+}
