Index: /trunk/FACT++/src/HeadersBIAS.h
===================================================================
--- /trunk/FACT++/src/HeadersBIAS.h	(revision 13912)
+++ /trunk/FACT++/src/HeadersBIAS.h	(revision 13913)
@@ -30,17 +30,20 @@
     };
 
-    enum States_t
+    namespace State
     {
-        kDisconnected = 1,//StateMachineImp::kSM_UserMode,
-        kConnecting,
-        kInitializing,
-        kConnected,
-        kRamping,
-        kOverCurrent,
-        kVoltageOff,
-        kNotReferenced,
-        kVoltageOn,
-        kExpertMode // 'forward' declaration to be used in StateMachineBias
-    };
+        enum states_t
+        {
+            kDisconnected = 1,//StateMachineImp::kSM_UserMode,
+            kConnecting,
+            kInitializing,
+            kConnected,
+            kRamping,
+            kOverCurrent,
+            kVoltageOff,
+            kNotReferenced,
+            kVoltageOn,
+            kExpertMode // 'forward' declaration to be used in StateMachineBias
+        };
+    }
 }
 
Index: /trunk/FACT++/src/biasctrl.cc
===================================================================
--- /trunk/FACT++/src/biasctrl.cc	(revision 13912)
+++ /trunk/FACT++/src/biasctrl.cc	(revision 13913)
@@ -24,7 +24,7 @@
 using namespace std::placeholders;
 using namespace std;
+
+// We can do that because we do not include other headers than HeadersBIAS
 using namespace BIAS;
-
-//#define DEBUG
 
 // ------------------------------------------------------------------------
@@ -1438,21 +1438,21 @@
     }
 
-    States_t GetStatus()
+    State::states_t GetStatus()
     {
         if (!IsConnected())
-            return BIAS::kDisconnected;
+            return State::kDisconnected;
 
         if (IsConnecting())
-            return BIAS::kConnecting;
+            return State::kConnecting;
 
         if (fIsInitializing)
-            return BIAS::kInitializing;
+            return State::kInitializing;
 
         if (fIsRamping)
-            return BIAS::kRamping;
+            return State::kRamping;
 
         for (int ch=0; ch<kNumChannels; ch++)
             if (fPresent[ch/kNumChannelsPerBoard] && fCurrent[ch]<0)
-                return BIAS::kOverCurrent;
+                return State::kOverCurrent;
 
         bool isoff = true;
@@ -1461,11 +1461,11 @@
                 isoff = false;
         if (isoff)
-            return BIAS::kVoltageOff;
+            return State::kVoltageOff;
 
         for (int ch=0; ch<kNumChannels; ch++)
             if (fPresent[ch/kNumChannelsPerBoard] && fDacActual[ch]!=fDacTarget[ch])
-                return BIAS::kNotReferenced;
-
-        return BIAS::kVoltageOn;
+                return State::kNotReferenced;
+
+        return State::kVoltageOn;
     }
 
@@ -1853,6 +1853,6 @@
         poll_one();
 
-        return fExpertMode && fBias.GetStatus()>=kConnected ?
-            kExpertMode : fBias.GetStatus();
+        return fExpertMode && fBias.GetStatus()>=State::kConnected ?
+            State::kExpertMode : fBias.GetStatus();
     }
 
@@ -1870,32 +1870,32 @@
 
         // State names
