Index: trunk/FACT++/src/mcp.cc
===================================================================
--- trunk/FACT++/src/mcp.cc	(revision 13580)
+++ trunk/FACT++/src/mcp.cc	(revision 13585)
@@ -56,4 +56,6 @@
         kStateConfiguring3,
         kStateConfigured,
+        kStateTriggerOn,
+        kStateTakingData,
 //        kStateRunInProgress,
     };
@@ -388,8 +390,25 @@
                     return GetCurrentState();
 
+                Update(kStateTriggerOn);
+
+                return kStateTriggerOn;
+            }
+
+            if (GetCurrentState()==kStateTriggerOn)
+            {
+                if (fStatusFTM.second != FAD::kWritingData)
+                    return GetCurrentState();
+
+                Update(kStateTakingData);
+
+                return kStateTakingData;
+            }
+
+            if (GetCurrentState()==kStateTakingData)
+            {
+                if (fStatusFTM.second==FTM::kTriggerOn && fStatusFAD.second==FAD::kWritingData)
+                    return kStateTakingData;
+
                 Update(kStateIdle);
-
-                // Now we are taking data... we could now wait for
-                // the fad to go back to -1
             }
 
@@ -467,8 +486,14 @@
 
         AddStateName(kStateConfiguring3, "Configuring3",
-                     "Waiting for FAD to get ready");
+                     "Waiting for FADs and reate control to get ready");
 
         AddStateName(kStateConfigured, "Configured",
-                     ".");
+                     "Everything is configured, trigger will be switched on now");
+
+        AddStateName(kStateTriggerOn, "TriggerOn",
+                     "The trigger is switched on, waiting for FAD to receive data");
+
+        AddStateName(kStateTakingData, "TakingData",
+                     "The trigger is switched on, FADs are sending data");
 
 
