QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
APMMavlinkStreamRateSettings.cc
Go to the documentation of this file.
2#include "Vehicle.h"
4
5DECLARE_SETTINGGROUP(APMMavlinkStreamRate, "APMMavlinkStreamRate")
6{
7 connect(streamRateRawSensors(), &Fact::rawValueChanged, this, &APMMavlinkStreamRateSettings::_updateStreamRateRawSensors);
8 connect(streamRateExtendedStatus(), &Fact::rawValueChanged, this, &APMMavlinkStreamRateSettings::_updateStreamRateExtendedStatus);
9 connect(streamRateRCChannels(), &Fact::rawValueChanged, this, &APMMavlinkStreamRateSettings::_updateStreamRateRCChannels);
10 connect(streamRatePosition(), &Fact::rawValueChanged, this, &APMMavlinkStreamRateSettings::_updateStreamRatePosition);
11 connect(streamRateExtra1(), &Fact::rawValueChanged, this, &APMMavlinkStreamRateSettings::_updateStreamRateExtra1);
12 connect(streamRateExtra2(), &Fact::rawValueChanged, this, &APMMavlinkStreamRateSettings::_updateStreamRateExtra2);
13 connect(streamRateExtra3(), &Fact::rawValueChanged, this, &APMMavlinkStreamRateSettings::_updateStreamRateExtra3);
14}
15
23
24void APMMavlinkStreamRateSettings::_updateStreamRateWorker(MAV_DATA_STREAM mavStream, QVariant rateVar)
25{
26 Vehicle* activeVehicle = MultiVehicleManager::instance()->activeVehicle();
27
28 if (activeVehicle) {
29 int streamRate = rateVar.toInt();
30 if (streamRate >= 0) {
31 activeVehicle->requestDataStream(mavStream, static_cast<uint16_t>(streamRate));
32 }
33 }
34}
35
36void APMMavlinkStreamRateSettings::_updateStreamRateRawSensors(QVariant value)
37{
38 _updateStreamRateWorker(MAV_DATA_STREAM_RAW_SENSORS, value);
39}
40
41void APMMavlinkStreamRateSettings::_updateStreamRateExtendedStatus(QVariant value)
42{
43 _updateStreamRateWorker(MAV_DATA_STREAM_EXTENDED_STATUS, value);
44}
45
46void APMMavlinkStreamRateSettings::_updateStreamRateRCChannels(QVariant value)
47{
48 _updateStreamRateWorker(MAV_DATA_STREAM_RC_CHANNELS, value);
49}
50
51void APMMavlinkStreamRateSettings::_updateStreamRatePosition(QVariant value)
52{
53 _updateStreamRateWorker(MAV_DATA_STREAM_POSITION, value);
54}
55
56void APMMavlinkStreamRateSettings::_updateStreamRateExtra1(QVariant value)
57{
58 _updateStreamRateWorker(MAV_DATA_STREAM_EXTRA1, value);
59}
60
61void APMMavlinkStreamRateSettings::_updateStreamRateExtra2(QVariant value)
62{
63 _updateStreamRateWorker(MAV_DATA_STREAM_EXTRA2, value);
64}
65
66void APMMavlinkStreamRateSettings::_updateStreamRateExtra3(QVariant value)
67{
68 _updateStreamRateWorker(MAV_DATA_STREAM_EXTRA3, value);
69}
#define DECLARE_SETTINGSFACT(CLASS, NAME)
#define DECLARE_SETTINGGROUP(NAME, GROUP)
void rawValueChanged(const QVariant &value)
void requestDataStream(MAV_DATA_STREAM stream, uint16_t rate, bool sendMultiple=true)
Definition Vehicle.cc:1610