summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/gps.cpp
Unidiff
Diffstat (limited to 'noncore/net/wellenreiter/gui/gps.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/gps.cpp11
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
@@ -5,25 +5,25 @@
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
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>
18GPS::GPS( QObject* parent, const char * name ) 18GPS::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
26GPS::~GPS() 26GPS::~GPS()
27{ 27{
28 qDebug( "GPS::~GPS()" ); 28 qDebug( "GPS::~GPS()" );
29} 29}
@@ -31,35 +31,36 @@ GPS::~GPS()
31 31
32bool GPS::open( const QString& host, int port ) 32bool GPS::open( const QString& host, int port )
33{ 33{
34 _socket->connectToHost( host, port ); 34 _socket->connectToHost( host, port );
35} 35}
36 36
37 37
38float GPS::latitude() const 38float 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
62float GPS::longitute() const 63float GPS::longitute() const
63{ 64{
64} 65}
65 66