Browse Source

Warn if sending MAV_FRAME_GLOBAL_TERRAIN_ALT

QGC4.4
DonLakeFlyer 7 years ago
parent
commit
3b5f8ae7f8
  1. 12
      src/MissionManager/MissionController.cc
  2. 1
      src/MissionManager/MissionController.h

12
src/MissionManager/MissionController.cc

@ -212,6 +212,17 @@ void MissionController::loadFromVehicle(void) @@ -212,6 +212,17 @@ void MissionController::loadFromVehicle(void)
}
}
void MissionController::_warnIfTerrainFrameUsed(void)
{
for (int i=1; i<_visualItems->count(); i++) {
SimpleMissionItem* simpleItem = qobject_cast<SimpleMissionItem*>(_visualItems->get(i));
if (simpleItem && simpleItem->altitudeMode() == SimpleMissionItem::AltitudeTerrainFrame) {
qgcApp()->showMessage(tr("Warning: You are using MAV_FRAME_GLOBAL_TERRAIN_ALT in a mission. %1 does not support sending terrain tiles to vehicle.").arg(qgcApp()->applicationName()));
break;
}
}
}
void MissionController::sendToVehicle(void)
{
if (_masterController->offline()) {
@ -220,6 +231,7 @@ void MissionController::sendToVehicle(void) @@ -220,6 +231,7 @@ void MissionController::sendToVehicle(void)
qCWarning(MissionControllerLog) << "MissionControllerLog::sendToVehicle called while syncInProgress";
} else {
qCDebug(MissionControllerLog) << "MissionControllerLog::sendToVehicle";
_warnIfTerrainFrameUsed();
if (_visualItems->count() == 1) {
// This prevents us from sending a possibly bogus home position to the vehicle
QmlObjectListModel emptyModel;

1
src/MissionManager/MissionController.h

@ -257,6 +257,7 @@ private: @@ -257,6 +257,7 @@ private:
void _addCommandTimeDelay(SimpleMissionItem* simpleItem, bool vtolInHover);
void _addTimeDistance(bool vtolInHover, double hoverTime, double cruiseTime, double extraTime, double distance, int seqNum);
int _insertComplexMissionItemWorker(ComplexMissionItem* complexItem, int i);
void _warnIfTerrainFrameUsed(void);
private:
MissionManager* _missionManager;

Loading…
Cancel
Save