Index: trunk/FACT++/scripts/Main.js
===================================================================
--- trunk/FACT++/scripts/Main.js	(revision 18514)
+++ trunk/FACT++/scripts/Main.js	(revision 18515)
@@ -161,9 +161,10 @@
 
     var isClosed = dim.state("LID_CONTROL").name=="Closed";
+    var isInconsistent = dim.state("LID_CONTROL").name=="Inconsistent";
 
     var tm = new Date();
 
     // Wait for lid to be open
-    if (isClosed)
+    if (isClosed || isInconsistent)
     {
         dim.log("Opening lid");
@@ -183,5 +184,5 @@
     dim.wait("LID_CONTROL", "Open", 30000);
 
-    if (isClosed)
+    if (isClosed || isInconsistent)
         dim.log("Lid open [%.1fs]".$((new Date()-tm)/1000));
 }
@@ -205,5 +206,7 @@
         dim.send("LID_CONTROL/CLOSE");
     }
-    dim.wait("LID_CONTROL", "Closed", 30000);
+    v8.timeout(30000, function() { if (dim.state("LID_CONTROL").name=="Closed" || dim.state("LID_CONTROL").name=="Inconsistent") return true; });
+    //dim.wait("LID_CONTROL", "Closed", 30000);
+    //dim.wait("LID_CONTROL", "Inconsistent", 30000);
 
     if (isOpen)
@@ -248,4 +251,8 @@
     for (var i=0; i<320; i++)
     {
+        // This is a fix for the channel with a shortcut
+        if (i==272)
+            continue;
+
         var dU = Uov[i]-Unom;
 
@@ -444,4 +451,26 @@
         dim.log("Taking single p.e. run.");
         while (!irq && !takeRun("single-pe", 10000));
+
+        /*
+         Maybe we need to send a trigger... but data runs contain pedestal triggers... so it should work in any case...
+        var customRun = function()
+            {
+                v8.sleep(500);//wait that configuration is set
+                dim.wait("FTM_CONTROL", "TriggerOn", 15000);
+                dim.send("FAD_CONTROL/SEND_SINGLE_TRIGGER");
+                dim.send("RATE_CONTROL/STOP");
+                dim.send("FTM_CONTROL/STOP_TRIGGER");
+                dim.wait("FTM_CONTROL", "Valid", 3000);
+                dim.send("FTM_CONTROL/ENABLE_TRIGGER", true);
+                dim.send("FTM_CONTROL/SET_TIME_MARKER_DELAY", 123);
+                dim.send("FTM_CONTROL/SET_THRESHOLD", -1, obs[sub].threshold);
+                v8.sleep(500);//wait that configuration is set
+                dim.send("FTM_CONTROL/START_TRIGGER");
+                dim.wait("FTM_CONTROL", "TriggerOn", 15000);
+            }*/
+
+
+        dim.log("Taking data run with closed lid.");
+        while (!irq && !takeRun("data", -1, 300));
     }
 
@@ -957,5 +986,6 @@
          [ "BIAS_CONTROL",        [ "VoltageOff", "VoltageOn", "Ramping" ] ],
          [ "FEEDBACK",            [ "Calibrated", "InProgress", "OnStandby", "Warning", "Critical" ] ],
-         [ "LID_CONTROL",         [ "Open", "Closed"           ] ],
+//         [ "LID_CONTROL",         [ "Open", "Closed"           ] ],
+         [ "LID_CONTROL",         [ "Open", "Closed", "Inconsistent"  ] ],
          [ "DRIVE_CONTROL",       drive_states/*[ "Armed", "Tracking", "OnTrack" ]*/ ],
          [ "FTM_CONTROL",         [ "Valid", "TriggerOn"       ] ],
@@ -1168,6 +1198,6 @@
                 if (irq || !takeRun("pedestal",         1000))  // 80 Hz  -> 10s
                     continue;
-                if (irq || !takeRun("light-pulser-ext", 1000))  // 80 Hz  -> 10s
-                    continue;
+                //if (irq || !takeRun("light-pulser-ext", 1000))  // 80 Hz  -> 10s
+                //    continue;
                 break;
             }
@@ -1376,5 +1406,5 @@
             }
 
-            takeRun(customRun, -1, obs[sub].time);
+            takeRun("custom", -1, obs[sub].time, customRun);
         }
         dim.log("Task finished [CUSTOM].");
