author | mickeyl <mickeyl> | 2003-09-08 15:00:19 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-09-08 15:00:19 (UTC) |
commit | b3299bab3370865e0e498fd2f7f84f3abbd17e77 (patch) (unidiff) | |
tree | 86f51a21e5cbd8483cc334cb966a10d7352b7867 /noncore/net/wellenreiter/gui | |
parent | 913788f77c3f501778b7653317a4a6b06452961d (diff) | |
download | opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.zip opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.tar.gz opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.tar.bz2 |
Note to self: QSocket buffers!
Diffstat (limited to 'noncore/net/wellenreiter/gui') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/wellenreiter/gui/gps.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/noncore/net/wellenreiter/gui/gps.cpp b/noncore/net/wellenreiter/gui/gps.cpp index 4a24647..3206655 100644 --- a/noncore/net/wellenreiter/gui/gps.cpp +++ b/noncore/net/wellenreiter/gui/gps.cpp | |||
@@ -11,13 +11,13 @@ | |||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | **********************************************************************/ | 14 | **********************************************************************/ |
15 | 15 | ||
16 | #include "gps.h" | 16 | #include "gps.h" |
17 | 17 | #include <unistd.h> | |
18 | GPS::GPS( QObject* parent, const char * name ) | 18 | GPS::GPS( QObject* parent, const char * name ) |
19 | :QObject( parent, name ) | 19 | :QObject( parent, name ) |
20 | { | 20 | { |
21 | qDebug( "GPS::GPS()" ); | 21 | qDebug( "GPS::GPS()" ); |
22 | _socket = new QSocket( this, "gpsd commsock" ); | 22 | _socket = new QSocket( this, "gpsd commsock" ); |
23 | } | 23 | } |
@@ -37,23 +37,24 @@ bool GPS::open( const QString& host, int port ) | |||
37 | 37 | ||
38 | float GPS::latitude() const | 38 | float GPS::latitude() const |
39 | { | 39 | { |
40 | char buf[256]; | 40 | char buf[256]; |
41 | 41 | ||
42 | int result = _socket->writeBlock( "p\r\n", 3 ); | 42 | int result = _socket->writeBlock( "p\r\n", 3 ); |
43 | _socket->flush(); | ||
43 | if ( result ) | 44 | if ( result ) |
44 | { | 45 | { |
45 | qDebug( "GPS write succeeded" ); | 46 | int numAvail = _socket->bytesAvailable(); |
46 | _socket->waitForMore( 20 ); | 47 | qDebug( "GPS write succeeded, %d bytes available for reading...", numAvail ); |
47 | if ( _socket->canReadLine() ) | 48 | if ( numAvail ) |
48 | { | 49 | { |
49 | 50 | ||
50 | int num = _socket->readLine( &buf[0], sizeof buf ); | 51 | int num = _socket->readLine( &buf[0], sizeof buf ); |
51 | if ( num ) | 52 | if ( num ) |
52 | { | 53 | { |
53 | qDebug( "GPS got line: %s", &buf ); | 54 | qDebug( "GPS got %d bytes ['%s']", num, &buf[0] ); |
54 | return 0.0; | 55 | return 0.0; |
55 | } | 56 | } |
56 | } | 57 | } |
57 | } | 58 | } |
58 | return -1.0; | 59 | return -1.0; |
59 | } | 60 | } |