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 | |
parent | 913788f77c3f501778b7653317a4a6b06452961d (diff) | |
download | opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.zip opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.tar.gz opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.tar.bz2 |
Note to self: QSocket buffers!
-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 | |||
@@ -1,65 +1,66 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2003 Michael 'Mickey' Lauer. All rights reserved. | 2 | ** Copyright (C) 2003 Michael 'Mickey' Lauer. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of Opie Environment. | 4 | ** This file is part of Opie Environment. |
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> | |
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 | ||
26 | GPS::~GPS() | 26 | GPS::~GPS() |
27 | { | 27 | { |
28 | qDebug( "GPS::~GPS()" ); | 28 | qDebug( "GPS::~GPS()" ); |
29 | } | 29 | } |
30 | 30 | ||
31 | 31 | ||
32 | bool GPS::open( const QString& host, int port ) | 32 | bool 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 | ||
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 | ||
62 | float GPS::longitute() const | 63 | float GPS::longitute() const |
63 | { | 64 | { |
64 | } | 65 | } |
65 | 66 | ||