-        T::AddStateName(kDisconnected, "Disconnected",
+        T::AddStateName(State::kDisconnected, "Disconnected",
                         "Bias-power supply not connected via USB.");
 
-        T::AddStateName(kConnecting, "Connecting",
+        T::AddStateName(State::kConnecting, "Connecting",
                         "Trying to establish USB connection to bias-power supply.");
 
-        T::AddStateName(kInitializing, "Initializing",
+        T::AddStateName(State::kInitializing, "Initializing",
                         "USB connection to bias-power supply established, synchronizing USB stream.");
 
-        T::AddStateName(kConnected, "Connected",
+        T::AddStateName(State::kConnected, "Connected",
                         "USB connection to bias-power supply established.");
 
-        T::AddStateName(kNotReferenced, "NotReferenced",
+        T::AddStateName(State::kNotReferenced, "NotReferenced",
                         "Internal reference voltage does not match last sent voltage.");
 
-        T::AddStateName(kVoltageOff, "VoltageOff",
+        T::AddStateName(State::kVoltageOff, "VoltageOff",
                         "All voltages are supposed to be switched off.");
 
-        T::AddStateName(kVoltageOn, "VoltageOn",
+        T::AddStateName(State::kVoltageOn, "VoltageOn",
                         "At least one voltage is switched on and all are at reference.");
 
-        T::AddStateName(kOverCurrent, "OverCurrent",
+        T::AddStateName(State::kOverCurrent, "OverCurrent",
                         "At least one channel is in over current state.");
 
-        T::AddStateName(kExpertMode, "ExpertMode",
+        T::AddStateName(State::kExpertMode, "ExpertMode",
                         "Special (risky!) mode to directly send command to the bias-power supply.");
 
-        T::AddStateName(kRamping, "Ramping",
+        T::AddStateName(State::kRamping, "Ramping",
                         "Voltage ramping in progress.");
 
@@ -1912,8 +1912,8 @@
 
         // Conenction commands
-        T::AddEvent("DISCONNECT", kConnected, kVoltageOff)
+        T::AddEvent("DISCONNECT", State::kConnected, State::kVoltageOff)
             (bind(&StateMachineBias::Disconnect, this))
             ("disconnect from USB");
-        T::AddEvent("RECONNECT", "O", kDisconnected, kConnected, kVoltageOff)
+        T::AddEvent("RECONNECT", "O", State::kDisconnected, State::kConnected, State::kVoltageOff)
             (bind(&StateMachineBias::Reconnect, this, placeholders::_1))
             ("(Re)connect USB connection to Bias power supply, a new address can be given"
@@ -1928,19 +1928,19 @@
 
 
-        T::AddEvent("REQUEST_STATUS", kConnected, kVoltageOn, kVoltageOff, kNotReferenced, kOverCurrent)
+        T::AddEvent("REQUEST_STATUS", State::kConnected, State::kVoltageOn, State::kVoltageOff, State::kNotReferenced, State::kOverCurrent)
             (Wrapper(bind(&ConnectionBias::ReadAllChannels, &fBias, false)))
             ("Asynchronously request the status (current) of all channels.");
 
-        T::AddEvent("RESET_OVER_CURRENT_STATUS", kOverCurrent)
+        T::AddEvent("RESET_OVER_CURRENT_STATUS", State::kOverCurrent)
             (Wrapper(bind(&ConnectionBias::OverCurrentReset, &fBias)))
             ("Set all channels in over current state to 0V and send a system reset to reset the over current flags.");
 
 
-        T::AddEvent("SET_CHANNEL_DAC", "S:1;S:1", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_CHANNEL_DAC", "S:1;S:1", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::SetChannelDac, this, placeholders::_1))
             ("Set a new target value in DAC counts for a single channel. Starts ramping if necessary."
              "|channel[short]:Channel for which to set the target voltage [0-415]"
              "|voltage[dac]:Target voltage in DAC units for the given channel");
-        T::AddEvent("SET_GLOBAL_DAC", "S:1", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_GLOBAL_DAC", "S:1", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::SetGlobalDac, this, placeholders::_1))
             ("Set a new target value for all channels in DAC counts. Starts ramping if necessary. (This command is not realized with the GLOBAL SET command.)"
@@ -1948,14 +1948,14 @@
 
 
-        T::AddEvent("SET_CHANNEL_VOLTAGE", "S:1;F:1", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_CHANNEL_VOLTAGE", "S:1;F:1", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::SetChannelVolt, this, placeholders::_1))
             ("Set a new target voltage for a single channel. Starts ramping if necessary."
              "|channel[short]:Channel for which to set the target voltage [0-415]"
              "|voltage[V]:Target voltage in volts for the given channel (will be converted to DAC units)");
-        T::AddEvent("SET_GLOBAL_VOLTAGE", "F:1", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_GLOBAL_VOLTAGE", "F:1", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::SetGlobalVolt, this, placeholders::_1))
             ("Set a new target voltage for all channels. Starts ramping if necessary. (This command is not realized with the GLOBAL SET command.)"
              "|voltage[V]:Global target voltage in volts (will be converted to DAC units)");
-        T::AddEvent("SET_ALL_CHANNELS_VOLTAGE", "F:416", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_ALL_CHANNELS_VOLTAGE", "F:416", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::SetAllChannelsVolt, this, placeholders::_1))
             ("Set all channels to the given new reference voltage. Starts ramping if necessary."
@@ -1963,14 +1963,14 @@
 
 
-        T::AddEvent("INCREASE_CHANNEL_VOLTAGE", "S:1;F:1", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("INCREASE_CHANNEL_VOLTAGE", "S:1;F:1", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::IncChannelVolt, this, placeholders::_1))
             ("Increases the voltage of all channels by the given offset. Starts ramping if necessary. (This command is not realized with the GLOBAL SET command.)"
              "|channel[short]:Channel for which to adapt the voltage [0-415]"
              "|offset[V]:Offset to be added to all channels (will be converted to DAC counts)");
-        T::AddEvent("INCREASE_GLOBAL_VOLTAGE", "F:1", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("INCREASE_GLOBAL_VOLTAGE", "F:1", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::IncGlobalVolt, this, placeholders::_1))
             ("Increases the voltage of all channels by the given offset. Starts ramping if necessary. (This command is not realized with the GLOBAL SET command.)"
              "|offset[V]:Offset to be added to all channels (will be converted to DAC counts)");
-        T::AddEvent("INCREASE_ALL_CHANNELS_VOLTAGE", "F:416", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("INCREASE_ALL_CHANNELS_VOLTAGE", "F:416", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::IncAllChannelsVolt, this, placeholders::_1))
             ("Add the given voltages to the current reference voltages. Starts ramping if necessary."
@@ -1979,14 +1979,14 @@
 
         // SET_SINGLE_CHANNEL_OFFSET
-        T::AddEvent("SET_CHANNEL_OFFSET", "S:1;F:1", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_CHANNEL_OFFSET", "S:1;F:1", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::SetChannelOffset, this, placeholders::_1))
             ("Set single channels to its G-APD breakdown voltage plus overvoltage plus the given offset. Starts ramping if necessary."
              "|channel[short]:Channel for which to set the target voltage [0-415]"
              "|offset[V]:Offset to be added to the G-APD reference voltage of the given channel");
-        T::AddEvent("SET_GLOBAL_OFFSET", "F:1", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_GLOBAL_OFFSET", "F:1", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::SetGlobalOffset, this, placeholders::_1))
             ("Set all channels to their G-APD breakdown voltage plus overvoltage plus the given offset. Starts ramping if necessary."
              "|offset[V]:Offset to be added to the G-APD reference voltage globally");
-        T::AddEvent("SET_ALL_CHANNELS_OFFSET", "F:416", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_ALL_CHANNELS_OFFSET", "F:416", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::SetAllChannelsOffset, this, placeholders::_1))
             ("Set all channels to their G-APD reference voltage plus the given offset. Starts ramping if necessary."
@@ -1994,9 +1994,9 @@
 
 
-        T::AddEvent("SET_GLOBAL_OFFSET_TO_ZERO", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_GLOBAL_OFFSET_TO_ZERO", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (Wrapper(bind(&ConnectionBias::RampAllOffsets, &fBias, 0., false)))
             ("Set all channels to their G-APD reference voltage. Starts ramping if necessary.");
 
-        T::AddEvent("SET_CHANNEL_OFFSET_TO_ZERO", "S:1", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_CHANNEL_OFFSET_TO_ZERO", "S:1", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (bind(&StateMachineBias::SetChannelOffsetToZero, this, placeholders::_1))
             ("Set a single channel channels to its G-APD reference voltage. Starts ramping if necessary."
@@ -2005,5 +2005,5 @@
 
 
-        T::AddEvent("SET_ZERO_VOLTAGE", kConnected, kVoltageOff, kVoltageOn, kNotReferenced, kOverCurrent)
+        T::AddEvent("SET_ZERO_VOLTAGE", State::kConnected, State::kVoltageOff, State::kVoltageOn, State::kNotReferenced, State::kOverCurrent)
             (Wrapper(bind(&ConnectionBias::RampAllDacs, &fBias, 0)))
             ("Set all channels to a zero reference voltage. Starts ramping if necessary.");
@@ -2013,9 +2013,9 @@
 
 
-        T::AddEvent("STOP", kConnected, kRamping)
+        T::AddEvent("STOP", State::kConnected, State::kRamping)
             (Wrapper(bind(&ConnectionBias::RampStop, &fBias)))
             ("Stop an on-going ramping");
 
-        T::AddEvent("START", kConnected, kNotReferenced)
+        T::AddEvent("START", State::kConnected, State::kNotReferenced)
             (Wrapper(bind(&ConnectionBias::RampStart, &fBias)))
             ("Start a ramping if no ramping is in progress and if reference values differ from current voltages");
@@ -2041,21 +2041,21 @@
             ("Enable usage of expert commands (note that for safty reasons the are exclusive with the standard commands)");
 
-        T::AddEvent("EXPERT_RESET", kExpertMode)
+        T::AddEvent("EXPERT_RESET", State::kExpertMode)
             (Wrapper(bind(&ConnectionBias::ExpertReset, &fBias, true)))
             ("Send the RESET command (note that this is possibly harmfull command)");
 
-        T::AddEvent("EXPERT_SET_GLOBAL_VOLTAGE", "F:1", kExpertMode)
+        T::AddEvent("EXPERT_SET_GLOBAL_VOLTAGE", "F:1", State::kExpertMode)
             (bind(&StateMachineBias::ExpertSetGlobalVolt, this, placeholders::_1))
             ("Send the global set command. The given voltage is converted to DAC counts.");
 
-        T::AddEvent("EXPERT_SET_GLOBAL_DAC", "S:1", kExpertMode)
+        T::AddEvent("EXPERT_SET_GLOBAL_DAC", "S:1", State::kExpertMode)
             (bind(&StateMachineBias::ExpertSetGlobalDac, this, placeholders::_1))
             ("Send the global set command.");
 
-        T::AddEvent("EXPERT_SET_CHANNEL_VOLTAGE", "S:1;F:1", kExpertMode)
+        T::AddEvent("EXPERT_SET_CHANNEL_VOLTAGE", "S:1;F:1", State::kExpertMode)
             (bind(&StateMachineBias::ExpertSetChannelVolt, this, placeholders::_1))
             ("Send a single channel set command. The given voltage is converted to DAC commands.");
 
-        T::AddEvent("EXPERT_SET_CHANNEL_DAC", "S:1;S:1", kExpertMode)
+        T::AddEvent("EXPERT_SET_CHANNEL_DAC", "S:1;S:1", State::kExpertMode)
             (bind(&StateMachineBias::ExpertSetChannelDac, this, placeholders::_1))
             ("Send a single channel set command.");
