|
From: <to...@us...> - 2008-08-12 04:43:33
|
Revision: 305
http://gearbox.svn.sourceforge.net/gearbox/?rev=305&view=rev
Author: tobasco
Date: 2008-08-12 04:43:37 +0000 (Tue, 12 Aug 2008)
Log Message:
-----------
comments
Modified Paths:
--------------
gearbox/trunk/src/gbxsmartbatteryacfr/oceanserver.h
gearbox/trunk/src/gbxsmartbatteryacfr/oceanserverparser.cpp
Modified: gearbox/trunk/src/gbxsmartbatteryacfr/oceanserver.h
===================================================================
--- gearbox/trunk/src/gbxsmartbatteryacfr/oceanserver.h 2008-08-12 02:30:41 UTC (rev 304)
+++ gearbox/trunk/src/gbxsmartbatteryacfr/oceanserver.h 2008-08-12 04:43:37 UTC (rev 305)
@@ -30,6 +30,8 @@
{
public:
+ //! Initialises an OceanServerReader
+ //! May throw a HardwareReadingException
OceanServer( const std::string &port,
gbxutilacfr::Tracer &tracer);
Modified: gearbox/trunk/src/gbxsmartbatteryacfr/oceanserverparser.cpp
===================================================================
--- gearbox/trunk/src/gbxsmartbatteryacfr/oceanserverparser.cpp 2008-08-12 02:30:41 UTC (rev 304)
+++ gearbox/trunk/src/gbxsmartbatteryacfr/oceanserverparser.cpp 2008-08-12 04:43:37 UTC (rev 305)
@@ -284,15 +284,14 @@
const string &line = stringList[i];
stringstream filteredStream;
- bool haveBinary = false;
for (unsigned int k=0; k<line.size()-2; k++)
{
- // Sometimes we get binary characters in the string: either caused by dodgy serial ports
- // or by the oceanserver controller. We need to remove those.
+ // It is possible that binary characters enter the stream,
+ // e.g. caused by electrical interference or dodgy serial ports.
+ // We try to remove those.
if ( !iscntrl( line[k] ) ) {
filteredStream << line[k];
- haveBinary = true;
} else {
unsigned int charValue = (unsigned int)line[k];
stringstream ss;
@@ -305,7 +304,7 @@
// divide the filteredString into 2 parts: data and checksum (if present)
vector<string> checksumList = gbxutilacfr::tokenise( filteredString, "%" );
- if ( (checksumList.size()==2) && (!haveBinary) )
+ if ( checksumList.size()==2 )
{
// we have a checksum, is it correct?
if (!isChecksumValid( checksumList[0], checksumList[1] ) )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|