Index: /trunk/FACT++/src/feedback.cc
===================================================================
--- /trunk/FACT++/src/feedback.cc	(revision 13552)
+++ /trunk/FACT++/src/feedback.cc	(revision 13553)
@@ -204,5 +204,5 @@
 
             // Convert from DAC counts to uA
-            const double conv = 5000e-6/4096;
+            const double conv = 5000./4096;
 
             // 3900 Ohm/n + 1000 Ohm + 1100 Ohm  (with n=4 or n=5)
@@ -237,5 +237,5 @@
 
                 // Average measured current
-                const double Im = double(fCurrentsAvg[i])/fCursorCur * conv; // [A]
+                const double Im = double(fCurrentsAvg[i])/fCursorCur * conv; // [uA]
 
                 // Group index (0 or 1) of the of the pixel (4 or 5 pixel patch)
@@ -258,8 +258,8 @@
                 // Offset at the calibration point (make sure that the calibration is
                 // valid (Im[i]>Iavg[i]) and we operate above the calibration point)
-                const double I = Im>Iavg[i] ? Im - Iavg[i]*1e-6 : 0; // [A]
+                const double I = Im>Iavg[i] ? Im - Iavg[i] : 0; // [uA]
 
                 // Make sure that the averaged resistor is valid
-                const double dU = Ravg[i]>0 ? r*(I+dI) : 0;
+                const double dU = Ravg[i]>0 ? r*(I*1e-6+dI) : 0;
 
                 vec[i+BIAS::kNumChannels] += dU;
@@ -872,4 +872,18 @@
     }
 
+    void WarnState(bool needfsc, bool needfad)
+    {
+        const bool bias = fStatusBias.second >= BIAS::kConnecting;
+        const bool fsc  = fStatusFSC.second  >= 2;
+        const bool fad  = fStatusFAD.second  >= FAD::kConnected;
+
+        if (!bias)
+            Warn("Bias control not yet ready.");
+        if (needfsc && !fsc)
+            Warn("FSC control not yet ready.");
+        if (needfad && !fad)
+            Warn("FAD control not yet ready.");
+    }
+
     int SetConstant(const EventImp &evt, int constant)
     {
@@ -934,4 +948,6 @@
             return kSM_FatalError;
 
+        WarnState(false, true);
+
         ResetData(evt.GetShort());
 
@@ -946,4 +962,6 @@
             return kSM_FatalError;
 
+        WarnState(false, true);
+
         ResetData(evt.GetShort());
 
@@ -957,4 +975,6 @@
         if (!CheckEventSize(evt.GetSize(), "StartTempCtrl", 4))
             return kSM_FatalError;
+
+        WarnState(true, false);
 
         fBiasOffset = evt.GetFloat();
@@ -981,4 +1001,6 @@
             return GetCurrentState();
         }
+
+        WarnState(true, false);
 
         ResetData(0);
@@ -1067,6 +1089,8 @@
         }
 
+        WarnState(true, false);
+
         ostringstream out;
-        out << "Starting temperature feedback for calibration with an offset of -2V";
+        out << "Starting temperature feedback for calibration with an offset of " << fCalibrationOffset << "V";
         Message(out);
 
