Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
(85) |
May
(154) |
Jun
(108) |
Jul
(90) |
Aug
(150) |
Sep
(147) |
Oct
(57) |
Nov
(90) |
Dec
(160) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(40) |
Feb
(54) |
Mar
(90) |
Apr
(86) |
May
(60) |
Jun
(80) |
Jul
(114) |
Aug
(198) |
Sep
(265) |
Oct
(298) |
Nov
(191) |
Dec
(161) |
2008 |
Jan
(77) |
Feb
(155) |
Mar
(64) |
Apr
(148) |
May
(95) |
Jun
(265) |
Jul
(259) |
Aug
(73) |
Sep
(68) |
Oct
(96) |
Nov
(129) |
Dec
(82) |
2009 |
Jan
(135) |
Feb
(69) |
Mar
(233) |
Apr
(96) |
May
(263) |
Jun
(295) |
Jul
(294) |
Aug
(106) |
Sep
(59) |
Oct
(117) |
Nov
(105) |
Dec
(61) |
2010 |
Jan
(71) |
Feb
(26) |
Mar
(83) |
Apr
(81) |
May
(186) |
Jun
(136) |
Jul
(84) |
Aug
(61) |
Sep
(83) |
Oct
(29) |
Nov
(40) |
Dec
(29) |
2011 |
Jan
(18) |
Feb
(4) |
Mar
(3) |
Apr
(2) |
May
(15) |
Jun
(6) |
Jul
(8) |
Aug
(8) |
Sep
(1) |
Oct
(5) |
Nov
(4) |
Dec
(2) |
2012 |
Jan
(6) |
Feb
(2) |
Mar
(6) |
Apr
(5) |
May
|
Jun
(1) |
Jul
(7) |
Aug
|
Sep
(3) |
Oct
(1) |
Nov
(7) |
Dec
(6) |
2013 |
Jan
(13) |
Feb
(2) |
Mar
|
Apr
(3) |
May
(1) |
Jun
(28) |
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
(7) |
Nov
(13) |
Dec
(1) |
2014 |
Jan
(1) |
Feb
(5) |
Mar
(7) |
Apr
(8) |
May
(27) |
Jun
(16) |
Jul
(13) |
Aug
(6) |
Sep
(7) |
Oct
(3) |
Nov
(5) |
Dec
(3) |
2015 |
Jan
(1) |
Feb
(3) |
Mar
(6) |
Apr
(4) |
May
(6) |
Jun
(5) |
Jul
(3) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(1) |
2016 |
Jan
(3) |
Feb
(2) |
Mar
(4) |
Apr
(3) |
May
(8) |
Jun
(7) |
Jul
(11) |
Aug
(7) |
Sep
(3) |
Oct
(8) |
Nov
(5) |
Dec
(3) |
2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(2) |
Jun
(3) |
Jul
(4) |
Aug
(6) |
Sep
(4) |
Oct
|
Nov
(2) |
Dec
(5) |
2018 |
Jan
(4) |
Feb
(7) |
Mar
(30) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
1
(9) |
2
(21) |
3
(9) |
4
(19) |
5
(5) |
6
(3) |
7
(35) |
8
(15) |
9
(8) |
10
(8) |
11
(15) |
12
(4) |
13
(3) |
14
(8) |
15
(10) |
16
(8) |
17
(4) |
18
(9) |
19
(1) |
20
(5) |
21
(8) |
22
(14) |
23
(7) |
24
(7) |
25
(7) |
26
(3) |
27
|
28
(2) |
29
(8) |
30
(3) |
31
(1) |
|
|
From: <thjc@us...> - 2008-07-01 21:31:47
|
Revision: 6728 http://playerstage.svn.sourceforge.net/playerstage/?rev=6728&view=rev Author: thjc Date: 2008-07-01 21:31:56 -0700 (Tue, 01 Jul 2008) Log Message: ----------- merged acts fix [6726] from 2-1 Modified Paths: -------------- code/player/trunk/server/drivers/blobfinder/acts/acts.cc Modified: code/player/trunk/server/drivers/blobfinder/acts/acts.cc =================================================================== --- code/player/trunk/server/drivers/blobfinder/acts/acts.cc 2008-07-02 03:58:53 UTC (rev 6727) +++ code/player/trunk/server/drivers/blobfinder/acts/acts.cc 2008-07-02 04:31:56 UTC (rev 6728) @@ -495,27 +495,26 @@ i = 0; acts_args[i++] = acts_bin_name; // build the argument list, based on version + // these are needed as execv expects a const array of char *'s not an array of const char *'s + static char dash_d[] = "-d"; + static char dash_i[] = "-i"; + static char dash_n[] = "-n"; + static char dash_p[] = "-p"; + static char dash_s[] = "-s"; + static char dash_t[] = "-t"; + static char dash_w[] = "-w"; + static char dash_x[] = "-x"; + + static char dash_B[] = "-B"; + static char dash_C[] = "-C"; + static char dash_G[] = "-G"; + static char dash_H[] = "-H"; + static char dash_R[] = "-R"; + static char dash_V[] = "-V"; + static char dash_W[] = "-W"; switch(acts_version) { - // these are needed as execv expects a const array of char *'s not an array of const char *'s - static char dash_d[3] = "-d"; - static char dash_i[3] = "-i"; - static char dash_n[3] = "-n"; - static char dash_p[3] = "-p"; - static char dash_s[3] = "-s"; - static char dash_t[3] = "-t"; - static char dash_w[3] = "-w"; - static char dash_x[3] = "-x"; - - static char dash_B[3] = "-B"; - static char dash_C[3] = "-C"; - static char dash_G[3] = "-G"; - static char dash_H[3] = "-H"; - static char dash_R[3] = "-R"; - static char dash_V[3] = "-V"; - static char dash_W[3] = "-W"; - - case ACTS_VERSION_1_0: + case ACTS_VERSION_1_0: acts_args[i++] = dash_t; acts_args[i++] = configfilepath; if(strlen(portnumstring)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gbiggs@us...> - 2008-07-01 20:58:46
|
Revision: 6727 http://playerstage.svn.sourceforge.net/playerstage/?rev=6727&view=rev Author: gbiggs Date: 2008-07-01 20:58:53 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Some work to make Player compile on QNX and Solaris Modified Paths: -------------- code/player/trunk/cmake/internal/SearchForStuff.cmake code/player/trunk/libplayercore/CMakeLists.txt code/player/trunk/libplayersd/CMakeLists.txt code/player/trunk/server/libplayerdrivers/CMakeLists.txt Modified: code/player/trunk/cmake/internal/SearchForStuff.cmake =================================================================== --- code/player/trunk/cmake/internal/SearchForStuff.cmake 2008-07-02 03:25:30 UTC (rev 6726) +++ code/player/trunk/cmake/internal/SearchForStuff.cmake 2008-07-02 03:58:53 UTC (rev 6727) @@ -4,9 +4,16 @@ INCLUDE (CheckIncludeFiles) INCLUDE (CheckLibraryExists) +IF (PLAYER_OS_QNX) + SET (CMAKE_REQUIRED_LIBRARIES socket) +ELSEIF (PLAYER_OS_SOLARIS) + SET (CMAKE_REQUIRED_LIBRARIES socket nsl) +ENDIF (PLAYER_OS_QNX) +CHECK_FUNCTION_EXISTS (getaddrinfo HAVE_GETADDRINFO) +SET (CMAKE_REQUIRED_LIBRARIES) + CHECK_FUNCTION_EXISTS (cfmakeraw HAVE_CFMAKERAW) CHECK_FUNCTION_EXISTS (dirname HAVE_DIRNAME) -CHECK_FUNCTION_EXISTS (getaddrinfo HAVE_GETADDRINFO) CHECK_LIBRARY_EXISTS (ltdl lt_dlopenext "" HAVE_LIBLTDL) CHECK_INCLUDE_FILES (linux/joystick.h HAVE_LINUX_JOYSTICK_H) CHECK_FUNCTION_EXISTS (poll HAVE_POLL) @@ -83,3 +90,9 @@ LIST_TO_STRING (GDKPIXBUF_CFLAGS "${GDKPIXBUF_PKG_CFLAGS}") ENDIF (GDKPIXBUF_PKG_FOUND) ENDIF (NOT PKG_CONFIG_FOUND) + +IF (PLAYER_OS_QNX) + SET (PTHREAD_LIB) +ELSE (PLAYER_OS_QNX) + SET (PTHREAD_LIB -lpthread) +ENDIF (PLAYER_OS_QNX) Modified: code/player/trunk/libplayercore/CMakeLists.txt =================================================================== --- code/player/trunk/libplayercore/CMakeLists.txt 2008-07-02 03:25:30 UTC (rev 6726) +++ code/player/trunk/libplayercore/CMakeLists.txt 2008-07-02 03:58:53 UTC (rev 6727) @@ -62,20 +62,30 @@ # playerxdr and used here. Those functions should go into a separate # library. SET (coreLibs playerutils playererror playerxdr pthread) -SET (corePCLibs "-lpthread") -PLAYER_ADD_LINK_LIB (pthread) +IF (PLAYER_OS_QNX) + SET (corePCLibs) +ELSE (PLAYER_OS_QNX) + SET (corePCLibs "-lpthread") + PLAYER_ADD_LINK_LIB (pthread) +ENDIF (NOT PLAYER_OS_QNX) IF (HAVE_CLOCK_GETTIME) - SET (coreLibs ${coreLibs} rt) - SET (corePCLibs "${corePCLibs} -lrt") - PLAYER_ADD_LINK_LIB (rt) + SET (coreLibs ${coreLibs} rt) + SET (corePCLibs "${corePCLibs} -lrt") + PLAYER_ADD_LINK_LIB (rt) ELSE (HAVE_CLOCK_GETTIME) - SET (playercoreSrcs ${playercoreSrcs} ${PROJECT_SOURCE_DIR}/replace/clock_gettime.c) + SET (playercoreSrcs ${playercoreSrcs} ${PROJECT_SOURCE_DIR}/replace/clock_gettime.c) ENDIF (HAVE_CLOCK_GETTIME) IF (HAVE_LIBLTDL) - SET (coreLibs ${coreLibs} ltdl dl) - SET (corePCLibs "${corePCLibs} -lltdl -dl") - PLAYER_ADD_LINK_LIB (ltdl dl) + IF (PLAYER_OS_QNX) + SET (coreLibs ${coreLibs} ltdl) + SET (corePCLibs "${corePCLibs} -lltdl") + PLAYER_ADD_LINK_LIB (ltdl) + ELSE (PLAYER_OS_QNX) + SET (coreLibs ${coreLibs} ltdl dl) + SET (corePCLibs "${corePCLibs} -lltdl -ldl") + PLAYER_ADD_LINK_LIB (ltdl dl) + ENDIF (PLAYER_OS_QNX) ENDIF (HAVE_LIBLTDL) IF (NOT HAVE_DIRNAME) SET (playercoreSrcs ${playercoreSrcs} ${PROJECT_SOURCE_DIR}/replace/dirname.c) Modified: code/player/trunk/libplayersd/CMakeLists.txt =================================================================== --- code/player/trunk/libplayersd/CMakeLists.txt 2008-07-02 03:25:30 UTC (rev 6726) +++ code/player/trunk/libplayersd/CMakeLists.txt 2008-07-02 03:58:53 UTC (rev 6727) @@ -8,7 +8,7 @@ PLAYER_ADD_LIBRARY (playersd ${playersdSrcs}) TARGET_LINK_LIBRARIES (playersd playererror playerutils) PLAYER_ADD_LINK_LIB (dns_sd) - PLAYER_MAKE_PKGCONFIG ("playersd" "Player service discovery library - part of the Player Project" "playererror playerutils" "" "" "-ldns_sd -lpthread") + PLAYER_MAKE_PKGCONFIG ("playersd" "Player service discovery library - part of the Player Project" "playererror playerutils" "" "" "-ldns_sd ${PTHREAD_LIB}") PLAYER_INSTALL_HEADERS (playersd playersd.h) ENDIF (HAVE_PLAYERSD) \ No newline at end of file Modified: code/player/trunk/server/libplayerdrivers/CMakeLists.txt =================================================================== --- code/player/trunk/server/libplayerdrivers/CMakeLists.txt 2008-07-02 03:25:30 UTC (rev 6726) +++ code/player/trunk/server/libplayerdrivers/CMakeLists.txt 2008-07-02 03:58:53 UTC (rev 6727) @@ -91,6 +91,6 @@ ENDIF (PLAYER_DRIVERSLIB_LINKFLAGS) # Package config file for libplayerdrivers -PLAYER_MAKE_PKGCONFIG ("playerdrivers" "Player driver library - part of the Player Project" "playercore" "" "" "-lpthread") +PLAYER_MAKE_PKGCONFIG ("playerdrivers" "Player driver library - part of the Player Project" "playercore" "" "" "${PTHREAD_LIB}") PLAYER_INSTALL_HEADERS (playerdrivers driverregistry.h) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <thjc@us...> - 2008-07-01 20:25:22
|
Revision: 6726 http://playerstage.svn.sourceforge.net/playerstage/?rev=6726&view=rev Author: thjc Date: 2008-07-01 20:25:30 -0700 (Tue, 01 Jul 2008) Log Message: ----------- moved flag declarations out of switch statement Modified Paths: -------------- code/player/branches/release-2-1-patches/server/drivers/blobfinder/acts/acts.cc Modified: code/player/branches/release-2-1-patches/server/drivers/blobfinder/acts/acts.cc =================================================================== --- code/player/branches/release-2-1-patches/server/drivers/blobfinder/acts/acts.cc 2008-07-02 03:08:52 UTC (rev 6725) +++ code/player/branches/release-2-1-patches/server/drivers/blobfinder/acts/acts.cc 2008-07-02 03:25:30 UTC (rev 6726) @@ -495,27 +495,26 @@ i = 0; acts_args[i++] = acts_bin_name; // build the argument list, based on version + // these are needed as execv expects a const array of char *'s not an array of const char *'s + static char dash_d[] = "-d"; + static char dash_i[] = "-i"; + static char dash_n[] = "-n"; + static char dash_p[] = "-p"; + static char dash_s[] = "-s"; + static char dash_t[] = "-t"; + static char dash_w[] = "-w"; + static char dash_x[] = "-x"; + + static char dash_B[] = "-B"; + static char dash_C[] = "-C"; + static char dash_G[] = "-G"; + static char dash_H[] = "-H"; + static char dash_R[] = "-R"; + static char dash_V[] = "-V"; + static char dash_W[] = "-W"; switch(acts_version) { - // these are needed as execv expects a const array of char *'s not an array of const char *'s - static char dash_d[3] = "-d"; - static char dash_i[3] = "-i"; - static char dash_n[3] = "-n"; - static char dash_p[3] = "-p"; - static char dash_s[3] = "-s"; - static char dash_t[3] = "-t"; - static char dash_w[3] = "-w"; - static char dash_x[3] = "-x"; - - static char dash_B[3] = "-B"; - static char dash_C[3] = "-C"; - static char dash_G[3] = "-G"; - static char dash_H[3] = "-H"; - static char dash_R[3] = "-R"; - static char dash_V[3] = "-V"; - static char dash_W[3] = "-W"; - - case ACTS_VERSION_1_0: + case ACTS_VERSION_1_0: acts_args[i++] = dash_t; acts_args[i++] = configfilepath; if(strlen(portnumstring)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gbiggs@us...> - 2008-07-01 20:08:47
|
Revision: 6725 http://playerstage.svn.sourceforge.net/playerstage/?rev=6725&view=rev Author: gbiggs Date: 2008-07-01 20:08:52 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Added checks for Solaris and QNX Modified Paths: -------------- code/player/trunk/cmake/internal/FindOS.cmake Modified: code/player/trunk/cmake/internal/FindOS.cmake =================================================================== --- code/player/trunk/cmake/internal/FindOS.cmake 2008-07-02 02:36:38 UTC (rev 6724) +++ code/player/trunk/cmake/internal/FindOS.cmake 2008-07-02 03:08:52 UTC (rev 6725) @@ -4,6 +4,8 @@ STRING (REGEX MATCH "Linux" PLAYER_OS_LINUX ${CMAKE_SYSTEM_NAME}) # Nor *BSD STRING (REGEX MATCH "BSD" PLAYER_OS_BSD ${CMAKE_SYSTEM_NAME}) +# Or Solaris. I'm seeing a trend, here +STRING (REGEX MATCH "Solaris" PLAYER_OS_SOLARIS ${CMAKE_SYSTEM_NAME}) # Windows is easy (for once) IF (WIN32) @@ -19,6 +21,11 @@ ENDIF (NOT PLAYER_OS_OSX) ENDIF (APPLE) +# QNX +IF (QNXNTO) + SET (PLAYER_OS_QNX TRUE BOOL INTERNAL) +ENDIF (QNXNTO) + IF (PLAYER_OS_LINUX) MESSAGE (STATUS "Operating system is Linux") ELSEIF (PLAYER_OS_BSD) @@ -29,6 +36,10 @@ MESSAGE (STATUS "Operating system is Apple MacOS X") ELSEIF (PLAYER_OS_MACOS) MESSAGE (STATUS "Operating system is Apple MacOS (not OS X)") +ELSEIF (PLAYER_OS_QNX) + MESSAGE (STATUS "Operating system is QNX") +ELSEIF (PLAYER_OS_SOLARIS) + MESSAGE (STATUS "Operating system is Solaris") ELSE (PLAYER_OS_LINUX) MESSAGE (STATUS "Operating system is generic Unix") ENDIF (PLAYER_OS_LINUX) \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gbiggs@us...> - 2008-07-01 19:36:35
|
Revision: 6724 http://playerstage.svn.sourceforge.net/playerstage/?rev=6724&view=rev Author: gbiggs Date: 2008-07-01 19:36:38 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Fixed API version checks for camera1394 Modified Paths: -------------- code/player/trunk/server/drivers/camera/1394/CMakeLists.txt code/player/trunk/server/drivers/camera/1394/camera1394.cc Added Paths: ----------- code/player/trunk/server/drivers/camera/1394/camera1394.h.in Modified: code/player/trunk/server/drivers/camera/1394/CMakeLists.txt =================================================================== --- code/player/trunk/server/drivers/camera/1394/CMakeLists.txt 2008-07-01 18:50:43 UTC (rev 6723) +++ code/player/trunk/server/drivers/camera/1394/CMakeLists.txt 2008-07-02 02:36:38 UTC (rev 6724) @@ -1,13 +1,13 @@ PLAYERDRIVER_OPTION (camera1394 build_camera1394 ON) -# PLAYERDRIVER_REQUIRE_LIB (camera1394 build_camera1394 raw1394 main "") -SET (c1394CFlags "-DDC1394_DMA_SETUP_CAPTURE_ARGS=0 -I${PROJECT_SOURCE_DIR}/server/drivers/blobfinder/cmvision") IF (build_camera1394) + SET (c1394CFlags "-I${PROJECT_SOURCE_DIR}/server/drivers/blobfinder/cmvision -I${CMAKE_CURRENT_BINARY_DIR}") + SET (DC1394_DMA_SETUP_CAPTURE_ARGS 0) SET (c1394Sources camera1394.cc ${PROJECT_SOURCE_DIR}/server/drivers/blobfinder/cmvision/conversions.c) INCLUDE (CheckIncludeFiles) CHECK_INCLUDE_FILES (dc1394/control.h haveControlH) IF (haveControlH) - SET (c1394CFlags "-DDC1394_DMA_SETUP_CAPTURE_ARGS=20") + SET (DC1394_DMA_SETUP_CAPTURE_ARGS 20) CHECK_INCLUDE_FILES (libraw1394/raw1394.h haveRaw1394H) IF (haveRaw1394H) SET (c1394LinkFlags "-lraw1394 -ldc1394") @@ -19,22 +19,27 @@ PLAYERDRIVER_REQUIRE_HEADER (camera1394 build_camera1394 libraw1394/raw1394.h) PLAYERDRIVER_REQUIRE_HEADER (camera1394 build_camera1394 libdc1394/dc1394_control.h) IF (HAVE_HDR_LIBRAW1394_RAW1394_H) - SET (c1394CFlags "${c1394CFlags} -DHAVE_LIBRAW1394") + SET (HAVE_LIBRAW1394 1) ENDIF (HAVE_HDR_LIBRAW1394_RAW1394_H) SET (testArgsSource ${CMAKE_CURRENT_BINARY_DIR}/CMakeTmp/test_args.c) FILE (WRITE ${testArgsSource} - "#include \"libdc1394/dc1394_control.h\"\nint main () {dc1394_dma_setup_capture (NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL); return 0;}") - TRY_COMPILE (argsIs11 ${CMAKE_CURRENT_BINARY_DIR} ${testArgsSource}) + "#include \"libdc1394/dc1394_control.h\"\nint main () {dc1394_dma_setup_capture (NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL); return 0;}\n") + TRY_COMPILE (argsIs11 ${CMAKE_CURRENT_BINARY_DIR} ${testArgsSource} CMAKE_FLAGS "-DLINK_LIBRARIES:STRING=raw1394;dc1394_control") IF (argsIs11) - SET (c1394CFlags "-DDC1394_DMA_SETUP_CAPTURE_ARGS=11") + SET (DC1394_DMA_SETUP_CAPTURE_ARGS 11) ELSE (argsIs11) FILE (WRITE ${testArgsSource} - "#include \"libdc1394/dc1394_control.h\"\nint main () {dc1394_dma_setup_capture (NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL); return 0;}") - TRY_COMPILE (argsIs12 ${CMAKE_CURRENT_BINARY_DIR} ${testArgsSource}) + "#include \"libdc1394/dc1394_control.h\"\nint main () {dc1394_dma_setup_capture (NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL); return 0;}\n") + TRY_COMPILE (argsIs12 ${CMAKE_CURRENT_BINARY_DIR} ${testArgsSource} CMAKE_FLAGS "-DLINK_LIBRARIES:STRING=raw1394;dc1394_control") IF (argsIs12) - SET (c1394CFlags "-DDC1394_DMA_SETUP_CAPTURE_ARGS=12") + SET (DC1394_DMA_SETUP_CAPTURE_ARGS 12) ENDIF (argsIs12) ENDIF (argsIs11) ENDIF (haveControlH) ENDIF (build_camera1394) -PLAYERDRIVER_ADD_DRIVER (camera1394 build_camera1394 LINKFLAGS "${c1394LinkFlags}" CFLAGS "${c1394CFlags}" SOURCES ${c1394Sources}) + +SET (camera1394_h_in "${CMAKE_CURRENT_SOURCE_DIR}/camera1394.h.in") +SET (camera1394_h "${CMAKE_CURRENT_BINARY_DIR}/camera1394.h") +CONFIGURE_FILE (${camera1394_h_in} ${camera1394_h}) + +PLAYERDRIVER_ADD_DRIVER (camera1394 build_camera1394 LINKFLAGS "${c1394LinkFlags}" CFLAGS "${c1394CFlags}" SOURCES ${c1394Sources} ${camera1394_h}) Modified: code/player/trunk/server/drivers/camera/1394/camera1394.cc =================================================================== --- code/player/trunk/server/drivers/camera/1394/camera1394.cc 2008-07-01 18:50:43 UTC (rev 6723) +++ code/player/trunk/server/drivers/camera/1394/camera1394.cc 2008-07-02 02:36:38 UTC (rev 6724) @@ -158,10 +158,6 @@ */ /** @} */ -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif - #include <errno.h> #include <string.h> #include <math.h> @@ -170,6 +166,8 @@ #include <unistd.h> #include <assert.h> +#include <camera1394.h> + #ifdef HAVE_LIBRAW1394 #include <libraw1394/raw1394.h> #endif Added: code/player/trunk/server/drivers/camera/1394/camera1394.h.in =================================================================== --- code/player/trunk/server/drivers/camera/1394/camera1394.h.in (rev 0) +++ code/player/trunk/server/drivers/camera/1394/camera1394.h.in 2008-07-02 02:36:38 UTC (rev 6724) @@ -0,0 +1,2 @@ +#cmakedefine HAVE_LIBRAW1394 1 +#define DC1394_DMA_SETUP_CAPTURE_ARGS ${DC1394_DMA_SETUP_CAPTURE_ARGS} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <natepak@us...> - 2008-07-01 11:50:46
|
Revision: 6723 http://playerstage.svn.sourceforge.net/playerstage/?rev=6723&view=rev Author: natepak Date: 2008-07-01 11:50:43 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Updates to the documentation Modified Paths: -------------- code/gazebo/trunk/doc/gazebo.dox code/gazebo/trunk/doc/header.html code/gazebo/trunk/examples/libgazebo/simiface/simiface.cc code/gazebo/trunk/server/physics/BallJoint.hh code/gazebo/trunk/server/physics/Body.hh code/gazebo/trunk/server/physics/BoxGeom.hh code/gazebo/trunk/server/physics/CylinderGeom.hh code/gazebo/trunk/server/physics/Hinge2Joint.hh code/gazebo/trunk/server/physics/HingeJoint.hh code/gazebo/trunk/server/physics/SliderJoint.hh code/gazebo/trunk/server/physics/SphereGeom.hh code/gazebo/trunk/server/physics/TrimeshGeom.hh code/gazebo/trunk/server/physics/UniversalJoint.hh code/gazebo/trunk/server/physics/ode/ODEPhysics.cc code/gazebo/trunk/server/physics/ode/ODEPhysics.hh Added Paths: ----------- code/gazebo/trunk/doc/xmltags.html Modified: code/gazebo/trunk/doc/gazebo.dox =================================================================== --- code/gazebo/trunk/doc/gazebo.dox 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/doc/gazebo.dox 2008-07-01 18:50:43 UTC (rev 6723) @@ -170,7 +170,7 @@ # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. -TAB_SIZE = 8 +TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". @@ -459,7 +459,7 @@ # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = mainpage.html install.html modules.html tutorial_model.html tutorial_controller.html tutorial_sensor.html tutorial_player.html tutorial_terrain.html config_syntax.html gazebo.txt gui.html prerequisites.html tutorial_mesh.html media_organization.html ../server ../player ../libgazebo +INPUT = mainpage.html install.html modules.html tutorial_model.html tutorial_controller.html tutorial_sensor.html tutorial_player.html tutorial_terrain.html config_syntax.html gazebo.txt gui.html prerequisites.html tutorial_mesh.html media_organization.html xmltags.html ../server ../player ../libgazebo # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp Modified: code/gazebo/trunk/doc/header.html =================================================================== --- code/gazebo/trunk/doc/header.html 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/doc/header.html 2008-07-01 18:50:43 UTC (rev 6723) @@ -47,6 +47,7 @@ <dd><a href="modules.html">Code Reference</a></dd> <dd><a href="annotated.html">Class List</a></dd> <dd><a href="hierarchy.html">Class Hierarchy</a></dd> + <dd><a href="xmltags.html">Worldfile XML Tags</a></dd> </dl> </div> Added: code/gazebo/trunk/doc/xmltags.html =================================================================== --- code/gazebo/trunk/doc/xmltags.html (rev 0) +++ code/gazebo/trunk/doc/xmltags.html 2008-07-01 18:50:43 UTC (rev 6723) @@ -0,0 +1,100 @@ +/** + +\page xmltags Worldfile XML Tags + +\section generaltags General Tags + +The following XML tags are general attributes that are applicable to all world files. Specific details of geometries, joints, sensors, etc can be found in their documentation. + +\verbatim + + <!-- Parameters for ODE physics engine --> + <physics:ode> + <stepTime>#</stepTime> <!-- Duration of a step, in seconds. (default=0.03)--> + <gravity># # #</gravity> <!-- Gravity vector. (default=0 0 -9.8)--> + <cfm>#</cfm> <!-- Constraint force mixing. (default = 10e-5) --> + <erp>#</erp> <!-- Error reduction. (default=0.3) --> + </physics:ode> + + <!-- Parameters for the GUI --> + <rendering:gui> + <size># #</size> <!-- Size in pixels of the initial GUI --> + <pos># #</pos> <!-- Position on the screen to place the GUI --> + </rendering:gui> + + <!-- Parameters for the OGRE rendering engine --> + <rendering:ogre> + <ambient># # # #</ambient> <!-- Ambient light color --> + + <sky> <!-- Sky material. Optional --> + <material>string</material> + </sky> + + <fog> <!-- Fog, optional --> + <color># # #</color> <!-- Color of the fog --> + <linearStart>#</linearStart> <!-- Distance at which the fog starts --> + <linearEnd>#</linearEnd> <!-- Distance at which the fog reaches full density--> + </fog> + </rendering:ogre> + + <!-- A model. There is no limit to the number of models in a world--> + <model:physical name=""> + <xyz># # #</xyz> <!-- Position of the model in the world --> + <rpy># # #</rpy> <!-- Roll, pitch, yaw of the model --> + + <static>true|false</static> <!-- True = makes the model immovable --> + + <!-- A body. There is no limit to the number of bodies in a model --> + <body:[plane|box|sphere|cylinder|trimesh] name=""> + <xyz># # #</xyz> <!-- XYZ position of the body relative to the model --> + <rpy># # #</rpy> <!-- Roll, Pitch, Yaw of the body relative to the model --> + + <!-- A geometry that is attached to the parent body. There can be 1..n geometries per body --> + <geom:[box|sphere|cylinder|trimesh] name=""> + <xyz># # #</xyz> <!-- XYZ position of the geom, relative to the body --> + <rpy># # #</rpy> <!-- Roll, pitch, yaw of the geom, relative to the body --> + <mass>#</mass> <!-- Mass in kilograms --> + <laserFiducialId>#</laserFiducialId> <!-- Integer laser fiducial ID --> + <laserRetro>#</laserRetro> <!-- Retro reflectance value --> + + <size># # #</size> <!-- Size of geom. Sphere uses radius, Cylinder uses radius, height. Box uses xyz lengths --> + + <visual> + <xyz># # #</xyz> <!-- Position relative to the geom --> + <rpy># # #<rpy> <!-- Roll, pitch, yaw relative to the geom --> + <size># # #<size> <!-- Size of the mesh in the x,y,z dimensions --> + <mesh>string</mesh> <!-- Name of the mesh --> + <material>string</mesh> <!-- Name of the material. This name must match a name in one of the file at install_path/share/gazebo/Media/materials/scripts. --> + <castShadows>true|false</castShadows> <!-- True = cast shadows --> + </visual> + + </geom:[box|sphere|cylinder|trimesh]> + + <!-- Attach a sensor to the body. Each sensor has a different set of parameters --> + <sensor:type name=""> + + <!-- Define a controller to process the sensor information, and expose the data to libgazebo --> + <controller:type name=""> + <!-- Define an type of interface that the controller interacts with --> + <interface:type name="" /> + </controller:type name=""> + </sensor> + + </body:[box|sphere|cylinder|trimesh]> + + <!-- A joint connects two bodies together --> + <joint:type> + <body1>string</body1> <!-- Name of the first body --> + <body2>string</body2> <!-- Name of the second body --> + <anchor>string</anchor> <!-- Name of the model that acts as the anchor --> + <anchorOffset># # #</anchorOffset> <!-- Meters to move the anchor, relative to the anchor --> + <erp>#</erp> <!-- Error reduction parameter --> + <cfm>#</cfm> <!-- Constraint force mixing parameter --> + </joint:type> + + </model:physical> + + +\endverbatim + +*/ Modified: code/gazebo/trunk/examples/libgazebo/simiface/simiface.cc =================================================================== --- code/gazebo/trunk/examples/libgazebo/simiface/simiface.cc 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/examples/libgazebo/simiface/simiface.cc 2008-07-01 18:50:43 UTC (rev 6723) @@ -30,28 +30,34 @@ return -1; } - simIface->Lock(1); //simIface->data->reset = 1; // Example of how to move a model (box1_model) - uint8_t name[512] = "box1_model"; + uint8_t name[512] = "pioneer2dx_model1"; uint8_t cmd[32] = "set_pose3d"; - memcpy(simIface->data->model_name, name, 512); - memcpy(simIface->data->model_req,cmd, 32); + for (int i=0; i< 10; i++) + { + simIface->Lock(1); - simIface->data->model_pose.pos.x = 2; - simIface->data->model_pose.pos.y = 0; - simIface->data->model_pose.pos.z = 0; + memcpy(simIface->data->model_name, name, 512); + memcpy(simIface->data->model_req,cmd, 32); - simIface->Unlock(); + simIface->data->model_pose.pos.x = i+.1; + simIface->data->model_pose.pos.y = 0; + simIface->data->model_pose.pos.z = 0.2; - usleep(1000000); + simIface->Unlock(); + usleep(100000); + } + + // Example of resetting the simulator - simIface->Lock(1); + /*simIface->Lock(1); simIface->data->reset = 1; simIface->Unlock(); + */ usleep(1000000); Modified: code/gazebo/trunk/server/physics/BallJoint.hh =================================================================== --- code/gazebo/trunk/server/physics/BallJoint.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/BallJoint.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -46,6 +46,10 @@ - Name of the second body to attach to the joint - anchor (string) - Name of the body which will act as the anchor to the joint + - erp (double) + - Error reduction parameter. Default = 0.4 + - cfm (double) + - Constraint force mixing. Default = 0.8 \par Example \verbatim Modified: code/gazebo/trunk/server/physics/Body.hh =================================================================== --- code/gazebo/trunk/server/physics/Body.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/Body.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -35,11 +35,13 @@ #include "Entity.hh" #include "Pose3d.hh" + namespace gazebo { class Geom; class Sensor; + /// \addtogroup gazebo_physics /// \brief The body class /// \{ Modified: code/gazebo/trunk/server/physics/BoxGeom.hh =================================================================== --- code/gazebo/trunk/server/physics/BoxGeom.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/BoxGeom.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -52,11 +52,15 @@ <xyz>1 2 3</xyz> <rpy>0 0 30</rpy> <size>0.1 0.2 0.3</size> - <mesh>default</mesh> <mass>0.5</mass> - <material>Gazebo/Red</material> <laserFiducialId>1</laserFiducialId> <laserRetro>0.5</laserRetro> + + <visual> + <size>0.1 0.2 0.3</size> + <mesh>default</mesh> + <material>Gazebo/Red</material> + </visual> </geom:box> \endverbatim */ Modified: code/gazebo/trunk/server/physics/CylinderGeom.hh =================================================================== --- code/gazebo/trunk/server/physics/CylinderGeom.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/CylinderGeom.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -51,11 +51,15 @@ <xyz>1 2 3</xyz> <rpy>0 0 30</rpy> <size>0.1 0.5</size> - <mesh>default</mesh> <mass>0.5</mass> - <material>Gazebo/Red</material> <laserFiducialId>1</laserFiducialId> <laserRetro>0.5</laserRetro> + + <visual> + <size>0.1 0.1 0.5</size> + <mesh>default</mesh> + <material>Gazebo/Red</material> + </visual> </geom:box> \endverbatim */ Modified: code/gazebo/trunk/server/physics/Hinge2Joint.hh =================================================================== --- code/gazebo/trunk/server/physics/Hinge2Joint.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/Hinge2Joint.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -64,7 +64,14 @@ - highStop2 (float, degrees) - The high stop angle for the second degree of freedom - Default: infinity + - erp (double) + - Error reduction parameter. + - Default = 0.4 + - cfm (double) + - Constraint force mixing. + - Default = 0.8 + \par Example \verbatim <joint:hinge2 name="hinge2_joint> Modified: code/gazebo/trunk/server/physics/HingeJoint.hh =================================================================== --- code/gazebo/trunk/server/physics/HingeJoint.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/HingeJoint.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -55,6 +55,12 @@ - highStop (float, degrees) - The high stop angle for the first degree of freedom - Default: infinity + - erp (double) + - Error reduction parameter. + - Default = 0.4 + - cfm (double) + - Constraint force mixing. + - Default = 0.8 \par Example \verbatim Modified: code/gazebo/trunk/server/physics/SliderJoint.hh =================================================================== --- code/gazebo/trunk/server/physics/SliderJoint.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/SliderJoint.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -56,7 +56,14 @@ - highStop (float, meters) - The high stop position - Default: infinity + - erp (double) + - Error reduction parameter. + - Default = 0.4 + - cfm (double) + - Constraint force mixing. + - Default = 0.8 + \par Example \verbatim <joint:slider name="slider_joint> Modified: code/gazebo/trunk/server/physics/SphereGeom.hh =================================================================== --- code/gazebo/trunk/server/physics/SphereGeom.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/SphereGeom.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -52,11 +52,15 @@ <xyz>1 2 3</xyz> <rpy>0 0 30</rpy> <size>0.1</size> - <mesh>default</mesh> <mass>0.5</mass> - <material>Gazebo/Red</material> <laserFiducialId>1</laserFiducialId> <laserRetro>0.5</laserRetro> + + <visual> + <mesh>default</mesh> + <size>0.1 0.1 0.1</size> + <material>Gazebo/Red</material> + </visual> </geom:sphere> \endverbatim */ Modified: code/gazebo/trunk/server/physics/TrimeshGeom.hh =================================================================== --- code/gazebo/trunk/server/physics/TrimeshGeom.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/TrimeshGeom.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -50,10 +50,15 @@ \par Example \verbatim <geom:trimesh name="pallet_geom"> - <mesh>kitchen.mesh</mesh> + <mesh>WoodPallet.mesh</mesh> <scale>.2 .2 .2</scale> - <material>Gazebo/WoodPallet</material> - <mass>1.0</mass> + <mass>0.1</mass> + + <visual> + <scale>.2 .2 .2</scale> + <material>Gazebo/WoodPallet</material> + <mesh>WoodPallet.mesh</mesh> + </visual> </geom:trimesh> \endverbatim */ Modified: code/gazebo/trunk/server/physics/UniversalJoint.hh =================================================================== --- code/gazebo/trunk/server/physics/UniversalJoint.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/UniversalJoint.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -62,7 +62,14 @@ - highStop2 (float, degrees) - The high stop angle for the second degree of freedom - Default: infinity + - erp (double) + - Error reduction parameter. + - Default = 0.4 + - cfm (double) + - Constraint force mixing. + - Default = 0.8 + \par Example \verbatim <joint:universal name="universal_joint> Modified: code/gazebo/trunk/server/physics/ode/ODEPhysics.cc =================================================================== --- code/gazebo/trunk/server/physics/ode/ODEPhysics.cc 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/ode/ODEPhysics.cc 2008-07-01 18:50:43 UTC (rev 6723) @@ -100,7 +100,7 @@ this->gravity = cnode->GetVector3("gravity",this->gravity); this->stepTime = cnode->GetDouble("stepTime",this->stepTime); this->updateRate = cnode->GetDouble("maxUpdateRate", 0, 0); - this->globalCFM = cnode->GetDouble("cfm",1e-5,0); + this->globalCFM = cnode->GetDouble("cfm",10e-5,0); this->globalERP = cnode->GetDouble("erp",0.2,0); } Modified: code/gazebo/trunk/server/physics/ode/ODEPhysics.hh =================================================================== --- code/gazebo/trunk/server/physics/ode/ODEPhysics.hh 2008-07-01 08:51:20 UTC (rev 6722) +++ code/gazebo/trunk/server/physics/ode/ODEPhysics.hh 2008-07-01 18:50:43 UTC (rev 6723) @@ -48,23 +48,35 @@ The \c param:physics tag is used to specify certain parameters for the ODE phyics engine. The following parameters are in addition to those provided by the PhysicsEngine base class. -\verbatim -<param:physics> - <cfm>10e-9</cfm> - <erp>0.2</erp> -</param:physics> -\endverbatim +\par Attributes - cfm (float) - - Global Constraint Force Mixing parameter + - Global constraint force mixing + - Default: 10e-5 - Range: 10e-10 to 1.0 - - Recommended value: 10e-9 - + - Recommended value: 10e-5 - erp (float) - - Global Error Reduction parameter + - Global error reduction parameter + - Default: 0.2 - Range: 0 to 1.0 - Recommended Range: 0.1 to 0.8 +- stepTime (float) + - Time, in seconds, that elapse for each iteration of the physics engine + - Default: 0.025 +-gravity (float float float) + - Gravity vector. + - Default: 0 0 -9.8 +\verbatim +<physics:ode> + <stepTime>0.03</stepTime> + <gravity>0 0 -9.8</gravity> + <cfm>10e-5</cfm> + <erp>0.2</erp> +</physcis:ode> +\endverbatim + + \{ */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Awais <Awais-ialismus@CANOY.NET> - 2008-07-01 07:29:44
|
No problems ensuring that your pole gets bigger each day -- organic pills http://www.gradeprice.com/ |
From: <gbiggs@us...> - 2008-07-01 01:51:11
|
Revision: 6722 http://playerstage.svn.sourceforge.net/playerstage/?rev=6722&view=rev Author: gbiggs Date: 2008-07-01 01:51:20 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Added support for the intensity data produced by the UTM-30LX 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 2008-07-01 08:25:00 UTC (rev 6721) +++ code/player/trunk/server/drivers/ranger/hokuyo_aist.cc 2008-07-01 08:51:20 UTC (rev 6722) @@ -43,15 +43,22 @@ @par Configuration requests + - PLAYER_RANGER_REQ_INTNS + - PLAYER_RANGER_REQ_POWER - PLAYER_RANGER_REQ_GET_GEOM - PLAYER_RANGER_REQ_GET_CONFIG - PLAYER_RANGER_REQ_SET_CONFIG - - PLAYER_RANGER_REQ_POWER - Note: Only the min_angle and max_angle values can be configured using this request. To change the scanning frequency, use the speed_level property. @par Configuration file options + - get_intensities (boolean) + - Default: false + - Set to non-zero to get intensity data with each range scan on models that support it. This can + also be enabled/disabled using the PLAYER_RANGER_REQ_INTNS message. Note that the data + retrieval mode used to get intensity data requires that the scan is performed *after* the + command is received, so this will introduce a slight delay before the data is delivered. - portopts (string) - Default: "type=serial,device=/dev/ttyACM0,timeout=1" - Options to create the Flexiport port with. @@ -114,6 +121,7 @@ const int DEFAULT_BAUDRATE = 19200; const int DEFAULT_SPEED_LEVEL = 0; const int DEFAULT_SENSITIVITY = 0; +const int DEFAULT_GET_INTENSITIES = 0; //////////////////////////////////////////////////////////////////////////////////////////////////// // Driver object @@ -135,7 +143,7 @@ bool AllocateDataSpace (void); // Configuration parameters - bool _verbose, _powerOnStartup; + bool _verbose, _powerOnStartup, _getIntensities; double _minAngle, _maxAngle; IntProperty _baudRate, _speedLevel, _highSensitivity; std::string _portOpts; @@ -148,6 +156,8 @@ // Data storage hokuyo_aist::HokuyoData _data; double *_ranges; + double *_intensities; + int _numRanges; }; //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -158,7 +168,8 @@ Driver (cf, section, false, PLAYER_MSGQUEUE_DEFAULT_MAXLEN, PLAYER_RANGER_CODE), _baudRate ("baud_rate", DEFAULT_BAUDRATE, false), _speedLevel ("speed_level", DEFAULT_SPEED_LEVEL, false), - _highSensitivity ("high_sensitivity", DEFAULT_SENSITIVITY, false), _ranges (NULL) + _highSensitivity ("high_sensitivity", DEFAULT_SENSITIVITY, false), + _ranges (NULL), _intensities (NULL) { // Get the baudrate, speed and sensitivity RegisterProperty ("baud_rate", &_baudRate, cf, section); @@ -166,6 +177,7 @@ RegisterProperty ("high_sensitivity", &_highSensitivity, cf, section); // Get config + _getIntensities = cf->ReadBool (section, "get_intensities", false); _minAngle = cf->ReadFloat (section, "min_angle", -2.08); _maxAngle = cf->ReadFloat (section, "max_angle", 2.08); _portOpts = cf->ReadString (section, "portopts", "type=serial,device=/dev/ttyACM0,timeout=1"); @@ -197,6 +209,8 @@ { if (_ranges != NULL) delete[] _ranges; + if (_intensities != NULL) + delete[] _intensities; } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -208,13 +222,23 @@ if (_ranges != NULL) delete _ranges; - int numRanges = _device.AngleToStep (_maxAngle) - _device.AngleToStep (_minAngle) + 1; - if ((_ranges = new double[numRanges]) == NULL) + _numRanges = _device.AngleToStep (_maxAngle) - _device.AngleToStep (_minAngle) + 1; + if ((_ranges = new double[_numRanges]) == NULL) { - PLAYER_ERROR1 ("hokuyo_aist: Failed to allocate space for %d range readings.", numRanges); + PLAYER_ERROR1 ("hokuyo_aist: Failed to allocate space for %d range readings.", _numRanges); return false; } + if (_getIntensities) + { + if ((_intensities = new double[_numRanges]) == NULL) + { + PLAYER_ERROR1 ("hokuyo_aist: Failed to allocate space for %d intensity readings.", + _numRanges); + return false; + } + } + return true; } @@ -243,6 +267,8 @@ PLAYER_MSGTYPE_REQ, PLAYER_RANGER_REQ_SET_CONFIG); HANDLE_CAPABILITY_REQUEST (device_addr, resp_queue, hdr, data, PLAYER_MSGTYPE_REQ, PLAYER_RANGER_REQ_POWER); + HANDLE_CAPABILITY_REQUEST (device_addr, resp_queue, hdr, data, + PLAYER_MSGTYPE_REQ, PLAYER_RANGER_REQ_INTNS); // Property handlers that need to be done manually due to calling into the hokuyo_aist library. if (Message::MatchMessage (hdr, PLAYER_MSGTYPE_REQ, PLAYER_SET_INTPROP_REQ, this->device_addr)) @@ -345,6 +371,32 @@ 0, NULL); return 0; } + else if (Message::MatchMessage (hdr, PLAYER_MSGTYPE_REQ, PLAYER_RANGER_REQ_INTNS, device_addr)) + { + bool newValue = (reinterpret_cast<player_ranger_intns_config_t*> (data)->state != 0); + if (newValue && !_getIntensities) + { + // State change, allocate space for intensity data + if ((_intensities = new double[_numRanges]) == NULL) + { + PLAYER_ERROR1 ("hokuyo_aist: Failed to allocate space for %d intensity readings.", + _numRanges); + Publish (device_addr, resp_queue, PLAYER_MSGTYPE_RESP_NACK, PLAYER_RANGER_REQ_INTNS, + NULL, 0, NULL); + return 0; + } + } + else if (!newValue && _getIntensities) + { + // State change, remove allocated space + delete[] _intensities; + _intensities = NULL; + } + _getIntensities = newValue; + Publish (device_addr, resp_queue, PLAYER_MSGTYPE_RESP_ACK, PLAYER_RANGER_REQ_INTNS, NULL, + 0, NULL); + return 0; + } else if (Message::MatchMessage (hdr, PLAYER_MSGTYPE_REQ, PLAYER_RANGER_REQ_GET_GEOM, device_addr)) { @@ -419,26 +471,61 @@ bool HokuyoDriver::ReadLaser (void) { - player_ranger_data_range_t rangeData; + if (_getIntensities) + { + player_ranger_data_range_t rangeData; + player_ranger_data_intns_t intensityData; + + try + { + _device.GetNewRangesAndIntensities (&_data, _minAngle, _maxAngle); + } + catch (hokuyo_aist::HokuyoError &e) + { + PLAYER_ERROR2 ("hokuyo_aist: Failed to read scan: (%d) %s", e.Code (), e.what ()); + SetError (e.Code ()); + return false; + } + + for (unsigned int ii = 0; ii < _data.Length (); ii++) + { + _ranges[ii] = _data[ii] / 1000.0f; + _intensities[ii] = _data.Intensities ()[ii]; + } - try - { - _device.GetRanges (&_data, _minAngle, _maxAngle); + rangeData.ranges = _ranges; + rangeData.ranges_count = _data.Length (); + Publish (device_addr, PLAYER_MSGTYPE_DATA, PLAYER_RANGER_DATA_RANGE, + reinterpret_cast<void*> (&rangeData), sizeof (rangeData), NULL); + + intensityData.intensities = _intensities; + intensityData.intensities_count = _data.Length (); + Publish (device_addr, PLAYER_MSGTYPE_DATA, PLAYER_RANGER_DATA_INTNS, + reinterpret_cast<void*> (&intensityData), sizeof (intensityData), NULL); } - catch (hokuyo_aist::HokuyoError &e) + else { - PLAYER_ERROR2 ("hokuyo_aist: Failed to read scan: (%d) %s", e.Code (), e.what ()); - SetError (e.Code ()); - return false; + player_ranger_data_range_t rangeData; + + try + { + _device.GetRanges (&_data, _minAngle, _maxAngle); + } + catch (hokuyo_aist::HokuyoError &e) + { + PLAYER_ERROR2 ("hokuyo_aist: Failed to read scan: (%d) %s", e.Code (), e.what ()); + SetError (e.Code ()); + return false; + } + + for (unsigned int ii = 0; ii < _data.Length (); ii++) + _ranges[ii] = _data[ii] / 1000.0f; + rangeData.ranges = _ranges; + rangeData.ranges_count = _data.Length (); + Publish (device_addr, PLAYER_MSGTYPE_DATA, PLAYER_RANGER_DATA_RANGE, + reinterpret_cast<void*> (&rangeData), sizeof (rangeData), NULL); } - for (unsigned int ii = 0; ii < _data.Length (); ii++) - _ranges[ii] = _data[ii] / 1000.0f; - rangeData.ranges = _ranges; - rangeData.ranges_count = _data.Length (); - Publish (device_addr, PLAYER_MSGTYPE_DATA, PLAYER_RANGER_DATA_RANGE, - reinterpret_cast<void*> (&rangeData), sizeof (rangeData), NULL); - return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gbiggs@us...> - 2008-07-01 01:24:51
|
Revision: 6721 http://playerstage.svn.sourceforge.net/playerstage/?rev=6721&view=rev Author: gbiggs Date: 2008-07-01 01:25:00 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Updated driver to support new functionality of library and platform-independent log files Modified Paths: -------------- code/player/trunk/server/drivers/ranger/hokuyo_aist.cc code/player/trunk/server/drivers/ranger/hokuyo_aist.logr code/player/trunk/server/drivers/ranger/hokuyo_aist.logw Modified: code/player/trunk/server/drivers/ranger/hokuyo_aist.cc =================================================================== --- code/player/trunk/server/drivers/ranger/hokuyo_aist.cc 2008-07-01 01:02:48 UTC (rev 6720) +++ code/player/trunk/server/drivers/ranger/hokuyo_aist.cc 2008-07-01 08:25:00 UTC (rev 6721) @@ -47,9 +47,8 @@ - PLAYER_RANGER_REQ_GET_CONFIG - PLAYER_RANGER_REQ_SET_CONFIG - PLAYER_RANGER_REQ_POWER - - Note: Only the min_angle, max_angle and frequency values can be configured using this request. - In addition, the frequency value must be equivalent to a suitable RPM value (see the hokuyo_aist - library documentation for suitable values). + - Note: Only the min_angle and max_angle values can be configured using this request. To change + the scanning frequency, use the speed_level property. @par Configuration file options @@ -68,10 +67,6 @@ - max_angle (float, radians) - Default: 2.08 rad (119.0 degrees) - Maximum scan angle to return. Will be adjusted if outside the laser's scannable range. - - frequency (float, Hz) - - Default: 10Hz - - The frequency at which the laser operates. This must be equivalent to a suitable RPM value. See - - the hokuyo_aist library documentation for suitable values. - power (boolean) - Default: true - If true, the sensor power will be switched on upon driver activation (i.e. when the first @@ -83,10 +78,17 @@ @par Properties - - baudrate (integer) + - baud_rate (integer) - Default: 19200bps - Change the baud rate of the connection to the laser. See hokuyo_aist documentation for valid values. + - speed_level (integer, 0 to 10 or 99) + - Default: 0 + - The speed at which the laser operates, as a level down from maximum speed. See the hokuyo_aist + library documentation for suitable values. + - high_sensitivity (integer) + - Default: 0 + - Set to non-zero to enable high sensitivity mode on models that support it. @par Example @@ -110,7 +112,8 @@ #include <libplayercore/playercore.h> const int DEFAULT_BAUDRATE = 19200; -const int DEFAULT_SPEED = 600; +const int DEFAULT_SPEED_LEVEL = 0; +const int DEFAULT_SENSITIVITY = 0; //////////////////////////////////////////////////////////////////////////////////////////////////// // Driver object @@ -133,9 +136,8 @@ // Configuration parameters bool _verbose, _powerOnStartup; - int _frequency; double _minAngle, _maxAngle; - IntProperty _baudRate; + IntProperty _baudRate, _speedLevel, _highSensitivity; std::string _portOpts; // Geometry player_ranger_geom_t _geom; @@ -154,15 +156,18 @@ HokuyoDriver::HokuyoDriver (ConfigFile* cf, int section) : Driver (cf, section, false, PLAYER_MSGQUEUE_DEFAULT_MAXLEN, PLAYER_RANGER_CODE), - _baudRate ("baudrate", DEFAULT_BAUDRATE, false), _ranges (NULL) + _baudRate ("baud_rate", DEFAULT_BAUDRATE, false), + _speedLevel ("speed_level", DEFAULT_SPEED_LEVEL, false), + _highSensitivity ("high_sensitivity", DEFAULT_SENSITIVITY, false), _ranges (NULL) { - // Get the baudrate and motor speed - RegisterProperty ("baudrate", &_baudRate, cf, section); + // Get the baudrate, speed and sensitivity + RegisterProperty ("baud_rate", &_baudRate, cf, section); + RegisterProperty ("speed_level", &_speedLevel, cf, section); + RegisterProperty ("high_sensitivity", &_highSensitivity, cf, section); // Get config _minAngle = cf->ReadFloat (section, "min_angle", -2.08); _maxAngle = cf->ReadFloat (section, "max_angle", 2.08); - _frequency = cf->ReadInt (section, "frequency", 10); _portOpts = cf->ReadString (section, "portopts", "type=serial,device=/dev/ttyACM0,timeout=1"); _verbose = cf->ReadBool (section, "verbose", false); _powerOnStartup = cf->ReadBool (section, "power", true); @@ -244,7 +249,7 @@ { player_intprop_req_t *req = reinterpret_cast<player_intprop_req_t*> (data); // Change in the baud rate - if (strncmp (req->key, "baudrate", 8) == 0) + if (strncmp (req->key, "baud_rate", 9) == 0) { try { @@ -274,6 +279,46 @@ 0, NULL); return 0; } + else if (strncmp (req->key, "speed_level", 11) == 0) + { + try + { + _device.SetMotorSpeed (req->value); + } + catch (hokuyo_aist::HokuyoError &e) + { + PLAYER_ERROR2 ("hokuyo_aist: Error while changing motor speed: (%d) %s", + e.Code (), e.what ()); + SetError (e.Code ()); + Publish (device_addr, resp_queue, PLAYER_MSGTYPE_RESP_NACK, PLAYER_SET_INTPROP_REQ, + NULL, 0, NULL); + return 0; + } + _speedLevel.SetValueFromMessage (data); + Publish (device_addr, resp_queue, PLAYER_MSGTYPE_RESP_ACK, PLAYER_SET_INTPROP_REQ, NULL, + 0, NULL); + return 0; + } + else if (strncmp (req->key, "high_sensitivity", 16) == 0) + { + try + { + _device.SetHighSensitivity (req->value != 0); + } + catch (hokuyo_aist::HokuyoError &e) + { + PLAYER_ERROR2 ("hokuyo_aist: Error while changing sensitivity: (%d) %s", + e.Code (), e.what ()); + SetError (e.Code ()); + Publish (device_addr, resp_queue, PLAYER_MSGTYPE_RESP_NACK, PLAYER_SET_INTPROP_REQ, + NULL, 0, NULL); + return 0; + } + _highSensitivity.SetValueFromMessage (data); + Publish (device_addr, resp_queue, PLAYER_MSGTYPE_RESP_ACK, PLAYER_SET_INTPROP_REQ, NULL, + 0, NULL); + return 0; + } } // Standard ranger messages @@ -339,7 +384,6 @@ return 0; } - _frequency = static_cast<int> (newParams->frequency); try { hokuyo_aist::HokuyoSensorInfo info; @@ -354,7 +398,6 @@ _maxAngle = info.maxAngle; PLAYER_WARN1 ("hokuyo_aist: Adjusted max_angle to %lf", _maxAngle); } - _device.SetMotorSpeed (_frequency * 60); } catch (hokuyo_aist::HokuyoError &e) { @@ -434,6 +477,16 @@ throw; PLAYER_WARN ("hokuyo_aist: Cannot change the baud rate of a non-serial connection."); } + _device.SetMotorSpeed (_speedLevel.GetValue ()); + try + { + // Catch any errors here as this is an optional setting not supported by all models + _device.SetHighSensitivity (_highSensitivity.GetValue () != 0); + } + catch (hokuyo_aist::HokuyoError &e) + { + PLAYER_WARN2 ("hokuyo_aist: Unable to set sensitivity: (%d) %s", e.Code (), e.what ()); + } } catch (hokuyo_aist::HokuyoError &e) { Modified: code/player/trunk/server/drivers/ranger/hokuyo_aist.logr =================================================================== (Binary files differ) Modified: code/player/trunk/server/drivers/ranger/hokuyo_aist.logw =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |