Index: trunk/FACT++/gui/FactGui.h
===================================================================
--- trunk/FACT++/gui/FactGui.h	(revision 13199)
+++ trunk/FACT++/gui/FactGui.h	(revision 13237)
@@ -432,5 +432,6 @@
     DimStampedInfo fDimFeedbackCalibration;
 
-    DimStampedInfo fDimBiasVolt;
+    DimStampedInfo fDimBiasNominal;
+    DimStampedInfo fDimBiasDac;
     DimStampedInfo fDimBiasCurrent;
 
@@ -2833,5 +2834,5 @@
         };
 
-        const uint16_t i = uint16_t(floor(fmod(ptr[6]+360+11.25, 360)/22));
+        const uint16_t i = uint16_t(floor(fmod(ptr[6]+180+11.25, 360)/22));
         fMagicWindDir->setText(dir[i]);
     }
@@ -2839,8 +2840,22 @@
     // ========================== FSC =======================================
 
-    vector<int16_t> fVecBiasVolt;
+    vector<int16_t> fVecBiasDac;
     vector<int16_t> fVecBiasCurrent;
-
-    void handleBiasVolt(const DimData &d)
+    vector<float>   fVecBiasCalibOffset;
+
+    void handleBiasNominal(const DimData &d)
+    {
+        if (!CheckSize(d, 3*416*sizeof(float)))
+            return;
+
+        const float *ptr = d.ptr<float>();
+
+        fVecBiasCalibOffset.assign(ptr+2*416, ptr+3*416);
+
+        on_fBiasDispRefVolt_stateChanged();
+        UpdateBiasValues();
+    }
+
+    void handleBiasDac(const DimData &d)
     {
         if (!CheckSize(d, 2*416*sizeof(int16_t)))
@@ -2849,5 +2864,5 @@
         const int16_t *ptr = d.ptr<int16_t>();
 
-        fVecBiasVolt.assign(ptr, ptr+2*416);
+        fVecBiasDac.assign(ptr, ptr+2*416);
 
         on_fBiasDispRefVolt_stateChanged();
@@ -3169,4 +3184,16 @@
         }
 
+        if (server=="MAGIC_WEATHER")
+        {
+            fStatusWeatherLabel->setText(s.name.c_str());
+
+            if (s.index==3)
+                SetLedColor(fStatusWeatherLed, kLedGreen, time);
+            if (s.index<3) // No valid data
+                SetLedColor(fStatusWeatherLed, kLedRed, time);
+            if (s.index<1) // No Dim connection
+                SetLedColor(fStatusWeatherLed, kLedGray, time);
+        }
+
         if (server=="CHAT")
         {
@@ -3480,6 +3507,9 @@
             return PostInfoHandler(&FactGui::handleFscHumidity);
 
-        if (getInfo()==&fDimBiasVolt)
-            return PostInfoHandler(&FactGui::handleBiasVolt);
+        if (getInfo()==&fDimBiasNominal)
+            return PostInfoHandler(&FactGui::handleBiasNominal);
+
+        if (getInfo()==&fDimBiasDac)
+            return PostInfoHandler(&FactGui::handleBiasDac);
 
         if (getInfo()==&fDimBiasCurrent)
@@ -3794,11 +3824,14 @@
         const int ihw = b*32+c;
 
-        if (fVecBiasVolt.size()>0)
-        {
-            fBiasVoltCur->setValue(fVecBiasVolt[ihw]*90./4096);
-            fBiasVoltRef->setValue(fVecBiasVolt[ihw+416]*90./4096);
+        const double offset = fVecBiasCalibOffset.size()>0 ? fVecBiasCalibOffset[ihw] : 0;
+
+
+        if (fVecBiasDac.size()>0)
+        {
+            fBiasVoltCur->setValue(fVecBiasDac[ihw]*90./4096-offset);
+            fBiasVoltRef->setValue(fVecBiasDac[ihw+416]*90./4096-offset);
 
             SetLedColor(fBiasNominalLed,
-                        fVecBiasVolt[ihw]==fVecBiasVolt[ihw+416]?kLedGreen:kLedRed, Time());
+                        fVecBiasDac[ihw]==fVecBiasDac[ihw+416]?kLedGreen:kLedRed, Time());
         }
 
@@ -3906,12 +3939,15 @@
         }
 
