QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
GPSRtk.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QLoggingCategory>
4#include <QtCore/QObject>
5#include <QtCore/QString>
6
7#include "satellite_info.h"
9#include "sensor_gps.h"
10
12
13class GPSRTKFactGroup;
14class FactGroup;
15class RTCMMavlink;
16class GPSProvider;
17
18class GPSRtk : public QObject
19{
20 Q_OBJECT
21
22public:
23 explicit GPSRtk(QObject *parent = nullptr);
24 ~GPSRtk();
25
26 void connectGPS(const QString &device, QStringView gps_type);
27 void disconnectGPS();
28 bool connected() const;
30
31private slots:
32 void _satelliteInfoUpdate(const satellite_info_s &msg);
33 void _sensorGnssRelativeUpdate(const sensor_gnss_relative_s &msg);
34 void _sensorGpsUpdate(const sensor_gps_s &msg);
35 void _onGPSConnect();
36 void _onGPSDisconnect();
37 void _onGPSSurveyInStatus(float duration, float accuracyMM, double latitude, double longitude, float altitude, bool valid, bool active);
38
39private:
40 GPSProvider *_gpsProvider = nullptr;
41 RTCMMavlink *_rtcmMavlink = nullptr;
42 GPSRTKFactGroup *_gpsRtkFactGroup = nullptr;
43
44 std::atomic_bool _requestGpsStop = false;
45
46 static constexpr uint32_t kGPSThreadDisconnectTimeout = 2000;
47};
Q_DECLARE_LOGGING_CATEGORY(AndroidSerialLog)
Used to group Facts together into an object hierarachy.
Definition FactGroup.h:19
void disconnectGPS()
Definition GPSRtk.cc:112
~GPSRtk()
Definition GPSRtk.cc:22
void connectGPS(const QString &device, QStringView gps_type)
Definition GPSRtk.cc:50
FactGroup * gpsRtkFactGroup()
Definition GPSRtk.cc:135
bool connected() const
Definition GPSRtk.cc:130