Index: /trunk/FACT++/gui/FactGui.h
===================================================================
--- /trunk/FACT++/gui/FactGui.h	(revision 12521)
+++ /trunk/FACT++/gui/FactGui.h	(revision 12522)
@@ -418,4 +418,5 @@
     DimStampedInfo fDimFadStatistics1;
     DimStampedInfo fDimFadStatistics2;
+    DimStampedInfo fDimFadFileFormat;
 
     DimStampedInfo fDimFscTemp;
@@ -1390,4 +1391,13 @@
         fDrsCalibTrgOffset->setEnabled(fDrsCalibTrgOffset->value()>0);
         fDrsCalibROI->setEnabled(fDrsCalibROI->value()>0);
+
+        fDrsCalibBaseline2->setEnabled(fDrsCalibBaseline->value()>0);
+        fDrsCalibGain2->setEnabled(fDrsCalibGain->value()>0);
+        fDrsCalibTrgOffset2->setEnabled(fDrsCalibTrgOffset->value()>0);
+        fDrsCalibROI2->setEnabled(fDrsCalibROI->value()>0);
+
+        SetLedColor(fFadLedDrsBaseline, fDrsCalibBaseline->value()>0 ?kLedGreen:kLedGray, Time());
+        SetLedColor(fFadLedDrsGain,     fDrsCalibGain->value()>0     ?kLedGreen:kLedGray, Time());
+        SetLedColor(fFadLedDrsTrgOff,   fDrsCalibTrgOffset->value()>0?kLedGreen:kLedGray, Time());
 
         if (d0)//fDrsCalibBaseline->value()==0  || start<0)
@@ -1620,4 +1630,10 @@
             fDrsCalibTrgOffset->setValue(-1);
             fDrsCalibROI->setValue(-1);
+
+            fDrsCalibBaseline2->setValue(-1);
+            fDrsCalibGain2->setValue(-1);
+            fDrsCalibTrgOffset2->setValue(-1);
+            fDrsCalibROI2->setValue(-1);
+
             fDrsCalibration.assign(sz, 0);
             DisplayEventData();
@@ -1635,4 +1651,9 @@
         fDrsCalibGain->setValue(run[2]);
         fDrsCalibTrgOffset->setValue(run[3]);
+
+        fDrsCalibROI2->setValue(run[0]);
+        fDrsCalibBaseline2->setValue(run[1]);
+        fDrsCalibGain2->setValue(run[2]);
+        fDrsCalibTrgOffset2->setValue(run[3]);
 
         const float *dat = d.ptr<float>(sizeof(uint32_t)*4);
@@ -1946,4 +1967,18 @@
          uint8_t  numConn[NBOARDS] ;  //#Sockets succesfully open per board
          */
+    }
+
+    void handleFadFileFormat(const DimData &d)
+    {
+        if (!CheckSize(d, sizeof(uint16_t)))
+            return;
+
+        const uint16_t &fmt = d.get<uint16_t>();
+
+        SetLedColor(fFadLedFileFormatNone,  fmt==FAD::kNone ?kLedGreen:kLedGray, d.time);
+        SetLedColor(fFadLedFileFormatDebug, fmt==FAD::kDebug?kLedGreen:kLedGray, d.time);
+        SetLedColor(fFadLedFileFormatRaw,   fmt==FAD::kRaw  ?kLedGreen:kLedGray, d.time);
+        SetLedColor(fFadLedFileFormatFits,  fmt==FAD::kFits ?kLedGreen:kLedGray, d.time);
+        SetLedColor(fFadLedFileFormatCalib, fmt==FAD::kCalib?kLedGreen:kLedGray, d.time);
     }
 
@@ -2934,6 +2969,4 @@
             fStatusDriveLabel->setToolTip(s.comment.c_str());
 
-            bool enable = false;
-
             if (s.index<1) // No Dim connection
                 SetLedColor(fStatusDriveLed, kLedGray, time);
@@ -3303,4 +3336,7 @@
             return PostInfoHandler(&FactGui::handleFadStatistics2);
 
+        if (getInfo()==&fDimFadFileFormat)
+            return PostInfoHandler(&FactGui::handleFadFileFormat);
+
         if (getInfo()==&fDimFadEvents)
             return PostInfoHandler(&FactGui::handleFadEvents);
@@ -3625,10 +3661,12 @@
     }
 
+    /*
     void on_fThresholdIdx_valueChanged(int isw)
     {
         // fRatesCanv->SetBold(isw);
         // fRatesCanv->updateGL();
-    }
-
+    }*/
+
+    /*
     void UpdateThresholdIdx()
     {
@@ -3648,5 +3686,5 @@
 
         on_fThresholdIdx_valueChanged(isw);
-    }
+    }*/
 
     void on_fPixelIdx_valueChanged(int isw)
