diff --git a/src/FactSystem/ParameterLoader.cc b/src/FactSystem/ParameterLoader.cc
index d0435103d35c5b1195235b0c48938a279960f36b..f6541baf8899bbe150db226e820623112d79ae1c 100644
--- a/src/FactSystem/ParameterLoader.cc
+++ b/src/FactSystem/ParameterLoader.cc
@@ -953,35 +953,6 @@ void ParameterLoader::_checkInitialLoadComplete(bool failIfNoDefaultComponent)
// We aren't waiting for any more initial parameter updates, initial parameter loading is complete
_initialLoadComplete = true;
- // Check for any errors during vehicle boot
-
- UASMessageHandler* msgHandler = qgcApp()->toolbox()->uasMessageHandler();
- if (msgHandler->getErrorCountTotal()) {
- QString errors;
- bool firstError = true;
- bool errorsFound = false;
-
- msgHandler->lockAccess();
- foreach (UASMessage* msg, msgHandler->messages()) {
- if (msg->severityIsError()) {
- if (!firstError) {
- errors += "
";
- }
- errors += " - ";
- errors += msg->getText();
- firstError = false;
- errorsFound = true;
- }
- }
- msgHandler->showErrorsInToolbar();
- msgHandler->unlockAccess();
-
- if (errorsFound) {
- QString errorMsg = QString("Critical safety issue detected:
%1").arg(errors);
- qgcApp()->showMessage(errorMsg);
- }
- }
-
// Check for index based load failures
QString indexList;
bool initialLoadFailures = false;
diff --git a/src/FirmwarePlugin/FirmwarePlugin.cc b/src/FirmwarePlugin/FirmwarePlugin.cc
index d43a0306530c6054e4afa19b911e8ff9260ca16a..b288a52c57d0f37f18d3fc1af53a5a7f4fcdb9ae 100644
--- a/src/FirmwarePlugin/FirmwarePlugin.cc
+++ b/src/FirmwarePlugin/FirmwarePlugin.cc
@@ -1,24 +1,24 @@
/*=====================================================================
-
+
QGroundControl Open Source Ground Control Station
-
+
(c) 2009 - 2015 QGROUNDCONTROL PROJECT
-
+
This file is part of the QGROUNDCONTROL project
-
+
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see .
-
+
======================================================================*/
#include "FirmwarePlugin.h"
@@ -26,6 +26,8 @@
#include
+const char* guided_mode_not_supported_by_vehicle = "Guided mode not supported by Vehicle.";
+
bool FirmwarePlugin::isCapable(FirmwareCapabilities capabilities)
{
Q_UNUSED(capabilities);
@@ -35,14 +37,14 @@ bool FirmwarePlugin::isCapable(FirmwareCapabilities capabilities)
QList FirmwarePlugin::componentsForVehicle(AutoPilotPlugin* vehicle)
{
Q_UNUSED(vehicle);
-
+
return QList();
}
QString FirmwarePlugin::flightMode(uint8_t base_mode, uint32_t custom_mode) const
{
QString flightMode;
-
+
struct Bit2Name {
uint8_t baseModeBit;
const char* name;
@@ -54,9 +56,9 @@ QString FirmwarePlugin::flightMode(uint8_t base_mode, uint32_t custom_mode) cons
{ MAV_MODE_FLAG_AUTO_ENABLED, "Auto" },
{ MAV_MODE_FLAG_TEST_ENABLED, "Test" },
};
-
+
Q_UNUSED(custom_mode);
-
+
if (base_mode == 0) {
flightMode = "PreFlight";
} else if (base_mode & MAV_MODE_FLAG_CUSTOM_MODE_ENABLED) {
@@ -71,7 +73,7 @@ QString FirmwarePlugin::flightMode(uint8_t base_mode, uint32_t custom_mode) cons
}
}
}
-
+
return flightMode;
}
@@ -80,9 +82,9 @@ bool FirmwarePlugin::setFlightMode(const QString& flightMode, uint8_t* base_mode
Q_UNUSED(flightMode);
Q_UNUSED(base_mode);
Q_UNUSED(custom_mode);
-
+
qWarning() << "FirmwarePlugin::setFlightMode called on base class, not supported";
-
+
return false;
}
@@ -96,7 +98,7 @@ int FirmwarePlugin::manualControlReservedButtonCount(void)
bool FirmwarePlugin::adjustIncomingMavlinkMessage(Vehicle* vehicle, mavlink_message_t* message)
{
Q_UNUSED(vehicle);
- Q_UNUSED(message);
+ Q_UNUSED(message);
// Generic plugin does no message adjustment
return true;
}
@@ -111,7 +113,7 @@ void FirmwarePlugin::adjustOutgoingMavlinkMessage(Vehicle* vehicle, mavlink_mess
void FirmwarePlugin::initializeVehicle(Vehicle* vehicle)
{
Q_UNUSED(vehicle);
-
+
// Generic Flight Stack is by definition "generic", so no extra work
}
@@ -155,7 +157,7 @@ void FirmwarePlugin::setGuidedMode(Vehicle* vehicle, bool guidedMode)
{
Q_UNUSED(vehicle);
Q_UNUSED(guidedMode);
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by Vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
}
bool FirmwarePlugin::isPaused(const Vehicle* vehicle) const
@@ -169,21 +171,21 @@ void FirmwarePlugin::pauseVehicle(Vehicle* vehicle)
{
// Not supported by generic vehicle
Q_UNUSED(vehicle);
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by Vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
}
void FirmwarePlugin::guidedModeRTL(Vehicle* vehicle)
{
// Not supported by generic vehicle
Q_UNUSED(vehicle);
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by Vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
}
void FirmwarePlugin::guidedModeLand(Vehicle* vehicle)
{
// Not supported by generic vehicle
Q_UNUSED(vehicle);
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by Vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
}
void FirmwarePlugin::guidedModeTakeoff(Vehicle* vehicle, double altitudeRel)
@@ -191,7 +193,7 @@ void FirmwarePlugin::guidedModeTakeoff(Vehicle* vehicle, double altitudeRel)
// Not supported by generic vehicle
Q_UNUSED(vehicle);
Q_UNUSED(altitudeRel);
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by Vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
}
void FirmwarePlugin::guidedModeGotoLocation(Vehicle* vehicle, const QGeoCoordinate& gotoCoord)
@@ -199,7 +201,7 @@ void FirmwarePlugin::guidedModeGotoLocation(Vehicle* vehicle, const QGeoCoordina
// Not supported by generic vehicle
Q_UNUSED(vehicle);
Q_UNUSED(gotoCoord);
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by Vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
}
void FirmwarePlugin::guidedModeChangeAltitude(Vehicle* vehicle, double altitudeRel)
@@ -207,7 +209,7 @@ void FirmwarePlugin::guidedModeChangeAltitude(Vehicle* vehicle, double altitudeR
// Not supported by generic vehicle
Q_UNUSED(vehicle);
Q_UNUSED(altitudeRel);
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by Vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
}
const FirmwarePlugin::remapParamNameMajorVersionMap_t& FirmwarePlugin::paramNameRemapMajorVersionMap(void) const
diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc
index 594a80ee7d99c1bd23691eb0d1caea77129fdc69..0c062ae11dbd61a1639172a05fca22327e7612c4 100644
--- a/src/Vehicle/Vehicle.cc
+++ b/src/Vehicle/Vehicle.cc
@@ -43,6 +43,8 @@ QGC_LOGGING_CATEGORY(VehicleLog, "VehicleLog")
#define DEFAULT_LAT 38.965767f
#define DEFAULT_LON -120.083923f
+extern const char* guided_mode_not_supported_by_vehicle;
+
const char* Vehicle::_settingsGroup = "Vehicle%1"; // %1 replaced with mavlink system id
const char* Vehicle::_joystickModeSettingsKey = "JoystickMode";
const char* Vehicle::_joystickEnabledSettingsKey = "JoystickEnabled";
@@ -1465,7 +1467,7 @@ bool Vehicle::pauseVehicleSupported(void) const
void Vehicle::guidedModeRTL(void)
{
if (!guidedModeSupported()) {
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
return;
}
_firmwarePlugin->guidedModeRTL(this);
@@ -1474,7 +1476,7 @@ void Vehicle::guidedModeRTL(void)
void Vehicle::guidedModeLand(void)
{
if (!guidedModeSupported()) {
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
return;
}
_firmwarePlugin->guidedModeLand(this);
@@ -1483,7 +1485,7 @@ void Vehicle::guidedModeLand(void)
void Vehicle::guidedModeTakeoff(double altitudeRel)
{
if (!guidedModeSupported()) {
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
return;
}
setGuidedMode(true);
@@ -1493,7 +1495,7 @@ void Vehicle::guidedModeTakeoff(double altitudeRel)
void Vehicle::guidedModeGotoLocation(const QGeoCoordinate& gotoCoord)
{
if (!guidedModeSupported()) {
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
return;
}
_firmwarePlugin->guidedModeGotoLocation(this, gotoCoord);
@@ -1502,7 +1504,7 @@ void Vehicle::guidedModeGotoLocation(const QGeoCoordinate& gotoCoord)
void Vehicle::guidedModeChangeAltitude(double altitudeRel)
{
if (!guidedModeSupported()) {
- qgcApp()->showMessage(QStringLiteral("Guided mode not supported by vehicle."));
+ qgcApp()->showMessage(guided_mode_not_supported_by_vehicle);
return;
}
_firmwarePlugin->guidedModeChangeAltitude(this, altitudeRel);
diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc
index 08add8ae212c1dfe950ac1d649d81ef6b7f6c20c..30fd4398d63750a2aa3444b61c972e90690ab1e7 100644
--- a/src/ui/MainWindow.cc
+++ b/src/ui/MainWindow.cc
@@ -278,6 +278,11 @@ MainWindow::MainWindow()
#ifndef __mobile__
_loadVisibleWidgetsSettings();
#endif
+ //-- Enable message handler display of messages in main window
+ UASMessageHandler* msgHandler = qgcApp()->toolbox()->uasMessageHandler();
+ if(msgHandler) {
+ msgHandler->showErrorsInToolbar();
+ }
}
MainWindow::~MainWindow()