Index: /trunk/FACT++/src/feedback.cc
===================================================================
--- /trunk/FACT++/src/feedback.cc	(revision 13223)
+++ /trunk/FACT++/src/feedback.cc	(revision 13224)
@@ -124,4 +124,6 @@
 
     uint16_t fCurrentRequestInterval;
+    uint16_t fNumCalibIgnore;
+    uint16_t fNumCalibRequests;
 
     bool fOutputEnabled;
@@ -250,5 +252,5 @@
             return;
 
-        if (fCursorCur<100)
+        if (fCursorCur<fNumCalibRequests)
         {
             if (fStatusBias.second==BIAS::kVoltageOn)
@@ -271,4 +273,6 @@
         fOutputEnabled = false;
         fControlType = kIdle;
+
+        Info("Calibration successfully done.");
 
         if (fStatusBias.second==BIAS::kVoltageOn)
@@ -921,6 +925,5 @@
         fBiasOffset = -2;
         fControlType = kTemp;
-        fCursorCur  = -10;
-        fCursorTemp =  0;
+        fCursorCur  = -fNumCalibIgnore;
         fCursorTemp = 0;
         fCurrentsAvg.assign(BIAS::kNumChannels, 0);
@@ -1021,5 +1024,5 @@
             if (fControlType==kTemp)
             {
-                if (GetCurrentState()==kStateCalibrating && fCursorCur<100)
+                if (GetCurrentState()==kStateCalibrating && fCursorCur<fNumCalibRequests)
                     return GetCurrentState();
 
@@ -1075,4 +1078,6 @@
         fKp(0), fKi(0), fKd(0), fT(-1),
         fCurrentRequestInterval(0),
+        fNumCalibIgnore(30),
+        fNumCalibRequests(300),
         fOutputEnabled(false)
     {
@@ -1232,4 +1237,6 @@
 
         fCurrentRequestInterval = conf.Get<uint16_t>("current-request-interval");
+        fNumCalibIgnore  = conf.Get<uint16_t>("num-calib-ignore");
+        fNumCalibRequest = conf.Get<uint16_t>("num-calib-average");
 
         return -1;
@@ -1253,4 +1260,6 @@
         ("pixel-map-file",  var<string>("FACTmapV5a.txt"), "Pixel mapping file. Used here to get the default reference voltage.")
         ("current-request-interval",  var<uint16_t>(1000), "Interval between two current requests.")
+        ("num-calib-ignore",  var<uint16_t>(30), "Number of current requests to be ignored before averaging")
+        ("num-calib-average",  var<uint16_t>(300), "Number of current requests to be averaged")
         ;
 
