Index: /trunk/FACT++/src/HeadersFTM.h
===================================================================
--- /trunk/FACT++/src/HeadersFTM.h	(revision 10550)
+++ /trunk/FACT++/src/HeadersFTM.h	(revision 10551)
@@ -313,5 +313,5 @@
         StaticDataBoard fBoard[4][10];      // 4 crates * 10 boards
 
-        uint16_t fActiveFTU[4];
+        uint16_t fActiveFTU[4];             // 4 crates * 10 bits
 
         StaticData() { init(*this); }
@@ -332,4 +332,10 @@
         StaticDataBoard &operator[](int i) { return fBoard[i/10][i%10]; }
         const StaticDataBoard &operator[](int i) const { return fBoard[i/10][i%10]; }
+
+        void EnableFTU(int i)  { fActiveFTU[i/10] |=  (1<<(i%10)); }
+        void DisableFTU(int i) { fActiveFTU[i/10] &= ~(1<<(i%10)); }
+
+        void EnableAllFTU()  { for (int i=0; i<4; i++) fActiveFTU[i] = 0x3ff; }
+        void DisableAllFTU() { for (int i=0; i<4; i++) fActiveFTU[i] = 0;     }
 
     } __attribute__((__packed__));
@@ -377,5 +383,5 @@
         bool HasTimeMarker() const  { return fGeneralSettings & StaticData::kTimeMarker; }
 
-        bool IsActive(int i) const { return fActiveFTU&(1<<i); }
+        bool IsActive(int i) const { return fActiveFTU&(uint64_t(1)<<i); }
         bool IsEnabled(int i) const { return fEnable[i/16]&(1<<(i%16)); }
 
@@ -386,5 +392,8 @@
             fGeneralSettings(d.fGeneralSettings),
             fStatusLEDs(d.fStatusLEDs),
-            fActiveFTU(d.fActiveFTU[0] | (d.fActiveFTU[1]<<10) | (d.fActiveFTU[2]<<20) | (d.fActiveFTU[3]<<30)),
+            fActiveFTU( uint64_t(d.fActiveFTU[0])      |
+                       (uint64_t(d.fActiveFTU[1])<<10) |
+                       (uint64_t(d.fActiveFTU[2])<<20) |
+                       (uint64_t(d.fActiveFTU[3])<<30)),
             fTriggerInterval(d.fTriggerInterval*4+8),
             fTriggerSeqLP1((d.fTriggerSequence)&0x1f),
