Index: trunk/FACT++/src/feedback.cc
===================================================================
--- trunk/FACT++/src/feedback.cc	(revision 18606)
+++ trunk/FACT++/src/feedback.cc	(revision 18607)
@@ -209,5 +209,7 @@
 
         // Only the channels which are no spare channels are ramped
-        if (std::count(fBiasDac.begin(), fBiasDac.end(), dac)!=320)
+        // Due to the shortcut, only 319 channels are ramped, so only
+        // 320 and not 319 are expected to have the correct day setting
+        if (std::count(fBiasDac.begin(), fBiasDac.end(), dac)!=319/*320*/)
             return GetCurrentState();
 
@@ -255,5 +257,11 @@
             fCurrentsRms.assign(BIAS::kNumChannels, 0);
 
-            Dim::SendCommandNB("BIAS_CONTROL/SET_GLOBAL_DAC", uint16_t(256+512*fCalibStep));
+            // Ramp all channels to the calibration setting except the one
+            // with a shortcut
+            vector<uint16_t> vec(BIAS::kNumChannels, uint16_t(256+512*fCalibStep));
+            vec[272] = 0;
+            Dim::SendCommandNB("BIAS_CONTROL/SET_ALL_CHANNELS_DAC", vec);
+
+            //Dim::SendCommandNB("BIAS_CONTROL/SET_GLOBAL_DAC", uint16_t(256+512*fCalibStep));
 
             return GetCurrentState();
@@ -572,8 +580,10 @@
 
             // Check if this is a blocked channel
+            // 272 is the one with the shortcut
             const bool blocked =
                 (fMoonMode>0 && std::find(inner0.begin(), inner0.end(), i)!=inner0.end()) ||
                 (fMoonMode>1 && std::find(inner1.begin(), inner1.end(), i)!=inner1.end()) ||
-                (fMoonMode>2 && std::find(inner2.begin(), inner2.end(), i)!=inner2.end());
+                (fMoonMode>2 && std::find(inner2.begin(), inner2.end(), i)!=inner2.end()) ||
+                i==272;
 
             // Number of G-APDs in this patch
@@ -810,4 +820,7 @@
                 vec[263] = vec[262]-fVoltGapd[262]+fVoltGapd[263];
 
+                // Do not ramp the channel with a shortcut
+                vec[272] = 0;
+
 //            if (fDimBias.state()!=BIAS::State::kRamping)
 //            {
@@ -996,5 +1009,11 @@
         fTimeCalib = Time();
 
-        Dim::SendCommandNB("BIAS_CONTROL/SET_GLOBAL_DAC", uint16_t(256+512*fCalibStep));
+        // Ramp all channels to the calibration setting except the one
+        // with a shortcut
+        vector<uint16_t> vec(BIAS::kNumChannels, uint16_t(256+512*fCalibStep));
+        vec[272] = 0;
+        Dim::SendCommandNB("BIAS_CONTROL/SET_ALL_CHANNELS_DAC", vec);
+
+        //Dim::SendCommandNB("BIAS_CONTROL/SET_GLOBAL_DAC", uint16_t(256+512*fCalibStep));
 
         return Feedback::State::kCalibrating;