-        if (fVecBiasVolt.size()>0)
+        if (fVecBiasDac.size()>0)
         {
             for (int i=0; i<1440; i++)
             {
                 const PixelMapEntry &entry = fPixelMap.index(i);
-                dat[i] = fVecBiasVolt[entry.hv()+offset]*90./4096;
-
-                fBiasCamV->highlightPixel(i, fVecBiasVolt[entry.hv()]!=fVecBiasVolt[entry.hv()+416]);
+                dat[i] = fVecBiasDac[entry.hv()+offset]*90./4096;
+
+                if (fVecBiasCalibOffset.size()>0)
+                    dat[i] -= fVecBiasCalibOffset[entry.hv()];
+
+                fBiasCamV->highlightPixel(i, fVecBiasDac[entry.hv()]!=fVecBiasDac[entry.hv()+416]);
             }
 
@@ -4051,6 +4087,6 @@
         fDimFadRuns            ("FAD_CONTROL/RUNS",               (void*)NULL, 0, this),
         fDimFadEvents          ("FAD_CONTROL/EVENTS",             (void*)NULL, 0, this),
-        fDimFadRawData         ("FAD_CONTROL/RAW_DATA",           (void*)NULL, 0, this),
-        fDimFadEventData       ("FAD_CONTROL/EVENT_DATA",         (void*)NULL, 0, this),
+        fDimFadRawData         ("FAD_CONTROL/XRAW_DATA",           (void*)NULL, 0, this),
+        fDimFadEventData       ("FAD_CONTROL/XEVENT_DATA",         (void*)NULL, 0, this),
         fDimFadConnections     ("FAD_CONTROL/CONNECTIONS",        (void*)NULL, 0, this),
         fDimFadFwVersion       ("FAD_CONTROL/FIRMWARE_VERSION",   (void*)NULL, 0, this),
@@ -4062,5 +4098,5 @@
         fDimFadRoi             ("FAD_CONTROL/REGION_OF_INTEREST", (void*)NULL, 0, this),
         fDimFadDac             ("FAD_CONTROL/DAC",                (void*)NULL, 0, this),
-        fDimFadDrsCalibration  ("FAD_CONTROL/DRS_CALIBRATION",    (void*)NULL, 0, this),
+        fDimFadDrsCalibration  ("FAD_CONTROL/XDRS_CALIBRATION",    (void*)NULL, 0, this),
         fDimFadStatus          ("FAD_CONTROL/STATUS",             (void*)NULL, 0, this),
         fDimFadStatistics1     ("FAD_CONTROL/STATISTICS1",        (void*)NULL, 0, this),
@@ -4077,5 +4113,6 @@
         fDimFeedbackCalibration("FEEDBACK/CALIBRATION",           (void*)NULL, 0, this),
         //-
-        fDimBiasVolt           ("BIAS_CONTROL/VOLTAGE",           (void*)NULL, 0, this),
+        fDimBiasNominal        ("BIAS_CONTROL/NOMINAL",           (void*)NULL, 0, this),
+        fDimBiasDac            ("BIAS_CONTROL/DAC",               (void*)NULL, 0, this),
         fDimBiasCurrent        ("BIAS_CONTROL/CURRENT",           (void*)NULL, 0, this),
         //-
Index: trunk/FACT++/gui/MainWindow.cc
===================================================================
--- trunk/FACT++/gui/MainWindow.cc	(revision 13199)
+++ trunk/FACT++/gui/MainWindow.cc	(revision 13237)
@@ -654,10 +654,10 @@
 void MainWindow::on_fBiasVoltDac_valueChanged(int val)
 {
-    fBiasVolt->setValue(val*90./4096);
+    fBiasVoltDacVolt->setValue(val*90./4096);
 }
 
 void MainWindow::on_fBiasOffsetDac_valueChanged(int val)
 {
-    fBiasOffsetVolt->setValue(val*90./4096);
+    fBiasOffsetDacVolt->setValue(val*90./4096);
 }
 
@@ -673,12 +673,5 @@
 {
     if (!fInHandler)
-        Dim::SendCommand("BIAS_CONTROL/SET_GLOBAL_GAPD_REFERENCE_VOLTAGE");
-}
-
-void MainWindow::on_fBiasApplyReferenceCh_clicked()
-{
-    if (!fInHandler)
-        Dim::SendCommand("BIAS_CONTROL/SET_CHANNEL_GAPD_REFERENCE_VOLTAGE",
-                         uint16_t(fBiasHvBoard->value()*32+fBiasHvChannel->value()));
+        Dim::SendCommand("BIAS_CONTROL/SET_GLOBAL_OFFSET_TO_ZERO");
 }
 
@@ -695,24 +688,24 @@
 }
 
