Index: trunk/FACT++/src/smartfact.cc
===================================================================
--- trunk/FACT++/src/smartfact.cc	(revision 13527)
+++ trunk/FACT++/src/smartfact.cc	(revision 13528)
@@ -194,5 +194,5 @@
     }
 
-    void HandleDrivePointing(const DimData &d)
+    void HandleDriveControlPointing(const DimData &d)
     {
         if (!CheckDataSize(d, "DriveControl:Pointing", 7*4+2))
@@ -225,5 +225,5 @@
     }
 
-    void HandleDriveTracking(const DimData &d)
+    void HandleDriveControlTracking(const DimData &d)
     {
         if (!CheckDataSize(d, "DriveControl:Tracking", 7*4+2))
@@ -242,5 +242,5 @@
     }
 
-    void HandleDriveSource(const DimData &d)
+    void HandleDriveControlSource(const DimData &d)
     {
         if (!CheckDataSize(d, "DriveControl:Source", 7*4+2))
@@ -401,4 +401,10 @@
         if (HandleService(curr, fDimMagicWeatherData,       &StateMachineSmartFACT::HandleMagicWeatherData))
             return;
+        if (HandleService(curr, fDimDriveControlPointing,   &StateMachineSmartFACT::HandleDriveControlPointing))
+            return;
+        if (HandleService(curr, fDimDriveControlTracking,   &StateMachineSmartFACT::HandleDriveControlTracking))
+            return;
+        if (HandleService(curr, fDimDriveControlSource,     &StateMachineSmartFACT::HandleDriveControlSource))
+            return;
         if (HandleService(curr, fDimFeedbackCalibration,    &StateMachineSmartFACT::HandleFeedbackCalibration))
             return;
@@ -413,4 +419,6 @@
 
         if (UpdateState(curr, fDimMagicWeather, fStatusMagicWeather))
+            return;
+        if (UpdateState(curr, fDimDriveControl, fStatusDriveControl))
             return;
         if (UpdateState(curr, fDimFeedback, fStatusFeedback))
@@ -518,5 +526,5 @@
         }
         else
-            out << kWhite << "\n";
+            out << kWhite << "\t" << fStatusDriveControl.second << "\n";
 
         // --------------- MagicWeather -------------
