Index: /trunk/FACT++/src/ftmctrl.cc
===================================================================
--- /trunk/FACT++/src/ftmctrl.cc	(revision 10560)
+++ /trunk/FACT++/src/ftmctrl.cc	(revision 10561)
@@ -619,4 +619,51 @@
         return true;
     }
+    bool SetTriggerInterval(uint32_t val)
+    {
+        if (val>StaticData::kMaxTriggerInterval)
+            return false;
+
+        fStaticData.fTriggerInterval = val;
+
+        CmdSendStatDat();
+
+        return true;
+    }
+
+    bool SetTriggerDelay(uint32_t val)
+    {
+        if (val>StaticData::kMaxDelayTrigger)
+            return false;
+
+        fStaticData.fDelayTrigger = val;
+
+        CmdSendStatDat();
+
+        return true;
+    }
+
+    bool SetTimeMarkerDelay(uint32_t val)
+    {
+        if (val>StaticData::kMaxDelayTimeMarker)
+            return false;
+
+        fStaticData.fDelayTimeMarker = val;
+
+        CmdSendStatDat();
+
+        return true;
+    }
+
+    bool SetDeadTime(uint32_t val)
+    {
+        if (val>StaticData::kMaxDeadTime)
+            return false;
+
+        fStaticData.fDeadTime = val;
+
+        CmdSendStatDat();
+
+        return true;
+    }
 
     int GetState() const { return IsConnected() ? fState : (int)FTM::kDisconnected; }
@@ -904,4 +951,48 @@
     }
 
+    int SetTriggerInterval(const EventImp &evt)
+    {
+        if (!CheckEventSize(evt.GetSize(), "SetTriggerInterval", 4))
+            return T::kSM_FatalError;
+
+        if (!fFTM.SetTriggerInterval(evt.GetInt()))
+            T::Warn("SetTriggerInterval - Value out of range.");
+
+        return T::GetCurrentState();
+    }
+
+    int SetTriggerDelay(const EventImp &evt)
+    {
+        if (!CheckEventSize(evt.GetSize(), "SetTriggerDelay", 4))
+            return T::kSM_FatalError;
+
+        if (!fFTM.SetTriggerDelay(evt.GetInt()))
+            T::Warn("SetTriggerDealy -  Value out of range.");
+
+        return T::GetCurrentState();
+    }
+
+    int SetTimeMarkerDelay(const EventImp &evt)
+    {
+        if (!CheckEventSize(evt.GetSize(), "SetTimeMarkerDelay", 4))
+            return T::kSM_FatalError;
+
+        if (!fFTM.SetTimeMarkerDelay(evt.GetInt()))
+            T::Warn("SetTimeMarkerDelay -  Value out of range.");
+
+        return T::GetCurrentState();
+    }
+
+    int SetDeadTime(const EventImp &evt)
+    {
+        if (!CheckEventSize(evt.GetSize(), "SetDeadTime", 4))
+            return T::kSM_FatalError;
+
+        if (!fFTM.SetDeadTime(evt.GetInt()))
+            T::Warn("SetDeadTime -  Value out of range.");
+
+        return T::GetCurrentState();
+    }
+
     int Disconnect()
     {
@@ -1047,4 +1138,24 @@
              "|Board[idx]:Index of the board (0-39)");
 
+        AddConfiguration("SET_TRIGGER_INTERVAL", "I:1", kStateIdle)
+            (boost::bind(&StateMachineFTM::SetTriggerInterval, this, _1))
+            (""
+             "|[]:");
+
+        AddConfiguration("SET_TRIGGER_DELAY", "I:1", kStateIdle)
+            (boost::bind(&StateMachineFTM::SetTriggerDelay, this, _1))
+            (""
+             "|[]:");
+
+        AddConfiguration("SET_TIME_MARKER_DELAY", "I:1", kStateIdle)
+            (boost::bind(&StateMachineFTM::SetTimeMarkerDelay, this, _1))
+            (""
+             "|[]:");
+
+        AddConfiguration("SET_DEAD_TIME", "I:1", kStateIdle)
+            (boost::bind(&StateMachineFTM::SetDeadTime, this, _1))
+            (""
+             "|[]:");
+
         T::AddConfiguration("SET_VERBOSE", "B")
             (boost::bind(&StateMachineFTM::SetVerbosity, this, _1))
@@ -1086,5 +1197,4 @@
         // ENABLE_EXT1            bool
         // ENABLE_EXT2            bool
-        // ENABLE_TIM             bool
         // ENABLE_VETO            bool
         // ---> Enable(bit, bool)
