diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index 9444e89..f17b298 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -55,6 +55,7 @@ #include "MockLink.h" #endif #include "Autotune.h" +#include "RemoteIDManager.h" #if defined(QGC_AIRMAP_ENABLED) #include "AirspaceVehicleManager.h" @@ -405,6 +406,9 @@ void Vehicle::_commonInit() connect(_rallyPointManager, &RallyPointManager::error, this, &Vehicle::_rallyPointManagerError); connect(_rallyPointManager, &RallyPointManager::loadComplete, this, &Vehicle::_firstRallyPointLoadComplete); + // Remote ID manager might want to acces parameters so make sure to create it after + _remoteIDManager = new RemoteIDManager(this); + // Flight modes can differ based on advanced mode connect(_toolbox->corePlugin(), &QGCCorePlugin::showAdvancedUIChanged, this, &Vehicle::flightModesChanged); @@ -657,6 +661,7 @@ void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t mes _ftpManager->_mavlinkMessageReceived(message); _parameterManager->mavlinkMessageReceived(message); _imageProtocolManager->mavlinkMessageReceived(message); + _remoteIDManager->mavlinkMessageReceived(message); _waitForMavlinkMessageMessageReceived(message); diff --git a/src/Vehicle/Vehicle.h b/src/Vehicle/Vehicle.h index 33d0358..7a94464 100644 --- a/src/Vehicle/Vehicle.h +++ b/src/Vehicle/Vehicle.h @@ -73,6 +73,7 @@ class LinkInterface; class LinkManager; class InitialConnectStateMachine; class Autotune; +class RemoteIDManager; #if defined(QGC_AIRMAP_ENABLED) class AirspaceVehicleManager; @@ -279,6 +280,7 @@ public: Q_PROPERTY(VehicleLinkManager* vehicleLinkManager READ vehicleLinkManager CONSTANT) Q_PROPERTY(VehicleObjectAvoidance* objectAvoidance READ objectAvoidance CONSTANT) Q_PROPERTY(Autotune* autotune READ autotune CONSTANT) + Q_PROPERTY(RemoteIDManager* remoteIDManager READ remoteIDManager CONSTANT) // FactGroup object model properties @@ -708,6 +710,7 @@ public: ComponentInformationManager* compInfoManager () { return _componentInformationManager; } VehicleObjectAvoidance* objectAvoidance () { return _objectAvoidance; } Autotune* autotune () const { return _autotune; } + RemoteIDManager* remoteIDManager () { return _remoteIDManager; } static const int cMaxRcChannels = 18; @@ -1383,6 +1386,7 @@ private: ImageProtocolManager* _imageProtocolManager = nullptr; InitialConnectStateMachine* _initialConnectStateMachine = nullptr; Actuators* _actuators = nullptr; + RemoteIDManager* _remoteIDManager = nullptr; static const char* _rollFactName; static const char* _pitchFactName;