Last active
February 10, 2023 14:10
-
-
Save eugesh/46d838b994b98cca04d314309688d005 to your computer and use it in GitHub Desktop.
Example for QNmeaPositionInfoSource
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright (C) 2017 The Qt Company Ltd. | |
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause | |
#include <QtCore> | |
#include <QNmeaPositionInfoSource> | |
#include <QSerialPort> | |
#include <QTextEdit> | |
#include "clientapplication.h" | |
ClientApplication::ClientApplication(QWidget *parent) | |
: QMainWindow(parent) | |
{ | |
textEdit = new QTextEdit; | |
setCentralWidget(textEdit); | |
QNmeaPositionInfoSource *source = new QNmeaPositionInfoSource(QNmeaPositionInfoSource::RealTimeMode, this); | |
QSerialPort *serialport = new QSerialPort(this); | |
serialport->setPortName("ttyACM0"); | |
serialport->setBaudRate(9600); | |
serialport->setDataBits(QSerialPort::Data5); | |
serialport->setParity(QSerialPort::Parity::NoParity); | |
serialport->setStopBits(QSerialPort::StopBits::OneStop); | |
serialport->setFlowControl(QSerialPort::FlowControl::NoFlowControl); | |
serialport->open(QIODevice::ReadOnly); | |
source->setDevice(serialport); | |
source->startUpdates(); | |
connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)), | |
this, SLOT(positionUpdated(QGeoPositionInfo))); | |
source->setPreferredPositioningMethods(QGeoPositionInfoSource::SatellitePositioningMethods); | |
source->setUserEquivalentRangeError(5.1); | |
source->setUpdateInterval(1000); | |
source->startUpdates(); | |
} | |
void ClientApplication::positionUpdated(const QGeoPositionInfo &info) | |
{ | |
textEdit->append(QString("Position updated: Date/time = %1, Coordinate = %2").arg(info.timestamp().toString()).arg(info.coordinate().toString())); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright (C) 2017 The Qt Company Ltd. | |
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause | |
#ifndef CLIENTAPPLICATION_H | |
#define CLIENTAPPLICATION_H | |
#include <QMainWindow> | |
QT_BEGIN_NAMESPACE | |
class QGeoPositionInfo; | |
class QTextEdit; | |
QT_END_NAMESPACE | |
class ClientApplication : public QMainWindow | |
{ | |
Q_OBJECT | |
public: | |
ClientApplication(QWidget *parent = 0); | |
private slots: | |
void positionUpdated(const QGeoPositionInfo &info); | |
private: | |
QTextEdit *textEdit; | |
}; | |
#endif |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TEMPLATE = app | |
TARGET = geopositionsource | |
QT = positioning core widgets serialport | |
HEADERS = clientapplication.h | |
SOURCES = clientapplication.cpp \ | |
main.cpp | |
RESOURCES += \ | |
logfile.qrc | |
INSTALLS += target |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright (C) 2017 The Qt Company Ltd. | |
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause | |
#include <QApplication> | |
#include "clientapplication.h" | |
int main(int argc, char *argv[]) | |
{ | |
QApplication app(argc, argv); | |
ClientApplication client; | |
client.show(); | |
return app.exec(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment