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/QObject>
4#include <QtCore/QString>
5
6#include "satellite_info.h"
8#include "sensor_gps.h"
9
10class GPSRTKFactGroup;
11class FactGroup;
12class RTCMMavlink;
13class GPSProvider;
14
15class GPSRtk : public QObject
16{
17 Q_OBJECT
18
19public:
20 explicit GPSRtk(QObject *parent = nullptr);
21 ~GPSRtk();
22
23 void connectGPS(const QString &device, QStringView gps_type);
24 void disconnectGPS();
25 bool connected() const;
27
28private slots:
29 void _satelliteInfoUpdate(const satellite_info_s &msg);
30 void _sensorGnssRelativeUpdate(const sensor_gnss_relative_s &msg);
31 void _sensorGpsUpdate(const sensor_gps_s &msg);
32 void _onGPSConnect();
33 void _onGPSDisconnect();
34 void _onGPSSurveyInStatus(float duration, float accuracyMM, double latitude, double longitude, float altitude, bool valid, bool active);
35
36private:
37 GPSProvider *_gpsProvider = nullptr;
38 RTCMMavlink *_rtcmMavlink = nullptr;
39 GPSRTKFactGroup *_gpsRtkFactGroup = nullptr;
40
41 std::atomic_bool _requestGpsStop = false;
42
43 static constexpr uint32_t kGPSThreadDisconnectTimeout = 2000;
44};
Used to group Facts together into an object hierarachy.
Definition FactGroup.h:16
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