|
From: <bo...@us...> - 2008-04-26 07:41:00
|
Revision: 129
http://gearbox.svn.sourceforge.net/gearbox/?rev=129&view=rev
Author: borax00
Date: 2008-04-26 00:41:06 -0700 (Sat, 26 Apr 2008)
Log Message:
-----------
Modified Paths:
--------------
gearbox/trunk/submitted/gbxgarminacfr/CMakeLists.txt
gearbox/trunk/submitted/gbxgarminacfr/driver.h
Added Paths:
-----------
gearbox/trunk/submitted/gbxgarminacfr/test/
gearbox/trunk/submitted/gbxgarminacfr/test/CMakeLists.txt
gearbox/trunk/submitted/gbxgarminacfr/test/example.cmake.in
gearbox/trunk/submitted/gbxgarminacfr/test/example.readme
gearbox/trunk/submitted/gbxgarminacfr/test/test.cpp
Modified: gearbox/trunk/submitted/gbxgarminacfr/CMakeLists.txt
===================================================================
--- gearbox/trunk/submitted/gbxgarminacfr/CMakeLists.txt 2008-04-26 07:15:32 UTC (rev 128)
+++ gearbox/trunk/submitted/gbxgarminacfr/CMakeLists.txt 2008-04-26 07:41:06 UTC (rev 129)
@@ -21,12 +21,12 @@
GBX_ADD_LIBRARY( ${lib_name} SHARED ${srcs} )
TARGET_LINK_LIBRARIES( ${lib_name} ${dep_libs} )
-# GBX_ADD_PKGCONFIG( ${lib_name} "Garmin GPS driver" "" dep_libs "" "" )
+ GBX_ADD_PKGCONFIG( ${lib_name} "Garmin GPS driver" "" dep_libs "" "" )
GBX_ADD_HEADERS( gbxgarminacfr ${hdrs} )
-# IF( GBX_BUILD_TESTS )
-# ADD_SUBDIRECTORY( test )
-# ENDIF( GBX_BUILD_TESTS )
+ IF( GBX_BUILD_TESTS )
+ ADD_SUBDIRECTORY( test )
+ ENDIF( GBX_BUILD_TESTS )
ENDIF( build )
Modified: gearbox/trunk/submitted/gbxgarminacfr/driver.h
===================================================================
--- gearbox/trunk/submitted/gbxgarminacfr/driver.h 2008-04-26 07:15:32 UTC (rev 128)
+++ gearbox/trunk/submitted/gbxgarminacfr/driver.h 2008-04-26 07:41:06 UTC (rev 129)
@@ -12,6 +12,8 @@
#define GBXGARMINACFR_DRIVER_H
#include <gbxserialacfr/serial.h>
+#include <gbxsickacfr/gbxutilacfr/tracer.h>
+#include <gbxsickacfr/gbxutilacfr/status.h>
#include <gbxgarminacfr/gbxgpsutilacfr/nmea.h>
#include <memory>
Added: gearbox/trunk/submitted/gbxgarminacfr/test/CMakeLists.txt
===================================================================
--- gearbox/trunk/submitted/gbxgarminacfr/test/CMakeLists.txt (rev 0)
+++ gearbox/trunk/submitted/gbxgarminacfr/test/CMakeLists.txt 2008-04-26 07:41:06 UTC (rev 129)
@@ -0,0 +1,6 @@
+INCLUDE( ${GBX_CMAKE_DIR}/UseBasicRules.cmake )
+
+GBX_ADD_EXECUTABLE( gbxgarminacfrtest test.cpp )
+TARGET_LINK_LIBRARIES( gbxgarminacfrtest GbxGarminAcfr )
+
+GBX_ADD_EXAMPLE( gbxgarminacfr example.cmake.in example.cmake test.cpp example.readme )
\ No newline at end of file
Added: gearbox/trunk/submitted/gbxgarminacfr/test/example.cmake.in
===================================================================
--- gearbox/trunk/submitted/gbxgarminacfr/test/example.cmake.in (rev 0)
+++ gearbox/trunk/submitted/gbxgarminacfr/test/example.cmake.in 2008-04-26 07:41:06 UTC (rev 129)
@@ -0,0 +1,10 @@
+PROJECT( gbxgarminacfr_example )
+
+INCLUDE_DIRECTORIES( @CMAKE_INSTALL_PREFIX@/include/gearbox )
+
+ADD_EXECUTABLE( gbxgarminacfrtest test.cpp )
+TARGET_LINK_LIBRARIES( gbxgarminacfrtest GbxSickAcfr )
+SET_TARGET_PROPERTIES( gbxgarminacfrtest PROPERTIES
+ LINK_FLAGS "-L@CMAKE_INSTALL_PREFIX@/lib/gearbox"
+ INSTALL_RPATH "${INSTALL_RPATH};@CMAKE_INSTALL_PREFIX@/lib/gearbox"
+ BUILD_WITH_INSTALL_RPATH TRUE )
Added: gearbox/trunk/submitted/gbxgarminacfr/test/example.readme
===================================================================
--- gearbox/trunk/submitted/gbxgarminacfr/test/example.readme (rev 0)
+++ gearbox/trunk/submitted/gbxgarminacfr/test/example.readme 2008-04-26 07:41:06 UTC (rev 129)
@@ -0,0 +1,12 @@
+Building
+--------
+
+The example can be built by making a directory (anywhere on your system where
+you have write permissions will do), changing to that directory and executing
+CMake with the example's source directory as an argument. For example, if you
+have installed GearBox into /usr/local, you could do the following:
+
+$ cd ~
+$ mkdir gbxgarminacfr_example
+$ cd gbxgarminacfr_example
+$ ccmake /usr/local/share/gearbox/gbxgarminacfr
Added: gearbox/trunk/submitted/gbxgarminacfr/test/test.cpp
===================================================================
--- gearbox/trunk/submitted/gbxgarminacfr/test/test.cpp (rev 0)
+++ gearbox/trunk/submitted/gbxgarminacfr/test/test.cpp 2008-04-26 07:41:06 UTC (rev 129)
@@ -0,0 +1,100 @@
+/*
+ * GearBox Project: Peer-Reviewed Open-Source Libraries for Robotics
+ * http://gearbox.sf.net/
+ * Copyright (c) 2004-2008 Alex Brooks, Alexei Makarenko, Tobias Kaupp
+ *
+ * This distribution is licensed to you under the terms described in
+ * the LICENSE file included in this distribution.
+ *
+ */
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <iostream>
+#include <sstream>
+#include <gbxgarminacfr/driver.h>
+#include <gbxsickacfr/gbxutilacfr/trivialtracer.h>
+#include <gbxsickacfr/gbxutilacfr/trivialstatus.h>
+#include <gbxsickacfr/gbxutilacfr/mathdefs.h>
+
+using namespace std;
+
+//
+// Instantiates the laser driver, reads a few scans
+//
+int main( int argc, char **argv )
+{
+ int opt;
+ // defaults
+ string port = "/dev/ttyS0";
+
+ // Get some options from the command line
+ while ((opt = getopt(argc, argv, "p:b:")) != -1)
+ {
+ switch ( opt )
+ {
+ case 'p':
+ port = optarg;
+ break;
+ default:
+ cout << "Usage: " << argv[0] << " [-p port]" << endl << endl
+ << "-p port\tPort the laser scanner is connected to. E.g. /dev/ttyS0" << endl;
+ return 1;
+ }
+ }
+
+ // Set up the laser's configuration
+ gbxgarminacfr::Config config;
+ config.device = port;
+ if ( !config.isValid() ) {
+ cout << "Test: Invalid device configuration structure: " << config.toString() << endl;
+ exit(1);
+ }
+ cout << "Using configuration: " << config.toString() << endl;
+
+ // Instantiate objects to handle messages from the driver
+ const bool debug=false;
+ gbxsickacfr::gbxutilacfr::TrivialTracer tracer( debug );
+ gbxsickacfr::gbxutilacfr::TrivialStatus status( tracer );
+
+ // Instantiate the driver itself
+ gbxgarminacfr::Driver* device;
+ try
+ {
+ device = new gbxgarminacfr::Driver( config, tracer, status );
+ }
+ catch ( const std::exception& e )
+ {
+ cout <<"Test: Failed to init device: "<<e.what() << endl;
+ return 1;
+ }
+
+ // Create data structure to store sensor data
+ gbxgarminacfr::Data data;
+
+ // Read a few times
+ const int numReads = 3;
+ for ( int i=0; i < numReads; i++ )
+ {
+ try
+ {
+ device->read( data );
+
+ cout<<"Test: Got data "<<i+1<<" of "<<numReads<<endl;
+
+ if ( data.haveWarnings )
+ cout << "got warnings: " << data.warnings << endl;
+ }
+ catch ( const std::exception& e )
+ {
+ cout <<"Test: Failed to read data: "<<e.what()<<endl;
+ }
+ }
+
+ delete device;
+ return 0;
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|