diff --git a/src/FactSystem/FactSystemTest.qml b/src/FactSystem/FactSystemTest.qml index c7c696d92424c45efd97fe49b3836e7c9c2e43a4..4789f8ac5b9bcef2da8b1c23b4c6368445c49a62 100644 --- a/src/FactSystem/FactSystemTest.qml +++ b/src/FactSystem/FactSystemTest.qml @@ -32,7 +32,7 @@ FactPanel { TextInput { text: fact2.value - property Fact fact2: controller.getParameterFact(200, "RC_MAP_THROTTLE") + property Fact fact2: controller.getParameterFact(1, "RC_MAP_THROTTLE") onAccepted: fact2.value = text } diff --git a/src/FactSystem/FactSystemTestBase.cc b/src/FactSystem/FactSystemTestBase.cc index 35f920229c75525a020779519bf4127f9e11b170..3d40de4f71e20e3ccd7189a570249473d7682a8a 100644 --- a/src/FactSystem/FactSystemTestBase.cc +++ b/src/FactSystem/FactSystemTestBase.cc @@ -58,8 +58,8 @@ void FactSystemTestBase::_parameter_default_component_id_test(void) void FactSystemTestBase::_parameter_specific_component_id_test(void) { - QVERIFY(_vehicle->parameterManager()->parameterExists(200, "RC_MAP_THROTTLE")); - Fact* fact = _vehicle->parameterManager()->getParameter(200, "RC_MAP_THROTTLE"); + QVERIFY(_vehicle->parameterManager()->parameterExists(MAV_COMP_ID_AUTOPILOT1, "RC_MAP_THROTTLE")); + Fact* fact = _vehicle->parameterManager()->getParameter(MAV_COMP_ID_AUTOPILOT1, "RC_MAP_THROTTLE"); QVERIFY(fact != NULL); QVariant factValue = fact->rawValue(); QCOMPARE(factValue.isValid(), true); diff --git a/src/Vehicle/MultiVehicleManager.cc b/src/Vehicle/MultiVehicleManager.cc index 5b1db7c17c60aa643b40aa47f4d011e1e5f73676..69dd5f3352b1316354a1749470452fd4db7cec93 100644 --- a/src/Vehicle/MultiVehicleManager.cc +++ b/src/Vehicle/MultiVehicleManager.cc @@ -74,6 +74,20 @@ void MultiVehicleManager::setToolbox(QGCToolbox *toolbox) void MultiVehicleManager::_vehicleHeartbeatInfo(LinkInterface* link, int vehicleId, int componentId, int vehicleMavlinkVersion, int vehicleFirmwareType, int vehicleType) { + if (componentId != MAV_COMP_ID_AUTOPILOT1) { + // Don't create vehicles for components other than the autopilot + if (!getVehicleById(vehicleId)) { + qCDebug(MultiVehicleManagerLog()) << "Ignoring heartbeat from unknown component " + << link->getName() + << vehicleId + << componentId + << vehicleMavlinkVersion + << vehicleFirmwareType + << vehicleType; + } + return; + } + if (_vehicles.count() > 0 && !qgcApp()->toolbox()->corePlugin()->options()->multiVehicleEnabled()) { return; } diff --git a/src/comm/MockLink.cc b/src/comm/MockLink.cc index 0291c6ee7a0af00df3c45499bd79e307dca56fa7..146b048e000984779f81d44d45ebc648b0928983 100644 --- a/src/comm/MockLink.cc +++ b/src/comm/MockLink.cc @@ -51,7 +51,7 @@ MockLink::MockLink(SharedLinkConfigurationPointer& config) , _connected(false) , _mavlinkChannel(0) , _vehicleSystemId(_nextVehicleSystemId++) - , _vehicleComponentId(200) + , _vehicleComponentId(MAV_COMP_ID_AUTOPILOT1) , _inNSH(false) , _mavlinkStarted(true) , _mavBaseMode(MAV_MODE_FLAG_MANUAL_INPUT_ENABLED | MAV_MODE_FLAG_CUSTOM_MODE_ENABLED)