Index: /trunk/FACT++/src/fad.cc
===================================================================
--- /trunk/FACT++/src/fad.cc	(revision 11194)
+++ /trunk/FACT++/src/fad.cc	(revision 11195)
@@ -28,5 +28,5 @@
 class tcp_connection : public ba::ip::tcp::socket, public boost::enable_shared_from_this<tcp_connection>
 {
-private:
+public:
     const int fBoardId;
 
@@ -85,7 +85,4 @@
     void SendData()
     {
-        if (!fTriggerEnabled)
-            return;
-
         fHeader.fPackageLength = sizeof(EventHeader)/2+1;
         fHeader.fEventCounter++;
@@ -147,5 +144,6 @@
 
         // The deadline has passed.
-        SendData();
+        if (fTriggerEnabled)
+            SendData();
 
         AsyncWait(fTriggerSendData, 1, &tcp_connection::TriggerSendData);
@@ -186,4 +184,5 @@
                 cout << "-> Trigger line" << endl;
                 fTriggerEnabled = fBufCommand[0]==kCmdTriggerLine;
+                fHeader.Enable(FAD::EventHeader::kTriggerLine, fTriggerEnabled);
                 break;
 
@@ -205,26 +204,34 @@
                 break;
 
+            case kCmdBusy:
+            case kCmdBusy+0x100:
+                cout << "-> Busy" << endl;
+                fHeader.Enable(FAD::EventHeader::kBusy, fBufCommand[0]==kCmdBusy);
+                break;
+
             case kCmdSocket:
             case kCmdSocket+0x100:
                 cout << "-> Socket" << endl;
                 fCommandSocket = fBufCommand[0]==kCmdSocket;
+                fHeader.Enable(FAD::EventHeader::kSock17, fCommandSocket);
                 break;
 
             case kCmdContTrigger:
             case kCmdContTrigger+0x100:
-                if (fBufCommand[0]==kCmdContTrigger+0x100)
+                if (fBufCommand[0]==kCmdContTrigger)
                     AsyncWait(fTriggerSendData, 1, &tcp_connection::TriggerSendData);
                 else
                     fTriggerSendData.cancel();
+                fHeader.Enable(FAD::EventHeader::kContTrigger, fBufCommand[0]==kCmdContTrigger);
                 cout << "-> ContTrig" << endl;
                 break;
 
             case kCmdResetTriggerId:
-                cout << "-> Reset" << endl;
+                cout << "-> ResetId" << endl;
                 fHeader.fEventCounter = 0;
                 break;
 
             case kCmdSingleTrigger:
-                cout << "-> Trigger" << endl;
+                cout << "-> Trigger " << fBoardId << endl;
                 SendData();
                 break;
@@ -361,5 +368,5 @@
     void handle_accept(boost::shared_ptr<ba::ip::tcp::socket> socket, int port, const boost::system::error_code&/* error*/)
     {
-        cout << "Added one socket " << socket->remote_endpoint().address().to_v4().to_string();
+        cout << this << " Added one socket[" << fBoardId << "] " << socket->remote_endpoint().address().to_v4().to_string();
         cout << ":"<< port << endl;
         fSockets.push_back(socket);
@@ -406,4 +413,5 @@
         boost::shared_ptr<ba::ip::tcp::socket> connection =
             boost::shared_ptr<ba::ip::tcp::socket>(new ba::ip::tcp::socket(acc.io_service()));
+
         acc.async_accept(*connection,
                           boost::bind(&tcp_connection::handle_accept,
@@ -415,6 +423,8 @@
     void start_accept()
     {
-        cout << "Start accept " << acc0.local_endpoint().port() << "..." << flush;
+        cout << "Start accept[" << fBoardId << "] " << acc0.local_endpoint().port() << "..." << flush;
         tcp_connection::shared_ptr new_connection = tcp_connection::create(/*acceptor_.*/acc0.io_service(), fBoardId);
+
+        cout << new_connection.get() << " ";
 
         // This will accept a connection without blocking
@@ -441,5 +451,5 @@
 
         // not installing a new handler will stop run()
-        cout << "Handle accept..." << flush;
+        cout << new_connection.get() << " Handle accept[" << fBoardId << "]["<<new_connection->fBoardId<<"]..." << flush;
         if (!error)
         {