-void MainWindow::on_fBiasAddOffset_clicked()
+
+void MainWindow::on_fBiasApplyChVolt_clicked()       // SET_CHANNEL_VOLTAGE
 {
     if (fInHandler)
         return;
 
-    if (fBiasOffsetDac->value()<0)
-        Dim::SendCommand("BIAS_CONTROL/DECREASE_GLOBAL_DAC", uint16_t(-fBiasOffsetDac->value()));
-    else
-        Dim::SendCommand("BIAS_CONTROL/INCREASE_GLOBAL_DAC", uint16_t(fBiasOffsetDac->value()));
-}
-
-void MainWindow::on_fBiasApplyOffset_clicked()
-{
-    if (!fInHandler)
-        Dim::SendCommand("BIAS_CONTROL/SET_GAPD_REFERENCE_OFFSET", float(fBiasOffsetDac->value()*90./4096));
-}
-
-void MainWindow::on_fBiasApply_clicked()
-{
-    const uint16_t cmd[2] =
+    const struct { uint16_t ch; float val; } __attribute__((__packed__)) val = {
+        uint16_t(fBiasHvBoard->value()*32+fBiasHvChannel->value()),
+        float(fBiasVolt->value())
+    };
+
+    Dim::SendCommand("BIAS_CONTROL/SET_CHANNEL_VOLTAGE", val);
+}
+
+void MainWindow::on_fBiasApplyChDac_clicked()
+{
+    if (fInHandler)
+        return;
+
+    const uint16_t val[2] =
     {
         uint16_t(fBiasHvBoard->value()*32+fBiasHvChannel->value()),
@@ -720,12 +713,72 @@
     };
 
-    if (!fInHandler)
-        Dim::SendCommand("BIAS_CONTROL/SET_CHANNEL_DAC", cmd);
-}
-void MainWindow::on_fBiasApplyGlobal_clicked()
+    Dim::SendCommand("BIAS_CONTROL/SET_CHANNEL_DAC", val);
+}
+
+void MainWindow::on_fBiasApplyGlobalVolt_clicked()
+{
+    if (!fInHandler)
+        Dim::SendCommand("BIAS_CONTROL/SET_GLOBAL_VOLTAGE", float(fBiasVolt->value()));
+}
+    
+void MainWindow::on_fBiasApplyGlobalDac_clicked()
 {
     if (!fInHandler)
         Dim::SendCommand("BIAS_CONTROL/SET_GLOBAL_DAC", uint16_t(fBiasVoltDac->value()));
 }
+
+void MainWindow::on_fBiasAddOffsetChVolt_clicked()
+{
+    if (fInHandler)
+        return;
+
+    const struct { uint16_t ch; float val; } __attribute__((__packed__)) val = {
+        uint16_t(fBiasHvBoard->value()*32+fBiasHvChannel->value()),
+        float(fBiasOffsetVolt->value())
+    };
+
+    Dim::SendCommand("BIAS_CONTROL/INCREASE_CHANNEL_VOLTAGE", val);
+}
+
+void MainWindow::on_fBiasAddOffsetGlobalVolt_clicked()
+{ 
+    if (!fInHandler)
+        Dim::SendCommand("BIAS_CONTROL/INCREASE_GLOBAL_VOLTAGE", float(fBiasOffsetVolt->value()));
+}
+
+void MainWindow::on_fBiasAddOffsetChDac_clicked()
+{
+}
+
+void MainWindow::on_fBiasAddOffsetGlobalDac_clicked()
+{
+}
+
+void MainWindow::on_fBiasApplyOffsetChVolt_clicked()
+{
+    if (fInHandler)
+        return;
+
+    const struct { uint16_t ch; float val; } __attribute__((__packed__)) val = {
+        uint16_t(fBiasHvBoard->value()*32+fBiasHvChannel->value()),
+        float(fBiasOffsetVolt->value())
+    };
+
+    Dim::SendCommand("BIAS_CONTROL/SET_CHANNEL_OFFSET", val);
+}
+
+void MainWindow::on_fBiasApplyOffsetGlobalVolt_clicked()
+{
+    if (!fInHandler)
+        Dim::SendCommand("BIAS_CONTROL/SET_GLOBAL_OFFSET", float(fBiasOffsetVolt->value()));
+}
+
+/*
+void MainWindow::on_fBiasApplyReferenceCh_clicked()
+{
+    if (!fInHandler)
+        Dim::SendCommand("BIAS_CONTROL/SET_CHANNEL_OFFSET_TO_ZERO",
+                         uint16_t(fBiasHvBoard->value()*32+fBiasHvChannel->value()));
+}*/
 
 void MainWindow::on_fBiasVoltMin_valueChanged(int min)
Index: trunk/FACT++/gui/MainWindow.h
===================================================================
--- trunk/FACT++/gui/MainWindow.h	(revision 13199)
+++ trunk/FACT++/gui/MainWindow.h	(revision 13237)
@@ -191,4 +191,5 @@
     void on_fBiasCamPatch_valueChanged(int)  { BiasCamChannelChanged(); }
     void on_fBiasCamPixel_valueChanged(int)  { BiasCamChannelChanged(); }
+
     void on_fBiasVoltDac_valueChanged(int);
     void on_fBiasOffsetDac_valueChanged(int);
@@ -200,13 +201,20 @@
     void on_fBiasCurrentMax_valueChanged(int); // FIXME: Could be set as slot in the designer
 
