QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
ADSBVehicle.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <QtCore/QElapsedTimer>
4
#include <QtCore/QtNumeric>
5
#include <QtCore/QObject>
6
#include <QtPositioning/QGeoCoordinate>
7
#include <QtQmlIntegration/QtQmlIntegration>
8
9
#include "
ADSB.h
"
10
11
class
ADSBVehicle
:
public
QObject
12
{
13
Q_OBJECT
14
// QML_ELEMENT
15
16
Q_PROPERTY(uint
icaoAddress
READ
icaoAddress
CONSTANT)
17
Q_PROPERTY(QString
callsign
READ
callsign
NOTIFY
callsignChanged
)
18
Q_PROPERTY(QGeoCoordinate
coordinate
READ
coordinate
NOTIFY
coordinateChanged
)
19
Q_PROPERTY(
double
altitude
READ
altitude
NOTIFY
altitudeChanged
)
20
Q_PROPERTY(
double
heading
READ
heading
NOTIFY
headingChanged
)
21
Q_PROPERTY(
double
velocity
READ
velocity
NOTIFY
velocityChanged
)
22
Q_PROPERTY(
double
verticalVel
READ
verticalVel
NOTIFY
verticalVelChanged
)
23
Q_PROPERTY(uint16_t
squawk
READ
squawk
NOTIFY
squawkChanged
)
24
Q_PROPERTY(
bool
alert
READ
alert
NOTIFY
alertChanged
)
25
26
public
:
27
explicit
ADSBVehicle
(
const
ADSB::VehicleInfo_t
&vehicleInfo, QObject *parent =
nullptr
);
28
~ADSBVehicle
();
29
30
uint32_t
icaoAddress
()
const
{
return
_info.
icaoAddress
; }
31
QString
callsign
()
const
{
return
_info.
callsign
; }
32
QGeoCoordinate
coordinate
()
const
{
return
_info.
location
; }
33
double
altitude
()
const
{
return
_info.
location
.altitude(); }
34
double
heading
()
const
{
return
_info.
heading
; }
35
double
velocity
()
const
{
return
_info.
velocity
; }
36
double
verticalVel
()
const
{
return
_info.
verticalVel
; }
37
uint16_t
squawk
()
const
{
return
_info.
squawk
; }
38
bool
alert
()
const
{
return
_info.
alert
; }
39
bool
expired
()
const
{
return
_lastUpdateTimer.hasExpired(_expirationTimeoutMs); }
40
void
update
(
const
ADSB::VehicleInfo_t
&vehicleInfo);
41
42
signals:
43
void
coordinateChanged
();
44
void
callsignChanged
();
45
void
altitudeChanged
();
46
void
headingChanged
();
47
void
velocityChanged
();
48
void
verticalVelChanged
();
49
void
squawkChanged
();
50
void
alertChanged
();
51
52
private
:
53
ADSB::VehicleInfo_t
_info{};
54
QElapsedTimer _lastUpdateTimer;
55
56
static
constexpr
qint64 _expirationTimeoutMs = 120000;
57
};
ADSB.h
ADSBVehicle
Definition
ADSBVehicle.h:12
ADSBVehicle::coordinateChanged
void coordinateChanged()
ADSBVehicle::altitude
double altitude() const
Definition
ADSBVehicle.h:33
ADSBVehicle::velocity
double velocity() const
Definition
ADSBVehicle.h:35
ADSBVehicle::headingChanged
void headingChanged()
ADSBVehicle::squawkChanged
void squawkChanged()
ADSBVehicle::heading
double heading() const
Definition
ADSBVehicle.h:34
ADSBVehicle::~ADSBVehicle
~ADSBVehicle()
Definition
ADSBVehicle.cc:18
ADSBVehicle::alert
bool alert() const
Definition
ADSBVehicle.h:38
ADSBVehicle::callsign
QString callsign() const
Definition
ADSBVehicle.h:31
ADSBVehicle::callsignChanged
void callsignChanged()
ADSBVehicle::squawk
uint16_t squawk() const
Definition
ADSBVehicle.h:37
ADSBVehicle::coordinate
QGeoCoordinate coordinate() const
Definition
ADSBVehicle.h:32
ADSBVehicle::update
void update(const ADSB::VehicleInfo_t &vehicleInfo)
Definition
ADSBVehicle.cc:23
ADSBVehicle::altitudeChanged
void altitudeChanged()
ADSBVehicle::verticalVel
double verticalVel() const
Definition
ADSBVehicle.h:36
ADSBVehicle::alertChanged
void alertChanged()
ADSBVehicle::expired
bool expired() const
Definition
ADSBVehicle.h:39
ADSBVehicle::velocityChanged
void velocityChanged()
ADSBVehicle::icaoAddress
uint32_t icaoAddress() const
Definition
ADSBVehicle.h:30
ADSBVehicle::verticalVelChanged
void verticalVelChanged()
ADSB::VehicleInfo_t
Definition
ADSB.h:47
ADSB::VehicleInfo_t::icaoAddress
uint32_t icaoAddress
Definition
ADSB.h:49
ADSB::VehicleInfo_t::velocity
double velocity
Definition
ADSB.h:54
ADSB::VehicleInfo_t::alert
bool alert
Definition
ADSB.h:59
ADSB::VehicleInfo_t::verticalVel
double verticalVel
Definition
ADSB.h:55
ADSB::VehicleInfo_t::heading
double heading
Definition
ADSB.h:52
ADSB::VehicleInfo_t::callsign
QString callsign
Definition
ADSB.h:50
ADSB::VehicleInfo_t::location
QGeoCoordinate location
Definition
ADSB.h:51
ADSB::VehicleInfo_t::squawk
uint16_t squawk
Definition
ADSB.h:53
src
ADSB
ADSBVehicle.h
Generated by
1.9.8