QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
TerrainProtocolHandler.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QObject>
4#include <QtPositioning/QGeoCoordinate>
5
6#include "MAVLinkLib.h"
7
8class QTimer;
10class Vehicle;
11
12class TerrainProtocolHandler : public QObject
13{
14 Q_OBJECT
15
16public:
17 explicit TerrainProtocolHandler(Vehicle *vehicle, TerrainFactGroup *terrainFactGroup, QObject *parent = nullptr);
19
21 bool mavlinkMessageReceived(const mavlink_message_t &message);
22
23private slots:
24 void _sendNextTerrainData();
25
26private:
27 void _handleTerrainRequest(const mavlink_message_t &message);
28 void _handleTerrainReport(const mavlink_message_t &message);
29 void _sendTerrainData(const QGeoCoordinate &swCorner, uint8_t gridBit);
30
31 Vehicle *_vehicle = nullptr;
32 TerrainFactGroup *_terrainFactGroup = nullptr;
33 QTimer *_terrainDataSendTimer = nullptr;
34 bool _terrainRequestActive = false;
35 mavlink_terrain_request_t _currentTerrainRequest;
36};
struct __mavlink_message mavlink_message_t
bool mavlinkMessageReceived(const mavlink_message_t &message)