QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
VehicleTemperatureFactGroup.cc
Go to the documentation of this file.
2
3#include "MAVLinkLib.h"
4#include "Vehicle.h"
5
7 : FactGroup(1000, QStringLiteral(":/json/Vehicle/TemperatureFact.json"), parent)
8{
9 _addFact(&_temperature1Fact);
10 _addFact(&_temperature2Fact);
11 _addFact(&_temperature3Fact);
12
13 _temperature1Fact.setRawValue(qQNaN());
14 _temperature2Fact.setRawValue(qQNaN());
15 _temperature3Fact.setRawValue(qQNaN());
16}
17
19{
20 Q_UNUSED(vehicle);
21
22 switch (message.msgid) {
23 case MAVLINK_MSG_ID_SCALED_PRESSURE:
24 _handleScaledPressure(message);
25 break;
26 case MAVLINK_MSG_ID_SCALED_PRESSURE2:
27 _handleScaledPressure2(message);
28 break;
29 case MAVLINK_MSG_ID_SCALED_PRESSURE3:
30 _handleScaledPressure3(message);
31 break;
32 case MAVLINK_MSG_ID_HIGH_LATENCY:
33 _handleHighLatency(message);
34 break;
35 case MAVLINK_MSG_ID_HIGH_LATENCY2:
36 _handleHighLatency2(message);
37 break;
38 default:
39 break;
40 }
41}
42
43void VehicleTemperatureFactGroup::_handleHighLatency(const mavlink_message_t &message)
44{
45 mavlink_high_latency_t highLatency{};
46 mavlink_msg_high_latency_decode(&message, &highLatency);
47
48 temperature1()->setRawValue(highLatency.temperature_air);
49
51}
52
53void VehicleTemperatureFactGroup::_handleHighLatency2(const mavlink_message_t &message)
54{
55 mavlink_high_latency2_t highLatency2{};
56 mavlink_msg_high_latency2_decode(&message, &highLatency2);
57
58 temperature1()->setRawValue(highLatency2.temperature_air);
59
61}
62
63void VehicleTemperatureFactGroup::_handleScaledPressure(const mavlink_message_t &message)
64{
65 mavlink_scaled_pressure_t pressure{};
66 mavlink_msg_scaled_pressure_decode(&message, &pressure);
67
68 temperature1()->setRawValue(pressure.temperature / 100.0);
69
71}
72
73void VehicleTemperatureFactGroup::_handleScaledPressure2(const mavlink_message_t &message)
74{
75 mavlink_scaled_pressure2_t pressure{};
76 mavlink_msg_scaled_pressure2_decode(&message, &pressure);
77
78 temperature2()->setRawValue(pressure.temperature / 100.0);
79
81}
82
83void VehicleTemperatureFactGroup::_handleScaledPressure3(const mavlink_message_t &message)
84{
85 mavlink_scaled_pressure3_t pressure{};
86 mavlink_msg_scaled_pressure3_decode(&message, &pressure);
87
88 temperature3()->setRawValue(pressure.temperature / 100.0);
89
91}
struct __mavlink_message mavlink_message_t
struct __mavlink_high_latency2_t mavlink_high_latency2_t
Used to group Facts together into an object hierarachy.
Definition FactGroup.h:16
void _setTelemetryAvailable(bool telemetryAvailable)
Definition FactGroup.cc:175
void _addFact(Fact *fact, const QString &name)
Definition FactGroup.cc:116
void setRawValue(const QVariant &value)
Definition Fact.cc:135
void handleMessage(Vehicle *vehicle, const mavlink_message_t &message) final
Allows a FactGroup to parse incoming messages and fill in values.
VehicleTemperatureFactGroup(QObject *parent=nullptr)