-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 | |||
@@ -9,17 +9,17 @@ | |||
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
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 | } |
24 | 24 | ||
25 | 25 | ||
@@ -35,27 +35,28 @@ bool GPS::open( const QString& host, int port ) | |||
35 | } | 35 | } |
36 | 36 | ||
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 | } |
60 | 61 | ||
61 | 62 | ||