-    //void on_fBiasRequestStatus_clicked();
-    void on_fBiasApply_clicked();
-    void on_fBiasApplyGlobal_clicked();
+    void on_fBiasApplyChVolt_clicked();
+    void on_fBiasApplyChDac_clicked();
+    void on_fBiasApplyGlobalVolt_clicked();
+    void on_fBiasApplyGlobalDac_clicked();
+
+    void on_fBiasAddOffsetChVolt_clicked();
+    void on_fBiasAddOffsetChDac_clicked();
+    void on_fBiasAddOffsetGlobalVolt_clicked();
+    void on_fBiasAddOffsetGlobalDac_clicked();
+
+    void on_fBiasApplyOffsetChVolt_clicked();
+    void on_fBiasApplyOffsetGlobalVolt_clicked();
+
     void on_fBiasApplyReference_clicked();
-    void on_fBiasApplyReferenceCh_clicked();
     void on_fBiasSetToZero_clicked();
     void on_fBiasReset_clicked();
-    void on_fBiasAddOffset_clicked();
-    void on_fBiasApplyOffset_clicked();
 
     virtual void on_fBiasDispRefVolt_stateChanged(int) = 0;
Index: trunk/FACT++/gui/design.ui
===================================================================
--- trunk/FACT++/gui/design.ui	(revision 13199)
+++ trunk/FACT++/gui/design.ui	(revision 13237)
@@ -12,5 +12,5 @@
     <y>0</y>
     <width>1381</width>
-    <height>927</height>
+    <height>936</height>
    </rect>
   </property>
@@ -3784,6 +3784,6 @@
           <property name="minimumSize">
            <size>
-            <width>905</width>
-            <height>296</height>
+            <width>1094</width>
+            <height>336</height>
            </size>
           </property>
@@ -4013,20 +4013,4 @@
                   </widget>
                  </item>
-                 <item row="0" column="4">
-                  <spacer name="verticalSpacer_61">
-                   <property name="orientation">
-                    <enum>Qt::Vertical</enum>
-                   </property>
-                   <property name="sizeType">
-                    <enum>QSizePolicy::Preferred</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>20</width>
-                     <height>40</height>
-                    </size>
-                   </property>
-                  </spacer>
-                 </item>
                  <item row="1" column="0" colspan="5">
                   <widget class="Line" name="line_46">
@@ -4049,20 +4033,4 @@
                    </property>
                   </widget>
-                 </item>
-                 <item row="9" column="4">
-                  <spacer name="verticalSpacer_63">
-                   <property name="orientation">
-                    <enum>Qt::Vertical</enum>
-                   </property>
-                   <property name="sizeType">
-                    <enum>QSizePolicy::Preferred</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>20</width>
-                     <height>40</height>
-                    </size>
-                   </property>
-                  </spacer>
                  </item>
                 </layout>
@@ -4083,5 +4051,5 @@
                   <widget class="QLabel" name="label_233">
                    <property name="text">
-                    <string>reference</string>
+                    <string>target</string>
                    </property>
                   </widget>
@@ -4090,5 +4058,5 @@
                   <widget class="QLabel" name="label_234">
                    <property name="text">
-                    <string>set value</string>
+                    <string>applied</string>
                    </property>
                   </widget>
@@ -4134,4 +4102,10 @@
                  <item row="0" column="1" colspan="2">
                   <widget class="QLabel" name="label_226">
+                   <property name="sizePolicy">
+                    <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+                     <horstretch>0</horstretch>
+                     <verstretch>0</verstretch>
+                    </sizepolicy>
+                   </property>
                    <property name="text">
                     <string>Values for this channel</string>
@@ -4174,27 +4148,4 @@
                   </widget>
                  </item>
-                 <item row="6" column="1" colspan="2">
-                  <widget class="QPushButton" name="fBiasApplyReferenceCh">
-                   <property name="text">
-                    <string>Set channel to Vgapd</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item row="7" column="2">
-                  <spacer name="verticalSpacer_64">
-                   <property name="orientation">
-                    <enum>Qt::Vertical</enum>
-                   </property>
-                   <property name="sizeType">
-                    <enum>QSizePolicy::Preferred</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>20</width>
-                     <height>40</height>
-                    </size>
-                   </property>
-                  </spacer>
-                 </item>
                  <item row="4" column="1">
                   <widget class="QDoubleSpinBox" name="fBiasCurrent">
@@ -4267,4 +4218,36 @@
                   </widget>
                  </item>
