Index: /trunk/FACT++/src/HeadersFAD.h
===================================================================
--- /trunk/FACT++/src/HeadersFAD.h	(revision 10816)
+++ /trunk/FACT++/src/HeadersFAD.h	(revision 10817)
@@ -13,4 +13,41 @@
 namespace FAD
 {
+    enum Enable
+    {
+        kCmdDrsEnable       = 0x0600,  // CMD_DENABLE/CMD_DISABLE
+        kCmdDwrite          = 0x0800,  // CMD_DWRITE_RUN/CMD_DWRITE_STOP
+        kCmdSclk            = 0x1000,  // CMD_SCLK_ON/OFF
+        kCmdSrclk           = 0x1500,  // CMD_SRCLK_ON/OFF
+        kCmdTriggerLine     = 0x1800,  // CMD_TRIGGERS_ON/CMD_TRIGGERS_OFF
+        //kCmdContTrigger  = 0x1f00,
+        kCmdContTriggerOff  = 0x2000,
+        kCmdRun             = 0x2200,  // CMD_Start/Stop
+        kCmdResetTriggerId  = 0x2A00,  //
+        kCmdSocket          = 0x3000,  // CMD_mode_command/CMD_mode_all_sockets
+        kCmdSingleTrigger   = 0xA000,  // CMD_Trigger
+        kCmdContTriggerOn   = 0xB000,
+    };
+
+    enum Commands
+    {
+        kCmdWrite           = 0x0500,         // write to Config-RAM
+        kCmdWriteRoi        = kCmdWrite|0x00, // Baseaddress ROI-Values
+        kCmdWriteDac        = kCmdWrite|0x24, // Baseaddress DAC-Values
+
+        kCmdWriteRate       = kCmdWrite|0x2c, // Continous trigger rate
+        kCmdWriteRunNumber  = kCmdWrite|0x2d, // 
+
+        /*
+         kCmdRead            = 0x0a00,         // read from Config-RAM
+         kCmdReadRoi         = kCmdRead|0x00,  // Baseaddress ROI-Values
+         kCmdReadDac         = kCmdRead|0x24,  // Baseaddress DAC-Values
+         */
+
+        kCmdPhaseIncrease   = 0x1200,         // CMD_PS_DIRINC
+        kCmdPhaseDecrease   = 0x1300,         // CMD_PS_DIRDEC
+        kCmdPhaseApply      = 0x1400,         // CMD_PS_DO
+        kCmdPhaseReset      = 0x1700,         // CMD_PS_RESET
+    };
+
     enum States
     {
@@ -162,15 +199,32 @@
             Reverse(&fRunNumber);
             Reverse(&fDNA);
-
-/*
-            // Extract temperatures (MSB indicates if temperature
-            // is positive or negative)
-            for (int i=0; i<kNumTemp; i++)
-            {
-                if (fTempDrs[i]&0x8000)
-                    fTempDrs[i] |= 0xE000;
-                fTempDrs[i]>>=3;
-            }
-            */
+        }
+
+        std::vector<uint16_t> HtoN() const
+        {
+            EventHeader h(*this);
+
+            Reverse(((uint16_t*)h.fEventCounter));
+            Reverse(((uint16_t*)h.fEventCounter)+1);
+
+            Reverse(&h.fEventCounter);
+
+            Reverse(((uint16_t*)h.fFreqRefClock));
+            Reverse(((uint16_t*)h.fFreqRefClock)+1);
+
+            Reverse(&h.fFreqRefClock);
+
+            Reverse(((uint16_t*)&h.fTimeStamp));
+            Reverse(((uint16_t*)&h.fTimeStamp)+1);
+
+            Reverse(&h.fTimeStamp);
+
+            Reverse(((uint16_t*)&h.fRunNumber));
+            Reverse(((uint16_t*)&h.fRunNumber)+1);
+
+            Reverse(&h.fRunNumber);
+            Reverse(&h.fDNA);
+
+            return htoncpy(h);
         }
 
@@ -195,4 +249,12 @@
         uint16_t Board() const { return fBoardId&0xff; }
 
+        void Enable(Bits pos, bool enable=true)
+        {
+            if (enable)
+                fStatus |= pos;
+            else
+                fStatus &= ~pos;
+        }
+
         void clear() { reset(*this); }
         void print(std::ostream &out) const;
@@ -213,4 +275,10 @@
         {
             ntohcpy(vec, *this);
+        }
+
+        std::vector<uint16_t> HtoN() const
+        {
+            ChannelHeader h(*this);
+            return htoncpy(h);
         }
 
