Browse Source

Merge pull request #1727 from DonLakeFlyer/APMWarning

Warn if using generic flight stack
QGC4.4
Don Gagne 10 years ago
parent
commit
210f003849
  1. 4
      src/AutoPilotPlugins/AutoPilotPluginManager.cc
  2. 10
      src/FactSystem/FactSystemTestBase.cc
  3. 9
      src/qgcunittest/MainWindowTest.cc

4
src/AutoPilotPlugins/AutoPilotPluginManager.cc

@ -28,6 +28,7 @@ @@ -28,6 +28,7 @@
#include "PX4/PX4AutoPilotPlugin.h"
#include "Generic/GenericAutoPilotPlugin.h"
#include "QGCApplication.h"
#include "QGCMessageBox.h"
#include "UASManager.h"
IMPLEMENT_QGC_SINGLETON(AutoPilotPluginManager, AutoPilotPluginManager)
@ -81,6 +82,9 @@ void AutoPilotPluginManager::_uasCreated(UASInterface* uas) @@ -81,6 +82,9 @@ void AutoPilotPluginManager::_uasCreated(UASInterface* uas)
plugin = new GenericAutoPilotPlugin(uas, this);
Q_CHECK_PTR(plugin);
_pluginMap[MAV_AUTOPILOT_GENERIC][uasId] = QSharedPointer<AutoPilotPlugin>(plugin);
QGCMessageBox::warning("Partial Support AutoPilot",
"Warning: You have connected QGroundControl to a firmware flight stack which is only partially supported. "
"If you are using the APM Flight Stack it is currently recommended to use Mission Planner, APM Planner or Tower as your ground control station.");
}
}

10
src/FactSystem/FactSystemTestBase.cc

@ -30,6 +30,7 @@ @@ -30,6 +30,7 @@
#include "AutoPilotPluginManager.h"
#include "UASManager.h"
#include "QGCApplication.h"
#include "QGCMessageBox.h"
#include "QGCQuickWidget.h"
#include <QQuickItem>
@ -49,6 +50,11 @@ void FactSystemTestBase::_init(MAV_AUTOPILOT autopilot) @@ -49,6 +50,11 @@ void FactSystemTestBase::_init(MAV_AUTOPILOT autopilot)
MockLink* link = new MockLink();
link->setAutopilotType(autopilot);
_linkMgr->_addLink(link);
if (autopilot == MAV_AUTOPILOT_ARDUPILOTMEGA) {
// Connect will pop a warning dialog
setExpectedMessageBox(QGCMessageBox::Ok);
}
_linkMgr->connectLink(link);
// Wait for the uas to work it's way through the various threads
@ -56,6 +62,10 @@ void FactSystemTestBase::_init(MAV_AUTOPILOT autopilot) @@ -56,6 +62,10 @@ void FactSystemTestBase::_init(MAV_AUTOPILOT autopilot)
QSignalSpy spyUas(UASManager::instance(), SIGNAL(activeUASSet(UASInterface*)));
QCOMPARE(spyUas.wait(5000), true);
if (autopilot == MAV_AUTOPILOT_ARDUPILOTMEGA) {
checkExpectedMessageBox();
}
_uas = UASManager::instance()->getActiveUAS();
Q_ASSERT(_uas);

9
src/qgcunittest/MainWindowTest.cc

@ -67,6 +67,11 @@ void MainWindowTest::_connectWindowClose_test(MAV_AUTOPILOT autopilot) @@ -67,6 +67,11 @@ void MainWindowTest::_connectWindowClose_test(MAV_AUTOPILOT autopilot)
Q_CHECK_PTR(link);
link->setAutopilotType(autopilot);
LinkManager::instance()->_addLink(link);
if (autopilot == MAV_AUTOPILOT_ARDUPILOTMEGA) {
// Connect will pop a warning dialog
setExpectedMessageBox(QGCMessageBox::Ok);
}
linkMgr->connectLink(link);
// Wait for the uas to work it's way through the various threads
@ -74,6 +79,10 @@ void MainWindowTest::_connectWindowClose_test(MAV_AUTOPILOT autopilot) @@ -74,6 +79,10 @@ void MainWindowTest::_connectWindowClose_test(MAV_AUTOPILOT autopilot)
QSignalSpy spyUas(UASManager::instance(), SIGNAL(activeUASSet(UASInterface*)));
QCOMPARE(spyUas.wait(5000), true);
if (autopilot == MAV_AUTOPILOT_ARDUPILOTMEGA) {
checkExpectedMessageBox();
}
// Cycle through all the top level views
_mainToolBar->onSetupView();

Loading…
Cancel
Save