Index: trunk/FACT++/src/feedback.cc
===================================================================
--- trunk/FACT++/src/feedback.cc	(revision 18463)
+++ trunk/FACT++/src/feedback.cc	(revision 18464)
@@ -118,8 +118,8 @@
     int HandleBiasNom(const EventImp &evt)
     {
-        if (evt.GetSize()>=416*sizeof(float))
-        {
-            fVoltGapd.assign(evt.Ptr<float>(), evt.Ptr<float>()+416);
-            fBiasR9.assign(evt.Ptr<float>()+2*416, evt.Ptr<float>()+3*416);
+        if (evt.GetSize()>=BIAS::kNumChannels*sizeof(float))
+        {
+            fVoltGapd.assign(evt.Ptr<float>(), evt.Ptr<float>()+BIAS::kNumChannels);
+            fBiasR9.assign(evt.Ptr<float>()+2*BIAS::kNumChannels, evt.Ptr<float>()+3*BIAS::kNumChannels);
 
             for (int i=0; i<320; i++)
@@ -134,6 +134,6 @@
     int HandleBiasVoltage(const EventImp &evt)
     {
-        if (evt.GetSize()>=416*sizeof(float))
-            fBiasVolt.assign(evt.Ptr<float>(), evt.Ptr<float>()+416);
+        if (evt.GetSize()>=BIAS::kNumChannels*sizeof(float))
+            fBiasVolt.assign(evt.Ptr<float>(), evt.Ptr<float>()+BIAS::kNumChannels);
         return GetCurrentState();
     }
@@ -141,6 +141,6 @@
     int HandleBiasDac(const EventImp &evt)
     {
-        if (evt.GetSize()>=416*sizeof(uint16_t))
-            fBiasDac.assign(evt.Ptr<uint16_t>(), evt.Ptr<uint16_t>()+416);
+        if (evt.GetSize()>=BIAS::kNumChannels*sizeof(uint16_t))
+            fBiasDac.assign(evt.Ptr<uint16_t>(), evt.Ptr<uint16_t>()+BIAS::kNumChannels);
         return GetCurrentState();
     }
@@ -231,7 +231,7 @@
         {
             uint32_t dac;
-            float    U[416];
-            float    Iavg[416];
-            float    Irms[416];
+            float    U[BIAS::kNumChannels];
+            float    Iavg[BIAS::kNumChannels];
+            float    Irms[BIAS::kNumChannels];
 
             cal_data() { memset(this, 0, sizeof(cal_data)); }
@@ -240,7 +240,7 @@
         cal_data cal;
         cal.dac = dac;
-        memcpy(cal.U,    fBiasVolt.data(), 416*sizeof(float));
-        memcpy(cal.Iavg, avg.data(),       416*sizeof(float));
-        memcpy(cal.Irms, rms.data(),       416*sizeof(float));
+        memcpy(cal.U,    fBiasVolt.data(), BIAS::kNumChannels*sizeof(float));
+        memcpy(cal.Iavg, avg.data(),       BIAS::kNumChannels*sizeof(float));
+        memcpy(cal.Irms, rms.data(),       BIAS::kNumChannels*sizeof(float));
 
         fDimCalibration2.setData(cal);
@@ -255,5 +255,5 @@
             fCurrentsRms.assign(BIAS::kNumChannels, 0);
 
-            Dim::SendCommandNB("BIAS_CONTROL/SET_GLOBAL_DAC", uint32_t(256+512*fCalibStep));
+            Dim::SendCommandNB("BIAS_CONTROL/SET_GLOBAL_DAC", uint16_t(256+512*fCalibStep));
 
             return GetCurrentState();
@@ -409,5 +409,5 @@
             Dim::SendCommandNB("FAD_CONTROL/CLOSE_ALL_OPEN_FILES");
 
-            Error("Current limit for shutdown exceeded.... swtching to standby mode.");
+            Error("Current limit for shutdown exceeded.... switching to standby mode.");
 
             standby = true;
@@ -490,6 +490,6 @@
             return GetCurrentState();
 
-        fCurrentsAvg.assign(416, 0);
-        fCurrentsRms.assign(416, 0);
+        fCurrentsAvg.assign(BIAS::kNumChannels, 0);
+        fCurrentsRms.assign(BIAS::kNumChannels, 0);
         fCursorCur = 0;
 
@@ -528,11 +528,11 @@
 
         vector<double> med[3];
-        med[0].resize(416);
-        med[1].resize(416);
-        med[2].resize(416);
+        med[0].resize(BIAS::kNumChannels);
+        med[1].resize(BIAS::kNumChannels);
+        med[2].resize(BIAS::kNumChannels);
 
         struct dim_data
         {
-            float I[416];
+            float I[BIAS::kNumChannels];
             float Iavg;
             float Irms;
@@ -541,5 +541,5 @@
             uint32_t N;
             float Tdiff;
-            float Uov[416];
+            float Uov[BIAS::kNumChannels];
             float Unom;
             float dUtemp;
@@ -555,5 +555,5 @@
         data.dUtemp = fTempOffsetAvg;
 
-        vector<float> vec(416);
+        vector<float> vec(BIAS::kNumChannels);
 
         // ================================= old =======================
@@ -996,5 +996,5 @@
         fTimeCalib = Time();
 
-        Dim::SendCommandNB("BIAS_CONTROL/SET_GLOBAL_DAC", uint32_t(256+512*fCalibStep));
+        Dim::SendCommandNB("BIAS_CONTROL/SET_GLOBAL_DAC", uint16_t(256+512*fCalibStep));
 
         return Feedback::State::kCalibrating;
@@ -1044,5 +1044,5 @@
     bool LoadOffsets(const string &file)
     {
-        vector<double> data(416);
+        vector<double> data(BIAS::kNumChannels);
 
         ifstream fin(file);
@@ -1075,5 +1075,5 @@
     int ResetOffset()
     {
-        fVoltOffset.assign(416, 0);
+        fVoltOffset.assign(BIAS::kNumChannels, 0);
 
         fDimOffsets.Update(fVoltOffset);
@@ -1201,5 +1201,5 @@
                     "Offsets operation voltages"
                     "|U[V]:Offset per bias channels"),
-        fVoltOffset(416),
+        fVoltOffset(BIAS::kNumChannels),
         fMoonMode(0),
         fCurrentRequestInterval(0),