@@ -3945,4 +3983,5 @@
         fDimFadStatistics1     ("FAD_CONTROL/STATISTICS1",        (void*)NULL, 0, this),
         fDimFadStatistics2     ("FAD_CONTROL/STATISTICS2",        (void*)NULL, 0, this),
+        fDimFadFileFormat      ("FAD_CONTROL/FILE_FORMAT",        (void*)NULL, 0, this),
         //-
         fDimFscTemp            ("FSC_CONTROL/TEMPERATURE",        (void*)NULL, 0, this),
Index: /trunk/FACT++/gui/MainWindow.cc
===================================================================
--- /trunk/FACT++/gui/MainWindow.cc	(revision 12521)
+++ /trunk/FACT++/gui/MainWindow.cc	(revision 12522)
@@ -318,4 +318,9 @@
 }
 
+void MainWindow::FadSetFileFormat(uint16_t fmt)
+{
+    Dim::SendCommand("FAD_CONTROL/SET_FILE_FORMAT", fmt);
+}
+
 void MainWindow::on_fFadStart_clicked()
 {
Index: /trunk/FACT++/gui/MainWindow.h
===================================================================
--- /trunk/FACT++/gui/MainWindow.h	(revision 12521)
+++ /trunk/FACT++/gui/MainWindow.h	(revision 12522)
@@ -85,4 +85,11 @@
     void on_fFadSocket17_clicked();
 
+    void FadSetFileFormat(uint16_t fmt);
+
+    void on_fFadButtonFileFormatNone_clicked()  { FadSetFileFormat(0); }
+    void on_fFadButtonFileFormatDebug_clicked() { FadSetFileFormat(1); }
+    void on_fFadButtonFileFormatFits_clicked()  { FadSetFileFormat(2); }
+    void on_fFadButtonFileFormatRaw_clicked()   { FadSetFileFormat(3); }
+
     void on_fFadPrescalerCmd_valueChanged(int);
     void on_fFadRunNumberCmd_valueChanged(int);
@@ -103,4 +110,7 @@
     void on_fDrsCalibStart_clicked();
     void on_fDrsCalibReset_clicked();
+
+    void on_fDrsCalibStart2_clicked() { on_fDrsCalibStart_clicked(); }
+    void on_fDrsCalibReset2_clicked() { on_fDrsCalibReset_clicked(); }
 
     // Tab: Adc
@@ -200,13 +210,13 @@
 
     // Tab: Rates
-    virtual void UpdateThresholdIdx() = 0;
+    //virtual void UpdateThresholdIdx() = 0;
     virtual void on_fPixelIdx_valueChanged(int) = 0;
-    void on_fThresholdCrate_valueChanged(int) { UpdateThresholdIdx() ; }
-    void on_fThresholdBoard_valueChanged(int) { UpdateThresholdIdx() ; }
-    void on_fThresholdPatch_valueChanged(int) { UpdateThresholdIdx() ; }
+    //void on_fThresholdCrate_valueChanged(int) { UpdateThresholdIdx() ; }
+    //void on_fThresholdBoard_valueChanged(int) { UpdateThresholdIdx() ; }
+    //void on_fThresholdPatch_valueChanged(int) { UpdateThresholdIdx() ; }
 
     virtual void on_fPixelEnable_stateChanged(int) = 0;
     virtual void on_fThresholdVal_valueChanged(int) = 0;
-    virtual void on_fThresholdIdx_valueChanged(int) = 0;
+    //virtual void on_fThresholdIdx_valueChanged(int) = 0;
 
     virtual void on_fBoardRatesEnabled_toggled(bool) = 0;
Index: /trunk/FACT++/src/EventBuilderWrapper.h
===================================================================
--- /trunk/FACT++/src/EventBuilderWrapper.h	(revision 12521)
+++ /trunk/FACT++/src/EventBuilderWrapper.h	(revision 12522)
@@ -75,15 +75,5 @@
     };
 
-    enum FileFormat_t
-    {
-        kNone = 0,
-        kDebug,
-        kFits,
-        kRaw,
-        kCalib
-    };
-
-    FileFormat_t fFileFormat;
-
+    FAD::FileFormat_t fFileFormat;
 
     uint32_t fMaxRun;
@@ -110,4 +100,5 @@
     DimDescribedService fDimStatistics1;
     DimDescribedService fDimStatistics2;
+    DimDescribedService fDimFileFormat;
 
     bool fDebugStream;
@@ -178,5 +169,5 @@
 public:
     EventBuilderWrapper(MessageImp &imp) : fMsg(imp),
-        fFileFormat(kNone), fMaxRun(0), fLastOpened(0), fLastClosed(0),
+        fFileFormat(FAD::kNone), fMaxRun(0), fLastOpened(0), fLastClosed(0),
         fDimWriteStats  ("FAD_CONTROL", imp),
         fDimRuns        ("FAD_CONTROL/RUNS",               "I:5;C", ""),
@@ -197,4 +188,5 @@
         fDimStatistics1 ("FAD_CONTROL/STATISTICS1",        "I:3;I:5;X:4;I:3;I:3;I:40;I:1;I:2;C:40;I:40;I:40;X:40", ""),
         fDimStatistics2 ("FAD_CONTROL/STATISTICS2",        "I:1;I:280;X:40;I:40;I:4;I:4;I:2;I:2;I:3;C:40",  ""),
+        fDimFileFormat  ("FAD_CONTROL/FILE_FORMAT",        "S:1",  ""),
         fDebugStream(false), fDebugRead(false), fDebugLog(false)
     {
@@ -407,8 +399,9 @@
     bool IsIgnored(int i) const { return g_port[i].sockDef==-1; }
 
-    void SetOutputFormat(FileFormat_t f)
+    void SetOutputFormat(FAD::FileFormat_t f)
     {
         fFileFormat = f;
-        if (fFileFormat==kCalib)
+        fDimFileFormat.Update(uint16_t(f));
+        if (fFileFormat==FAD::kCalib)
         {
             DataCalib::Restart();
@@ -565,9 +558,9 @@
         switch (fFileFormat)
         {
-        case kNone:  file = new DataDump(fPath, runid,  fMsg); break;
-        case kDebug: file = new DataDebug(fPath, runid, fMsg); break;
-        case kFits:  file = new DataWriteFits(fPath, runid,  fMsg); break;
-	case kRaw:   file = new DataWriteRaw(fPath, runid,   fMsg); break;
-	case kCalib: file = new DataCalib(fPath, runid, fDimDrsCalibration, fMsg); break;
+        case FAD::kNone:  file = new DataDump(fPath, runid,  fMsg); break;
+        case FAD::kDebug: file = new DataDebug(fPath, runid, fMsg); break;
+        case FAD::kFits:  file = new DataWriteFits(fPath, runid,  fMsg); break;
+	case FAD::kRaw:   file = new DataWriteRaw(fPath, runid,   fMsg); break;
+	case FAD::kCalib: file = new DataCalib(fPath, runid, fDimDrsCalibration, fMsg); break;
         }
 
Index: /trunk/FACT++/src/HeadersFAD.h
===================================================================
--- /trunk/FACT++/src/HeadersFAD.h	(revision 12521)
+++ /trunk/FACT++/src/HeadersFAD.h	(revision 12522)
@@ -66,4 +66,13 @@
         kConfigured,
         kWritingData
+    };
+
+    enum FileFormat_t
+    {
+        kNone = 0,  // Nothing is written just some little output in the log-stream
+        kDebug,     // The contents of the headers are output to the console
+        kFits,      // FITS files are written
+        kRaw,       // Raw binary streams are written
+        kCalib      // DRS calibration in progress
     };
 
Index: /trunk/FACT++/src/fadctrl.cc
===================================================================
--- /trunk/FACT++/src/fadctrl.cc	(revision 12521)
+++ /trunk/FACT++/src/fadctrl.cc	(revision 12522)
@@ -823,11 +823,15 @@
         const uint16_t fmt = evt.GetUShort();
 
+        // A simple way to make sure that no invalid file format
+        // is passed to the event builder
 	switch (fmt)
 	{
-	case 0: SetOutputFormat(kNone);  break;
-	case 1: SetOutputFormat(kDebug); break;
-	case 2: SetOutputFormat(kFits);  break;
-	case 3: SetOutputFormat(kRaw);   break;
-	case 4: SetOutputFormat(kCalib); break;
+        case FAD::kNone:  
+        case FAD::kDebug: 
+        case FAD::kFits:  
+        case FAD::kRaw:   
+        case FAD::kCalib:
+            SetOutputFormat(FAD::FileFormat_t(fmt));
+            break;
 	default:
             T::Error("File format unknonw.");
@@ -840,5 +844,5 @@
     int StartDrsCalibration()
     {
-	SetOutputFormat(kCalib);
+        SetOutputFormat(FAD::kCalib);
         return T::GetCurrentState();
     }
@@ -1556,4 +1560,5 @@
         // deletion and creation of threads and more.
         ResetConfig();
+        SetOutputFormat(FAD::kNone);
 
         // State names
