Revision: 9063
          http://playerstage.svn.sourceforge.net/playerstage/?rev=9063&view=rev
Author:   jpgr87
Date:     2011-07-16 23:58:41 +0000 (Sat, 16 Jul 2011)

Log Message:
-----------
Applied patch #3317615: hokuyo_aist does not handle hardware timestamps properly

Modified Paths:
--------------
    code/player/trunk/server/drivers/ranger/hokuyo_aist.cc

Modified: code/player/trunk/server/drivers/ranger/hokuyo_aist.cc
===================================================================
--- code/player/trunk/server/drivers/ranger/hokuyo_aist.cc      2011-07-16 
23:57:00 UTC (rev 9062)
+++ code/player/trunk/server/drivers/ranger/hokuyo_aist.cc      2011-07-16 
23:58:41 UTC (rev 9063)
@@ -112,7 +112,7 @@
  - hw_timestamps (boolean)
    - Default: false
    - When false, the server will use server time stamps in data messages. When 
true, the time stamp
-     in the laser data will be used.
+     in the laser data will be used, offset to the current system time.
 
  @par Example
 
@@ -594,7 +594,7 @@
         rangeData.ranges_count = data_.ranges_length();
         if (hwTimeStamps_.GetValue())
         {
-            double ts = data_.system_time_stamp();
+            double ts = data_.system_time_stamp() / 1000000000.0;
             Publish(device_addr, PLAYER_MSGTYPE_DATA, PLAYER_RANGER_DATA_RANGE,
                     reinterpret_cast<void*>(&rangeData), sizeof(rangeData),
                     &ts);
@@ -610,7 +610,7 @@
         intensityData.intensities_count = data_.intensities_length();
         if (hwTimeStamps_.GetValue())
         {
-            double ts = data_.system_time_stamp();
+            double ts = data_.system_time_stamp() / 1000000000.0;
             Publish(device_addr, PLAYER_MSGTYPE_DATA, PLAYER_RANGER_DATA_INTNS,
                     reinterpret_cast<void*>(&intensityData),
                     sizeof(intensityData), &ts);
@@ -672,7 +672,7 @@
         rangeData.ranges_count = data_.ranges_length();
         if (hwTimeStamps_.GetValue())
         {
-            double ts = data_.system_time_stamp() / 1000.0;
+            double ts = data_.system_time_stamp() / 1000000000.0;
             Publish(device_addr, PLAYER_MSGTYPE_DATA, PLAYER_RANGER_DATA_RANGE,
                     reinterpret_cast<void*> (&rangeData), sizeof(rangeData),
                     &ts);
@@ -748,6 +748,9 @@
             PLAYER_WARN1("hokuyo_aist: Unable to set sensitivity: %s",
                     e.what());
         }
+       if (hwTimeStamps_.GetValue()) {
+               device_.calibrate_time();
+       }
     }
     catch(hokuyo_aist::BaseError &e)
     {


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to