+                 <item row="5" column="1">
+                  <widget class="QDoubleSpinBox" name="fBiasOffset">
+                   <property name="sizePolicy">
+                    <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                     <horstretch>0</horstretch>
+                     <verstretch>0</verstretch>
+                    </sizepolicy>
+                   </property>
+                   <property name="alignment">
+                    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                   </property>
+                   <property name="readOnly">
+                    <bool>true</bool>
+                   </property>
+                   <property name="buttonSymbols">
+                    <enum>QAbstractSpinBox::NoButtons</enum>
+                   </property>
+                   <property name="suffix">
+                    <string> µA</string>
+                   </property>
+                   <property name="maximum">
+                    <double>9999999.000000000000000</double>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="5" column="2">
+                  <widget class="QLabel" name="label_261">
+                   <property name="text">
+                    <string>offset</string>
+                   </property>
+                  </widget>
+                 </item>
                  <item row="3" column="1">
                   <widget class="QDoubleSpinBox" name="fBiasVoltCur">
@@ -4295,33 +4278,8 @@
                   </widget>
                  </item>
-                 <item row="5" column="1">
-                  <widget class="QDoubleSpinBox" name="fBiasOffset">
-                   <property name="sizePolicy">
-                    <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                     <horstretch>0</horstretch>
-                     <verstretch>0</verstretch>
-                    </sizepolicy>
-                   </property>
-                   <property name="alignment">
-                    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                   </property>
-                   <property name="readOnly">
-                    <bool>true</bool>
-                   </property>
-                   <property name="buttonSymbols">
-                    <enum>QAbstractSpinBox::NoButtons</enum>
-                   </property>
-                   <property name="suffix">
-                    <string> µA</string>
-                   </property>
-                   <property name="maximum">
-                    <double>9999999.000000000000000</double>
-                   </property>
-                  </widget>
-                 </item>
-                 <item row="5" column="2">
-                  <widget class="QLabel" name="label_261">
+                 <item row="6" column="1" colspan="2">
+                  <widget class="QPushButton" name="fBiasApplyReferenceCh">
                    <property name="text">
-                    <string>offset</string>
+                    <string>Set channel to Vgapd</string>
                    </property>
                   </widget>
@@ -4340,6 +4298,18 @@
                  <item>
                   <widget class="QLabel" name="label_225">
+                   <property name="sizePolicy">
+                    <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                     <horstretch>0</horstretch>
+                     <verstretch>0</verstretch>
+                    </sizepolicy>
+                   </property>
+                   <property name="minimumSize">
+                    <size>
+                     <width>0</width>
+                     <height>0</height>
+                    </size>
+                   </property>
                    <property name="text">
-                    <string>Command Voltage</string>
+                    <string>Absolute Voltage</string>
                    </property>
                   </widget>
@@ -4353,6 +4323,6 @@
                  </item>
                  <item>
-                  <layout class="QHBoxLayout" name="horizontalLayout_47">
-                   <item>
+                  <layout class="QGridLayout" name="gridLayout_47">
+                   <item row="0" column="0">
                     <widget class="QDoubleSpinBox" name="fBiasVolt">
                      <property name="sizePolicy">
@@ -4366,4 +4336,35 @@
                      </property>
                      <property name="readOnly">
+                      <bool>false</bool>
+                     </property>
+                     <property name="buttonSymbols">
+                      <enum>QAbstractSpinBox::UpDownArrows</enum>
+                     </property>
+                     <property name="prefix">
+                      <string/>
+                     </property>
+                     <property name="suffix">
+                      <string> V</string>
+                     </property>
+                     <property name="decimals">
+                      <number>3</number>
+                     </property>
+                     <property name="maximum">
+                      <double>99.000000000000000</double>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="0" column="2">
+                    <widget class="QDoubleSpinBox" name="fBiasVoltDacVolt">
+                     <property name="sizePolicy">
+                      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                       <horstretch>0</horstretch>
+                       <verstretch>0</verstretch>
+                      </sizepolicy>
+                     </property>
+                     <property name="alignment">
+                      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                     </property>
+                     <property name="readOnly">
                       <bool>true</bool>
                      </property>
@@ -4371,4 +4372,7 @@
                       <enum>QAbstractSpinBox::NoButtons</enum>
                      </property>
+                     <property name="prefix">
+                      <string>~</string>
+                     </property>
                      <property name="suffix">
                       <string> V</string>
@@ -4378,9 +4382,16 @@
                      </property>
                      <property name="maximum">
-                      <double>9999.000000000000000</double>
-                     </property>
-                    </widget>
-                   </item>
-                   <item>
+                      <double>99.000000000000000</double>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="0" column="1" rowspan="4">
+                    <widget class="Line" name="line_66">
+                     <property name="orientation">
+                      <enum>Qt::Vertical</enum>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="1" column="2">
                     <widget class="QSpinBox" name="fBiasVoltDac">
                      <property name="sizePolicy">
@@ -4404,35 +4415,33 @@
                     </widget>
                    </item>
+                   <item row="2" column="2">
+                    <widget class="QPushButton" name="fBiasApplyChDac">
+                     <property name="text">
+                      <string>Set Ch</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="3" column="2">
+                    <widget class="QPushButton" name="fBiasApplyGlobalDac">
+                     <property name="text">
+                      <string>Set global</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="2" column="0">
+                    <widget class="QPushButton" name="fBiasApplyChVolt">
+                     <property name="text">
+                      <string>Set Ch</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="3" column="0">
+                    <widget class="QPushButton" name="fBiasApplyGlobalVolt">
+                     <property name="text">
+                      <string>Set global</string>
+                     </property>
+                    </widget>
+                   </item>
                   </layout>
-                 </item>
-                 <item>
-                  <widget class="QPushButton" name="fBiasApply">
-                   <property name="text">
-                    <string>Apply to channel</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <widget class="QPushButton" name="fBiasApplyGlobal">
-                   <property name="text">
-                    <string>Apply globally</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <spacer name="verticalSpacer_69">
-                   <property name="orientation">
-                    <enum>Qt::Vertical</enum>
-                   </property>
-                   <property name="sizeType">
-                    <enum>QSizePolicy::Preferred</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>20</width>
-                     <height>40</height>
-                    </size>
-                   </property>
-                  </spacer>
                  </item>
                 </layout>
@@ -4456,6 +4465,12 @@
                  <item>
                   <widget class="QLabel" name="label_237">
+                   <property name="sizePolicy">
+                    <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                     <horstretch>0</horstretch>
+                     <verstretch>0</verstretch>
+                    </sizepolicy>
+                   </property>
                    <property name="text">
-                    <string>Global voltage offset</string>
+                    <string>Voltage offset</string>
                    </property>
                   </widget>
@@ -4469,6 +4484,78 @@
                  </item>
                  <item>
-                  <layout class="QHBoxLayout" name="horizontalLayout_48">
-                   <item>
+                  <layout class="QGridLayout" name="gridLayout_113">
+                   <item row="1" column="2">
+                    <widget class="QSpinBox" name="fBiasOffsetDac">
+                     <property name="enabled">
+                      <bool>false</bool>
+                     </property>
+                     <property name="sizePolicy">
+                      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                       <horstretch>0</horstretch>
+                       <verstretch>0</verstretch>
+                      </sizepolicy>
+                     </property>
+                     <property name="alignment">
+                      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                     </property>
+                     <property name="suffix">
+                      <string> DAC</string>
+                     </property>
+                     <property name="minimum">
+                      <number>-4095</number>
+                     </property>
+                     <property name="maximum">
+                      <number>4095</number>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="3" column="2">
+                    <widget class="QPushButton" name="fBiasAddOffsetGlobalDac">
+                     <property name="enabled">
+                      <bool>false</bool>
+                     </property>
+                     <property name="text">
+                      <string>Add global</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="0" column="2">
+                    <widget class="QDoubleSpinBox" name="fBiasOffsetDacVolt">
+                     <property name="enabled">
+                      <bool>false</bool>
+                     </property>
+                     <property name="sizePolicy">
+                      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                       <horstretch>0</horstretch>
+                       <verstretch>0</verstretch>
+                      </sizepolicy>
+                     </property>
+                     <property name="alignment">
+                      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                     </property>
+                     <property name="readOnly">
+                      <bool>true</bool>
+                     </property>
+                     <property name="buttonSymbols">
+                      <enum>QAbstractSpinBox::NoButtons</enum>
+                     </property>
+                     <property name="prefix">
+                      <string>~</string>
+                     </property>
+                     <property name="suffix">
+                      <string> V</string>
+                     </property>
+                     <property name="decimals">
+                      <number>3</number>
+                     </property>
+                     <property name="minimum">
+                      <double>-90.000000000000000</double>
+                     </property>
+                     <property name="maximum">
+                      <double>99.000000000000000</double>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="0" column="0">
                     <widget class="QDoubleSpinBox" name="fBiasOffsetVolt">
                      <property name="sizePolicy">
@@ -4482,8 +4569,11 @@
                      </property>
                      <property name="readOnly">
-                      <bool>true</bool>
+                      <bool>false</bool>
                      </property>
                      <property name="buttonSymbols">
-                      <enum>QAbstractSpinBox::NoButtons</enum>
+                      <enum>QAbstractSpinBox::UpDownArrows</enum>
+                     </property>
+                     <property name="prefix">
+                      <string/>
                      </property>
                      <property name="suffix">
@@ -4497,65 +4587,63 @@
                      </property>
                      <property name="maximum">
-                      <double>9999.000000000000000</double>
-                     </property>
-                    </widget>
-                   </item>
-                   <item>
-                    <widget class="QSpinBox" name="fBiasOffsetDac">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="alignment">
-                      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                     </property>
-                     <property name="suffix">
-                      <string> DAC</string>
-                     </property>
-                     <property name="minimum">
-                      <number>-4095</number>
-                     </property>
-                     <property name="maximum">
-                      <number>4095</number>
+                      <double>99.000000000000000</double>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="2" column="2">
+                    <widget class="QPushButton" name="fBiasAddOffsetChDac">
+                     <property name="enabled">
+                      <bool>false</bool>
+                     </property>
+                     <property name="text">
+                      <string>Add Ch</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="0" column="1" rowspan="6">
+                    <widget class="Line" name="line_63">
+                     <property name="orientation">
+                      <enum>Qt::Vertical</enum>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="1" column="0">
+                    <widget class="QPushButton" name="fBiasAddOffsetChVolt">
+                     <property name="enabled">
+                      <bool>true</bool>
+                     </property>
+                     <property name="text">
+                      <string>Add Ch</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="2" column="0">
+                    <widget class="QPushButton" name="fBiasAddOffsetGlobalVolt">
+                     <property name="enabled">
+                      <bool>true</bool>
+                     </property>
+                     <property name="text">
+                      <string>Add global</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="3" column="0">
+                    <widget class="QPushButton" name="fBiasApplyOffsetChVolt">
+                     <property name="enabled">
+                      <bool>true</bool>
+                     </property>
+                     <property name="text">
+                      <string>Set Ch</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="4" column="0">
+                    <widget class="QPushButton" name="fBiasApplyOffsetGlobalVolt">
+                     <property name="text">
+                      <string>Set global</string>
                      </property>
                     </widget>
                    </item>
                   </layout>
-                 </item>
-                 <item>
-                  <layout class="QHBoxLayout" name="horizontalLayout_45">
-                   <item>
-                    <widget class="QPushButton" name="fBiasAddOffset">
-                     <property name="text">
-                      <string>Add offset globally</string>
-                     </property>
-                    </widget>
-                   </item>
-                  </layout>
-                 </item>
-                 <item>
-                  <widget class="QPushButton" name="fBiasApplyOffset">
-                   <property name="text">
-                    <string>Set Vgapd + offset</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <spacer name="verticalSpacer_70">
-                   <property name="orientation">
-                    <enum>Qt::Vertical</enum>
-                   </property>
-                   <property name="sizeType">
-                    <enum>QSizePolicy::Preferred</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>20</width>
-                     <height>40</height>
-                    </size>
-                   </property>
-                  </spacer>
                  </item>
                 </layout>
@@ -4574,20 +4662,4 @@
                  </property>
                  <item>
-                  <spacer name="verticalSpacer_65">
-                   <property name="orientation">
-                    <enum>Qt::Vertical</enum>
-                   </property>
-                   <property name="sizeType">
-                    <enum>QSizePolicy::Preferred</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>20</width>
-                     <height>40</height>
-                    </size>
-                   </property>
-                  </spacer>
-                 </item>
-                 <item>
                   <widget class="QPushButton" name="fBiasSetToZero">
                    <property name="text">
@@ -4618,10 +4690,10 @@
                  </item>
                  <item>
-                  <spacer name="verticalSpacer_67">
+                  <spacer name="verticalSpacer">
                    <property name="orientation">
                     <enum>Qt::Vertical</enum>
                    </property>
                    <property name="sizeType">
-                    <enum>QSizePolicy::Preferred</enum>
+                    <enum>QSizePolicy::Minimum</enum>
                    </property>
                    <property name="sizeHint" stdset="0">
@@ -13046,29 +13118,4 @@
                   </widget>
                  </item>
-                 <item row="7" column="1">
-                  <widget class="QDoubleSpinBox" name="fMagicWindDir">
-                   <property name="alignment">
-                    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                   </property>
-                   <property name="readOnly">
-                    <bool>true</bool>
-                   </property>
-                   <property name="buttonSymbols">
-                    <enum>QAbstractSpinBox::NoButtons</enum>
-                   </property>
-                   <property name="suffix">
-                    <string>°</string>
-                   </property>
-                   <property name="decimals">
-                    <number>0</number>
-                   </property>
-                   <property name="minimum">
-                    <double>-360.000000000000000</double>
-                   </property>
-                   <property name="maximum">
-                    <double>360.000000000000000</double>
-                   </property>
-                  </widget>
-                 </item>
                  <item row="1" column="1">
                   <widget class="QDoubleSpinBox" name="fMagicDew">
@@ -13199,4 +13246,23 @@
                    <property name="alignment">
                     <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="7" column="1">
+                  <widget class="QLineEdit" name="fMagicWindDir">
+                   <property name="text">
+                    <string/>
+                   </property>
+                   <property name="maxLength">
+                    <number>3</number>
+                   </property>
+                   <property name="frame">
+                    <bool>true</bool>
+                   </property>
+                   <property name="alignment">
+                    <set>Qt::AlignCenter</set>
+                   </property>
+                   <property name="readOnly">
+                    <bool>true</bool>
                    </property>
                   </widget>
@@ -16750,5 +16816,5 @@
     <size>
      <width>241</width>
-     <height>758</height>
+     <height>787</height>
     </size>
    </property>
@@ -17395,6 +17461,51 @@
         </widget>
        </item>
-       <item row="13" column="1">
-        <widget class="QLabel" name="fStatusLogger">
+       <item row="15" column="3">
+        <widget class="QLabel" name="fStatusChatLabel">
+         <property name="text">
+          <string>Offline</string>
+         </property>
+        </widget>
+       </item>
+       <item row="15" column="2">
+        <widget class="QPushButton" name="fStatusChatLed">
+         <property name="enabled">
+          <bool>true</bool>
+         </property>
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Minimum">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>18</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="design.qrc">
+           <normaloff>:/Resources/icons/gray circle 1.png</normaloff>:/Resources/icons/gray circle 1.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>16</width>
+           <height>16</height>
+          </size>
+         </property>
+         <property name="checkable">
+          <bool>false</bool>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item row="15" column="1">
+        <widget class="QLabel" name="fStatusChat">
          <property name="sizePolicy">
           <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
@@ -17404,11 +17515,48 @@
          </property>
          <property name="toolTip">
-          <string>Data Logger (writes slow control files)</string>
+          <string>Chat server</string>
          </property>
          <property name="text">
-          <string>Logger</string>
+          <string>Chat</string>
          </property>
          <property name="alignment">
           <set>Qt::AlignCenter</set>
+         </property>
+        </widget>
+       </item>
+       <item row="16" column="1">
+        <widget class="QLabel" name="label_60">
+         <property name="text">
+          <string>Scheduler</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignCenter</set>
+         </property>
+        </widget>
+       </item>
+       <item row="16" column="2">
+        <widget class="QPushButton" name="fStatusSchedulerLed">
+         <property name="maximumSize">
+          <size>
+           <width>18</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="design.qrc">
+           <normaloff>:/Resources/icons/gray circle 1.png</normaloff>:/Resources/icons/gray circle 1.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item row="16" column="3">
+        <widget class="QLabel" name="fStatusSchedulerLabel">
+         <property name="text">
+          <string>Offline</string>
          </property>
         </widget>
@@ -17452,20 +17600,6 @@
         </widget>
        </item>
-       <item row="13" column="3">
-        <widget class="QLabel" name="fStatusLoggerLabel">
-         <property name="text">
-          <string>Offline</string>
-         </property>
-        </widget>
-       </item>
-       <item row="14" column="3">
-        <widget class="QLabel" name="fStatusChatLabel">
-         <property name="text">
-          <string>Offline</string>
-         </property>
-        </widget>
-       </item>
        <item row="14" column="2">
-        <widget class="QPushButton" name="fStatusChatLed">
+        <widget class="QPushButton" name="fStatusWeatherLed">
          <property name="enabled">
           <bool>true</bool>
@@ -17504,6 +17638,6 @@
         </widget>
        </item>
-       <item row="14" column="1">
-        <widget class="QLabel" name="fStatusChat">
+       <item row="13" column="1">
+        <widget class="QLabel" name="fStatusLogger">
          <property name="sizePolicy">
           <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
@@ -17513,8 +17647,8 @@
          </property>
          <property name="toolTip">
-          <string>Chat server</string>
+          <string>Data Logger (writes slow control files)</string>
          </property>
          <property name="text">
-          <string>Chat</string>
+          <string>Logger</string>
          </property>
          <property name="alignment">
@@ -17523,8 +17657,17 @@
         </widget>
        </item>
-       <item row="15" column="1">
-        <widget class="QLabel" name="label_60">
+       <item row="14" column="1">
+        <widget class="QLabel" name="fStatusWeather">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="toolTip">
+          <string>Data Logger (writes slow control files)</string>
+         </property>
          <property name="text">
-          <string>Scheduler</string>
+          <string>Weather</string>
          </property>
          <property name="alignment">
@@ -17533,26 +17676,13 @@
         </widget>
        </item>
-       <item row="15" column="2">
-        <widget class="QPushButton" name="fStatusSchedulerLed">
-         <property name="maximumSize">
-          <size>
-           <width>18</width>
-           <height>16777215</height>
-          </size>
-         </property>
+       <item row="13" column="3">
+        <widget class="QLabel" name="fStatusLoggerLabel">
          <property name="text">
-          <string/>
-         </property>
-         <property name="icon">
-          <iconset resource="design.qrc">
-           <normaloff>:/Resources/icons/gray circle 1.png</normaloff>:/Resources/icons/gray circle 1.png</iconset>
-         </property>
-         <property name="flat">
-          <bool>true</bool>
+          <string>Offline</string>
          </property>
         </widget>
        </item>
-       <item row="15" column="3">
-        <widget class="QLabel" name="fStatusSchedulerLabel">
+       <item row="14" column="3">
+        <widget class="QLabel" name="fStatusWeatherLabel">
          <property name="text">
           <string>Offline</string>
