Unverified Commit c8ed0ab3 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #6024 from DonLakeFlyer/GimbalFix

Fly view: Gimbal angles show on wrong items
parents c94a663c 15669c39
......@@ -189,9 +189,7 @@ void MissionController::_newMissionItemsAvailableFromVehicle(bool removeAllReque
_addMissionSettings(_visualItems, _editMode && _visualItems->count() > 0 /* addToCenter */);
}
if (_editMode) {
MissionController::_scanForAdditionalSettings(_visualItems, _controllerVehicle);
}
_initAllVisualItems();
_updateContainsItems();
......@@ -1218,6 +1216,8 @@ void MissionController::_recalcMissionFlightStatus()
}
}
qDebug() << "Gimbal calc";
for (int i=0; i<_visualItems->count(); i++) {
VisualMissionItem* item = qobject_cast<VisualMissionItem*>(_visualItems->get(i));
SimpleMissionItem* simpleItem = qobject_cast<SimpleMissionItem*>(item);
......@@ -1247,6 +1247,7 @@ void MissionController::_recalcMissionFlightStatus()
// Look for gimbal change
double gimbalYaw = item->specifiedGimbalYaw();
if (!qIsNaN(gimbalYaw)) {
qDebug() << _editMode << gimbalYaw;
_missionFlightStatus.gimbalYaw = gimbalYaw;
}
double gimbalPitch = item->specifiedGimbalPitch();
......@@ -1352,6 +1353,7 @@ void MissionController::_recalcMissionFlightStatus()
_addTimeDistance(vtolInHover, hoverTime, cruiseTime, extraTime, distance, item->sequenceNumber());
}
qDebug() << "setMissionFlightStatus" << item->sequenceNumber() << _missionFlightStatus.gimbalYaw << item->commandName();
item->setMissionFlightStatus(_missionFlightStatus);
}
......@@ -1783,8 +1785,10 @@ void MissionController::setDirty(bool dirty)
void MissionController::_scanForAdditionalSettings(QmlObjectListModel* visualItems, Vehicle* vehicle)
{
if (_editMode) {
// First we look for a Fixed Wing Landing Pattern which is at the end
FixedWingLandingComplexItem::scanForItem(visualItems, vehicle);
}
int scanIndex = 0;
while (scanIndex < visualItems->count()) {
......@@ -1792,12 +1796,14 @@ void MissionController::_scanForAdditionalSettings(QmlObjectListModel* visualIte
qCDebug(MissionControllerLog) << "MissionController::_scanForAdditionalSettings count:scanIndex" << visualItems->count() << scanIndex;
if (_editMode) {
MissionSettingsItem* settingsItem = qobject_cast<MissionSettingsItem*>(visualItem);
if (settingsItem) {
scanIndex++;
settingsItem->scanForMissionSettings(visualItems, scanIndex);
continue;
}
}
SimpleMissionItem* simpleItem = qobject_cast<SimpleMissionItem*>(visualItem);
if (simpleItem) {
......
......@@ -227,7 +227,7 @@ private:
bool _loadJsonMissionFileV2(const QJsonObject& json, QmlObjectListModel* visualItems, QString& errorString);
bool _loadTextMissionFile(QTextStream& stream, QmlObjectListModel* visualItems, QString& errorString);
int _nextSequenceNumber(void);
static void _scanForAdditionalSettings(QmlObjectListModel* visualItems, Vehicle* vehicle);
void _scanForAdditionalSettings(QmlObjectListModel* visualItems, Vehicle* vehicle);
static bool _convertToMissionItems(QmlObjectListModel* visualMissionItems, QList<MissionItem*>& rgMissionItems, QObject* missionItemParent);
void _setPlannedHomePositionFromFirstCoordinate(void);
void _resetMissionFlightStatus(void);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment