Revision: 7938 http://playerstage.svn.sourceforge.net/playerstage/?rev=7938&view=rev Author: robotos Date: 2009-07-02 04:28:42 +0000 (Thu, 02 Jul 2009)
Log Message: ----------- Get correct fiducial id from Ruby bindings Modified Paths: -------------- code/player/trunk/client_libs/libplayerc/bindings/ruby/examples/fiducial.rb code/player/trunk/client_libs/libplayerc/bindings/ruby/examples/test.rb code/player/trunk/client_libs/libplayerc/bindings/ruby/playerc.i Modified: code/player/trunk/client_libs/libplayerc/bindings/ruby/examples/fiducial.rb =================================================================== --- code/player/trunk/client_libs/libplayerc/bindings/ruby/examples/fiducial.rb 2009-07-01 21:56:05 UTC (rev 7937) +++ code/player/trunk/client_libs/libplayerc/bindings/ruby/examples/fiducial.rb 2009-07-02 04:28:42 UTC (rev 7938) @@ -20,14 +20,17 @@ puts "fiducial device with #{fiducial.fiducials_count} readings" if fiducial.fiducials_count == 0 - raise "fiducial not reading anything" + puts "no readings available in this interface" + else +#TODO: more than one object found? +# for i in 0..fiducial.fiducials_count do + f = fiducial.fiducials + puts "object found" + puts "object id: #{f.id}, x: #{f.pose.px}, y: #{f.pose.py}, angle: #{f.pose.pyaw}" +# f = fiducial.fiducials[i] +# puts "id, x, y, range, bearing, orientation: ", f.id, f.pos[0], f.pos[1], f.range, f.bearing * 180 / PI, f.orient +# end end - - for i in 0..fiducial.fiducials_count do - f = fiducial.fiducials[i] - puts "id, x, y, range, bearing, orientation: ", f.id, f.pos[0], f.pos[1], f.range, f.bearing * 180 / PI, f.orient - end - fiducial.unsubscribe() end Modified: code/player/trunk/client_libs/libplayerc/bindings/ruby/examples/test.rb =================================================================== --- code/player/trunk/client_libs/libplayerc/bindings/ruby/examples/test.rb 2009-07-01 21:56:05 UTC (rev 7937) +++ code/player/trunk/client_libs/libplayerc/bindings/ruby/examples/test.rb 2009-07-02 04:28:42 UTC (rev 7938) @@ -26,7 +26,15 @@ examples = PlayercExamples.new tests = [] +if ARGV.count == 0 + puts " usage: ruby test.rb NAME_OF_TEST Arguments" + puts " ex: ruby test.rb laser" + puts " ruby test.rb all for running all the tests" + +end + ARGV.each do|a| +#a = ARGV[0] if (a == "all") tests = examples.public_methods false else Modified: code/player/trunk/client_libs/libplayerc/bindings/ruby/playerc.i =================================================================== --- code/player/trunk/client_libs/libplayerc/bindings/ruby/playerc.i 2009-07-01 21:56:05 UTC (rev 7937) +++ code/player/trunk/client_libs/libplayerc/bindings/ruby/playerc.i 2009-07-02 04:28:42 UTC (rev 7938) @@ -40,10 +40,16 @@ $result = UINT2NUM((long) (unsigned long long) $1); } +//used by fiducial id (signed as -1 can be used) +%typemap(out) int32_t +{ + $result = INT2NUM((long) (long long) $1); +} + // Provide array access %typemap(out) double [ANY] { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ _______________________________________________ Playerstage-commit mailing list Playerstage-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/playerstage-commit