|
From: <rus...@us...> - 2008-06-05 08:38:18
|
Revision: 158
http://gearbox.svn.sourceforge.net/gearbox/?rev=158&view=rev
Author: russo2503v
Date: 2008-06-05 01:38:13 -0700 (Thu, 05 Jun 2008)
Log Message:
-----------
added an config option to ignore unknown messages
Modified Paths:
--------------
gearbox/trunk/submitted/gbxgarminacfr/driver.cpp
gearbox/trunk/submitted/gbxgarminacfr/driver.h
gearbox/trunk/submitted/gbxgarminacfr/test/test.cpp
Modified: gearbox/trunk/submitted/gbxgarminacfr/driver.cpp
===================================================================
--- gearbox/trunk/submitted/gbxgarminacfr/driver.cpp 2008-06-05 05:31:00 UTC (rev 157)
+++ gearbox/trunk/submitted/gbxgarminacfr/driver.cpp 2008-06-05 08:38:13 UTC (rev 158)
@@ -377,10 +377,12 @@
continue;
}
else {
+ stringstream ss; ss << "Message type unknown " << MsgType <<endl;
// if we get here the msg is unknown
- stringstream ErrMsg;
- ErrMsg << "Message type unknown " << MsgType <<endl;
- throw gbxutilacfr::Exception( ERROR_INFO, ErrMsg.str() );
+ if ( config_.ignoreUnknown )
+ tracer_.debug( ss.str() );
+ else
+ throw gbxutilacfr::Exception( ERROR_INFO, ss.str() );
}
}
Modified: gearbox/trunk/submitted/gbxgarminacfr/driver.h
===================================================================
--- gearbox/trunk/submitted/gbxgarminacfr/driver.h 2008-06-05 05:31:00 UTC (rev 157)
+++ gearbox/trunk/submitted/gbxgarminacfr/driver.h 2008-06-05 08:38:13 UTC (rev 158)
@@ -25,7 +25,8 @@
Config() :
readGga(true),
readVtg(true),
- readRme(true) {};
+ readRme(true),
+ ignoreUnknown(false) {};
//! Returns true if the configuration is sane. Checks include:
//! - a non-empty device name
@@ -44,6 +45,11 @@
bool readVtg;
//! Read PGRME sentence
bool readRme;
+
+ //! Ignore unknown messages. This driver tries to turn off all messages and then explicitely enables
+ //! the ones it understands. But with some devices this does not work and many messages types are received.
+ //! When ignoreUnknown is set to TRUE the driver quietly ignores the messages it does not understand.
+ bool ignoreUnknown;
};
//! Possible types GenericData can contain
Modified: gearbox/trunk/submitted/gbxgarminacfr/test/test.cpp
===================================================================
--- gearbox/trunk/submitted/gbxgarminacfr/test/test.cpp 2008-06-05 05:31:00 UTC (rev 157)
+++ gearbox/trunk/submitted/gbxgarminacfr/test/test.cpp 2008-06-05 08:38:13 UTC (rev 158)
@@ -53,6 +53,7 @@
config.readGga = true;
config.readVtg = true;
config.readRme = true;
+ config.ignoreUnknown = false;
if ( !config.isValid() ) {
cout << "Test: Invalid device configuration structure: " << config.toString() << endl;
exit(1);
@@ -60,7 +61,7 @@
cout << "Using configuration: " << config.toString() << endl;
// Instantiate objects to handle messages from the driver
- const bool debug = false;
+ const bool debug = true;
gbxutilacfr::TrivialTracer tracer( debug );
gbxutilacfr::TrivialStatus status( tracer );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|