Index: trunk/FACT++/src/EventBuilderWrapper.h
===================================================================
--- trunk/FACT++/src/EventBuilderWrapper.h	(revision 11177)
+++ trunk/FACT++/src/EventBuilderWrapper.h	(revision 11179)
@@ -722,4 +722,5 @@
     DimDescribedService fDimFwVersion;
     DimDescribedService fDimStatus;
+    DimDescribedService fDimDNA;
     DimDescribedService fDimStatistics;
 
@@ -742,4 +743,5 @@
         fDimFwVersion   ("FAD_CONTROL/FIRMWARE_VERSION", "F:43", ""),
         fDimStatus      ("FAD_CONTROL/STATUS",           "S:42", ""),
+        fDimDNA         ("FAD_CONTROL/DNA",              "X:40", ""),
         fDimStatistics  ("FAD_CONTROL/STATISTICS",       "X:8",  ""),
         fDebugStream(false), fDebugRead(false)
@@ -1453,5 +1455,4 @@
         {
             const pair<bool, boost::array<uint16_t,43>> ver = Compare(&h, &h.fVersion);
-            //Print("Ver", ver);
 
             pair<bool, boost::array<float,43>> data;
@@ -1467,4 +1468,19 @@
         }
 
+        /*
+         uint16_t fTriggerType;
+         uint32_t fTriggerId;
+         uint32_t fEventCounter;
+         uint32_t fFreqRefClock;
+         uint16_t fAdcClockPhaseShift;
+         uint16_t fNumTriggersToGenerate;
+         uint16_t fTriggerGeneratorPrescaler;
+         uint64_t fDNA; // Xilinx DNA
+         uint32_t fTimeStamp;
+         uint32_t fRunNumber;
+         int16_t  fTempDrs[kNumTemp];   // In units of 1/16 deg(?)
+         uint16_t fDac[kNumDac];
+         */
+
         if (old.fTriggerType != h.fTriggerType)
         {
@@ -1477,4 +1493,11 @@
             const pair<bool, boost::array<uint32_t,43>> run = Compare(&h, &h.fRunNumber);
             Print("Run", run);
+        }
+
+        if (old.fDNA != h.fDNA)
+        {
+            const pair<bool, boost::array<uint64_t,43>> dna = Compare(&h, &h.fDNA);
+            fDimDNA.setData(const_cast<uint64_t*>(dna.second.data())+3, 40*sizeof(uint64_t));
+            fDimDNA.updateService();
         }
 
Index: trunk/FACT++/src/fad.cc
===================================================================
--- trunk/FACT++/src/fad.cc	(revision 11177)
+++ trunk/FACT++/src/fad.cc	(revision 11179)
@@ -324,4 +324,5 @@
         fHeader.fBoardId = (fBoardId%10) | ((fBoardId/10)<<8);
         fHeader.fRunNumber = 1;
+        fHeader.fDNA = reinterpret_cast<uint64_t>(this);
         fHeader.fStatus = 0xf<<12 |
             FAD::EventHeader::kDenable    |
@@ -330,4 +331,5 @@
             FAD::EventHeader::kDcmReady   |
             FAD::EventHeader::kSpiSclk;
+
 
         fStartTime = Time(Time::utc).UnixTime();
