Revision: 8856
          http://playerstage.svn.sourceforge.net/playerstage/?rev=8856&view=rev
Author:   jpgr87
Date:     2010-08-15 21:22:14 +0000 (Sun, 15 Aug 2010)

Log Message:
-----------
Applied patch #3043954: fixes for saphconv (for reading Pioneer parameters)

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

Modified: code/player/trunk/server/codetools/saphconv/mktypedef.tcl
===================================================================
--- code/player/trunk/server/codetools/saphconv/mktypedef.tcl   2010-08-15 
21:19:54 UTC (rev 8855)
+++ code/player/trunk/server/codetools/saphconv/mktypedef.tcl   2010-08-15 
21:22:14 UTC (rev 8856)
@@ -74,21 +74,40 @@
 foreach name [lsort [array names vars]] {
 
   set value $vars($name)
+  if {[string equal [string index $value 0] ";"]} {
+    # value was missing
+    set value ""
+    set comment [lrange $line 2 end]
+  } else {
+    set comment [lrange $line 3 end]
+  }
 
   if {![string compare $name Class] || 
+      ![string compare $name LaserType] ||
       ![string compare $name LaserPort] ||
+      ![string compare $name LaserPortType] ||
+      ![string compare $name LaserUnitsChoice] ||
+      ![string compare $name CompassType] ||
+      ![string compare $name CompassPort] ||
+      ![string compare $name GPSType] ||
+      ![string compare $name GPSPort] ||
       ![string compare $name LaserIgnore] ||
-      ![string compare $name Map] ||
-      ![string compare $name Subclass]} {
-    puts "  char* ${name};"
+      ![string compare $name Subclass] ||
+      ![string compare $value ""]} {
+    set isstring 1
+  } else {
+    set isstring 0
+  }
+
+  if {$isstring} {
+    puts "  char* ${name}; // $comment"
   } elseif {![string compare $value true] ||
             ![string compare $value false] ||
             ![string compare $value [expr round($value)]] ||
             ![string compare $name SonarNum]} {
-
-    puts "  int $name; // [lrange $line 3 end]"
+    puts "  int $name; // $comment"
   } else {
-    puts "  double $name; // [lrange $line 3 end]"
+    puts "  double $name; // $comment"
   }
 }
 puts "  sonar_pose_t sonar_pose\[$maxsonarnum\];"

Modified: code/player/trunk/server/codetools/saphconv/parseparam.tcl
===================================================================
--- code/player/trunk/server/codetools/saphconv/parseparam.tcl  2010-08-15 
21:19:54 UTC (rev 8855)
+++ code/player/trunk/server/codetools/saphconv/parseparam.tcl  2010-08-15 
21:22:14 UTC (rev 8856)
@@ -110,29 +110,46 @@
 
     if {[string length $name]} {
       puts -nonewline "  "
+
       if {![string compare $name Class] || 
+          ![string compare $name LaserType] ||
+          ![string compare $name LaserPort] ||
+          ![string compare $name LaserPortType] ||
+          ![string compare $name LaserUnitsChoice] ||
+          ![string compare $name CompassType] ||
+          ![string compare $name CompassPort] ||
+          ![string compare $name GPSType] ||
+          ![string compare $name GPSPort] ||
+          ![string compare $name LaserIgnore] ||
           ![string compare $name Subclass] ||
-          ![string compare $name LaserPort] ||
-          ![string compare $name Map] ||
-          ![string compare $name LaserIgnore]} {
+          ![string compare $value ""]} {
+        set isstring 1
+      } else {
+        set isstring 0
+      }
+
+      if {$isstring} {
         puts -nonewline "\""
       }
-      if {![string compare $value ";"]} {
-        set value ""
+      if {![string compare $value ";"] || ![string compare $value ""]} {
+        # no value in the .p file (; indicates we got the start of comment 
instead)
+        if {$isstring} {
+          puts -nonewline ""
+        } else {
+          puts -nonewline "0"
+        }
+      } else {
+        puts -nonewline "$value"
       }
-      puts -nonewline "$value"
-      if {![string compare $name Class] || 
-          ![string compare $name Subclass] ||
-          ![string compare $name LaserPort] ||
-          ![string compare $name Map] ||
-          ![string compare $name LaserIgnore]} {
+      if {$isstring} {
         puts -nonewline "\""
       }
-      puts ","
+      puts ", // $name"
       set name ""
     }
   }
 
+  puts "  // sonar_pose (from SonarUnit param):"
   puts "  \{"
   foreach name [lsort -dictionary [array names thisvars "SonarUnit*"]] {
     puts "    \{ [join [split $thisvars($name)] ", "] \},"
@@ -144,6 +161,7 @@
   #}
   puts "  \},"
 
+  puts "  // bumper geom:"
   puts "  \{"
   set i 0
   while {$i < $maxbumpernum} {


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 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to