Diffstat (limited to 'noncore/net/wellenreiter/gui/gps.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/wellenreiter/gui/gps.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/noncore/net/wellenreiter/gui/gps.cpp b/noncore/net/wellenreiter/gui/gps.cpp index c3bff53..4a24647 100644 --- a/noncore/net/wellenreiter/gui/gps.cpp +++ b/noncore/net/wellenreiter/gui/gps.cpp @@ -14,4 +14,52 @@ **********************************************************************/ #include "gps.h" +GPS::GPS( QObject* parent, const char * name ) + :QObject( parent, name ) +{ + qDebug( "GPS::GPS()" ); + _socket = new QSocket( this, "gpsd commsock" ); +} + + +GPS::~GPS() +{ + qDebug( "GPS::~GPS()" ); +} + + +bool GPS::open( const QString& host, int port ) +{ + _socket->connectToHost( host, port ); +} + + +float GPS::latitude() const +{ + char buf[256]; + + int result = _socket->writeBlock( "p\r\n", 3 ); + if ( result ) + { + qDebug( "GPS write succeeded" ); + _socket->waitForMore( 20 ); + if ( _socket->canReadLine() ) + { + + int num = _socket->readLine( &buf[0], sizeof buf ); + if ( num ) + { + qDebug( "GPS got line: %s", &buf ); + return 0.0; + } + } + } + return -1.0; +} + + +float GPS::longitute() const +{ +} + |