3#include <QtCore/QByteArray>
4#include <QtCore/QMetaType>
5#include <QtCore/QObject>
6#include <QtCore/QString>
7#include <QtCore/QThread>
17class GPSBaseStationSupport;
41 GPSProvider(
const QString &device,
GPSType type,
const rtk_data_s &rtkData,
const std::atomic_bool &requestStop, QObject *parent =
nullptr);
44 int callback(GPSCallbackType type,
void *data1,
int data2);
51 void surveyInStatus(
float duration,
float accuracyMM,
double latitude,
double longitude,
float altitude,
bool valid,
bool active);
56 bool _connectSerial();
57 GPSBaseStationSupport *_connectGPS();
58 void _publishSensorGPS();
59 void _publishSatelliteInfo();
60 void _publishSensorGNSSRelative();
62 void _gotRTCMData(const uint8_t *data,
size_t len);
65 static
int _callbackEntry(GPSCallbackType type,
void *data1,
int data2,
void *user);
69 const std::atomic_bool &_requestStop;
71 GPSHelper::GPSConfig _gpsConfig{};
84 static constexpr uint32_t kGPSReceiveTimeout = 1200;
85 static constexpr float kGPSHeadingOffset = 5.f;
void RTCMDataUpdate(const QByteArray &message)
void sensorGnssRelativeUpdate(const sensor_gnss_relative_s &message)
int callback(GPSCallbackType type, void *data1, int data2)
void sensorGpsUpdate(const sensor_gps_s &message)
void satelliteInfoUpdate(const satellite_info_s &message)
void surveyInStatus(float duration, float accuracyMM, double latitude, double longitude, float altitude, bool valid, bool active)
Provides functions to access serial ports.
double fixedBaseLongitude
float fixedBaseAltitudeMeters
float fixedBaseAccuracyMeters
BaseModeDefinition::Mode useFixedBaseLocation