Revision: 8182
          http://playerstage.svn.sourceforge.net/playerstage/?rev=8182&view=rev
Author:   gbiggs
Date:     2009-08-07 08:08:34 +0000 (Fri, 07 Aug 2009)

Log Message:
-----------
Applied patch #2832969: Update to writelog and readlog

Modified Paths:
--------------
    code/player/trunk/server/drivers/shell/readlog.cc
    code/player/trunk/server/drivers/shell/writelog.cc

Modified: code/player/trunk/server/drivers/shell/readlog.cc
===================================================================
--- code/player/trunk/server/drivers/shell/readlog.cc   2009-08-06 23:32:05 UTC 
(rev 8181)
+++ code/player/trunk/server/drivers/shell/readlog.cc   2009-08-07 08:08:34 UTC 
(rev 8182)
@@ -2458,6 +2458,39 @@
                                   (void*)&data, sizeof(data), &time);
                     return (0);
                }
+               
+               case PLAYER_IMU_DATA_FULLSTATE:
+               {
+                       if (token_count < 22)
+                       {
+                               PLAYER_ERROR2("invalid line at %s:%d", 
this->filename, linenum);
+                               return -1;
+                       }
+                       player_imu_data_fullstate_t data;
+                       
+                       data.pose.px = static_cast<float> (atof (tokens[7]));
+                       data.pose.py = static_cast<float> (atof (tokens[8]));
+                       data.pose.pz = static_cast<float> (atof (tokens[9]));
+                       data.pose.proll  = static_cast<float> (atof 
(tokens[10]));
+                       data.pose.ppitch  = static_cast<float> (atof 
(tokens[11]));
+                       data.pose.pyaw  = static_cast<float> (atof 
(tokens[12]));
+                       data.vel.px = static_cast<float> (atof (tokens[13]));
+                       data.vel.py = static_cast<float> (atof (tokens[14]));
+                       data.vel.pz = static_cast<float> (atof (tokens[15]));
+                       data.vel.proll  = static_cast<float> (atof 
(tokens[16]));
+                       data.vel.ppitch  = static_cast<float> (atof 
(tokens[17]));
+                       data.vel.pyaw  = static_cast<float> (atof (tokens[18]));
+                       data.acc.px = static_cast<float> (atof (tokens[19]));
+                       data.acc.py = static_cast<float> (atof (tokens[20]));
+                       data.acc.pz = static_cast<float> (atof (tokens[21]));
+                       data.acc.proll = 0;
+                       data.acc.ppitch = 0;
+                       data.acc.pyaw = 0;
+                       
+                       this->Publish (id, static_cast<uint8_t> (type), 
static_cast<uint8_t> (subtype),
+                                                       (void*)&data, 
sizeof(data), &time);
+                                                       return (0);
+               }
                 default:
                     PLAYER_ERROR1 ("unknown IMU data subtype %d\n", subtype);
                     return (-1);

Modified: code/player/trunk/server/drivers/shell/writelog.cc
===================================================================
--- code/player/trunk/server/drivers/shell/writelog.cc  2009-08-06 23:32:05 UTC 
(rev 8181)
+++ code/player/trunk/server/drivers/shell/writelog.cc  2009-08-07 08:08:34 UTC 
(rev 8182)
@@ -1636,6 +1636,22 @@
        -> proll   (float): roll angle
        -> ppitch  (float): pitch angle
        -> pyaw    (float): yaw angle
+       - for PLAYER_IMU_DATA_FULLSTATE (player_imu_data_fullstate_t):
+       -> pose_px     (float): X pose
+       -> pose_py     (float): Y pose
+       -> pose_pz     (float): Z pose
+       -> pose_proll  (float): roll angle
+       -> pose_ppitch (float): pitch angle
+       -> pose_pyaw   (float): yaw angle
+       -> vel_px     (float): X velocity
+       -> vel_py     (float): Y velocity
+       -> vel_pz     (float): Z velocity
+       -> vel_proll  (float): roll anglular velocity
+       -> vel_ppitch (float): pitch anglular velocity
+       -> vel_pyaw   (float): yaw anglular velocity
+       -> acc_px     (float): X acceleration
+       -> acc_py     (float): Y acceleration
+       -> acc_pz     (float): Z acceleration
  */
 int
 WriteLog::WriteIMU (player_msghdr_t* hdr, void *data)
@@ -1718,6 +1734,29 @@
                             idata->orientation.pyaw);
                     return (0);
                }
+               
+                               case PLAYER_IMU_DATA_FULLSTATE:
+                               {
+                                       player_imu_data_fullstate_t* idata;
+                                       idata = 
(player_imu_data_fullstate_t*)data;
+                                       fprintf (this->file,"%f %f %f %f %f %f 
%f %f %f %f %f %f %f %f %f",
+                                                         idata->pose.px,
+                                                         idata->pose.py,
+                                                         idata->pose.pz,
+                                                         idata->pose.proll,
+                                                         idata->pose.ppitch,
+                                                         idata->pose.pyaw,
+                                                         idata->vel.px,
+                                                         idata->vel.py,
+                                                         idata->vel.pz,
+                                                         idata->vel.proll,
+                                                         idata->vel.ppitch,
+                                                         idata->vel.pyaw,
+                                                         idata->acc.px,
+                                                         idata->acc.py,
+                                                         idata->acc.pz);
+                                                         return (0);
+                               }
 
                 default:
                     return (-1);


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

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to