Revision: 7104
          http://playerstage.svn.sourceforge.net/playerstage/?rev=7104&view=rev
Author:   gerkey
Date:     2008-10-17 16:48:26 +0000 (Fri, 17 Oct 2008)

Log Message:
-----------
updated parser to add a place for bumper geometry

Modified Paths:
--------------
    code/player/trunk/server/codetools/saphconv/mktypedef.tcl
    code/player/trunk/server/codetools/saphconv/parseparam.tcl
    code/player/trunk/server/codetools/saphconv/saphconv.tcl

Modified: code/player/trunk/server/codetools/saphconv/mktypedef.tcl
===================================================================
--- code/player/trunk/server/codetools/saphconv/mktypedef.tcl   2008-10-17 
05:14:50 UTC (rev 7103)
+++ code/player/trunk/server/codetools/saphconv/mktypedef.tcl   2008-10-17 
16:48:26 UTC (rev 7104)
@@ -17,11 +17,13 @@
 # replacing old ones.  this way we'll get the union of all variable names
 array set vars {}
 set maxsonarnum 0
+set maxbumpernum 0
 foreach fname $argv {
 
   set fd [open $fname r]
   
   set sonarnum 0
+  set bumpernum 0
   while {![eof $fd]} {
     set line [gets $fd]
     if {![string length $line] || 
@@ -35,20 +37,16 @@
     if {![string compare $name "Section"]} { continue; }
     if {![string compare $name "SonarUnit"]} {incr sonarnum; continue; }
     set value [lindex $line 1]
+    if {![string compare $name "NumFrontBumpers"]} {incr bumpernum $value; }
+    if {![string compare $name "NumRearBumpers"]} {incr bumpernum $value; }
 
-    # If we determine the value to begin with ;, then the file doesn't give
-    # a value (a apparently newly allowed syntatic construct in a .p file).
-    # So we'll assume that an empty string is appropriate.
-    if {![string compare [string index $value 0] "\;"]} {
-      set value ""
-    }
-
     set vars($name) $value
   }
 
   close $fd
 
   if {$sonarnum > $maxsonarnum} {set maxsonarnum $sonarnum}
+  if {$bumpernum > $maxbumpernum} {set maxbumpernum $bumpernum}
 }
 
 # they took this one out for some reason, and only give the info in the manual
@@ -64,6 +62,14 @@
 puts "\} sonar_pose_t;\n\n"
 
 puts "typedef struct\n\{"
+puts "  double x;"
+puts "  double y;"
+puts "  double th;"
+puts "  double length;"
+puts "  double radius;"
+puts "\} bumper_def_t;\n\n"
+
+puts "typedef struct\n\{"
 # write each variable name out, inferring its type
 foreach name [lsort [array names vars]] {
 
@@ -86,6 +92,7 @@
   }
 }
 puts "  sonar_pose_t sonar_pose\[$maxsonarnum\];"
+puts "  bumper_def_t bumper_geom\[$maxbumpernum\];"
 puts "\} RobotParams_t;"
 
 puts "\n\nextern RobotParams_t PlayerRobotParams\[\];"

Modified: code/player/trunk/server/codetools/saphconv/parseparam.tcl
===================================================================
--- code/player/trunk/server/codetools/saphconv/parseparam.tcl  2008-10-17 
05:14:50 UTC (rev 7103)
+++ code/player/trunk/server/codetools/saphconv/parseparam.tcl  2008-10-17 
16:48:26 UTC (rev 7104)
@@ -18,11 +18,13 @@
 # replacing old ones.  this way we'll get the union of all variable names
 array set vars {}
 set maxsonarnum 0
+set maxbumpernum 0
 foreach fname $argv {
 
   set fd [open $fname r]
   
   set sonarnum 0
+  set bumpernum 0
   while {![eof $fd]} {
     set line [gets $fd]
     if {![string length $line] || 
@@ -36,6 +38,8 @@
     if {![string compare $name "Section"]} { continue; }
     if {![string compare $name "SonarUnit"]} {incr sonarnum; continue; }
     set value [lindex $line 1]
+    if {![string compare $name "NumFrontBumpers"]} {incr bumpernum $value; }
+    if {![string compare $name "NumRearBumpers"]} {incr bumpernum $value; }
 
     set vars($name) $value
   }
@@ -43,6 +47,7 @@
   close $fd
 
   if {$sonarnum > $maxsonarnum} {set maxsonarnum $sonarnum}
+  if {$bumpernum > $maxbumpernum} {set maxbumpernum $bumpernum}
 }
 
 # they took this one out for some reason, and only give the info in the manual
@@ -137,6 +142,14 @@
     #puts "    \{ 0, 0, 0 \},"
     #incr i
   #}
+  puts "  \},"
+
+  puts "  \{"
+  set i 0
+  while {$i < $maxbumpernum} {
+    puts "    \{ 0, 0, 0, 0, 0 \},"
+    incr i
+  }
   puts "  \}"
   
   puts "\};"

Modified: code/player/trunk/server/codetools/saphconv/saphconv.tcl
===================================================================
--- code/player/trunk/server/codetools/saphconv/saphconv.tcl    2008-10-17 
05:14:50 UTC (rev 7103)
+++ code/player/trunk/server/codetools/saphconv/saphconv.tcl    2008-10-17 
16:48:26 UTC (rev 7104)
@@ -47,7 +47,7 @@
   puts $fdc " *    $fname"
 }
 puts $fdc "*/
-#include <robot_params.h>
+#include \"robot_params.h\"
 "
 
 puts $fdh "/*


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

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Playerstage-commit mailing list
Playerstage-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to