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