|
|
@ -231,7 +231,7 @@ void MissionSettingsItem::setHomePositionFromVehicle(const QGeoCoordinate& coord |
|
|
|
void MissionSettingsItem::setCoordinate(const QGeoCoordinate& coordinate) |
|
|
|
void MissionSettingsItem::setCoordinate(const QGeoCoordinate& coordinate) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (_plannedHomePositionCoordinate != coordinate) { |
|
|
|
if (_plannedHomePositionCoordinate != coordinate) { |
|
|
|
// ArduPilot tends to send crap home positions at initial vehicel boot, discard them
|
|
|
|
// ArduPilot tends to send crap home positions at initial vehicle boot, discard them
|
|
|
|
if (coordinate.isValid() && (coordinate.latitude() != 0 || coordinate.longitude() != 0)) { |
|
|
|
if (coordinate.isValid() && (coordinate.latitude() != 0 || coordinate.longitude() != 0)) { |
|
|
|
_plannedHomePositionCoordinate = coordinate; |
|
|
|
_plannedHomePositionCoordinate = coordinate; |
|
|
|
emit coordinateChanged(coordinate); |
|
|
|
emit coordinateChanged(coordinate); |
|
|
@ -269,7 +269,6 @@ void MissionSettingsItem::_updateAltitudeInCoordinate(QVariant value) |
|
|
|
double newAltitude = value.toDouble(); |
|
|
|
double newAltitude = value.toDouble(); |
|
|
|
|
|
|
|
|
|
|
|
if (!qFuzzyCompare(_plannedHomePositionCoordinate.altitude(), newAltitude)) { |
|
|
|
if (!qFuzzyCompare(_plannedHomePositionCoordinate.altitude(), newAltitude)) { |
|
|
|
|
|
|
|
|
|
|
|
_plannedHomePositionCoordinate.setAltitude(newAltitude); |
|
|
|
_plannedHomePositionCoordinate.setAltitude(newAltitude); |
|
|
|
emit coordinateChanged(_plannedHomePositionCoordinate); |
|
|
|
emit coordinateChanged(_plannedHomePositionCoordinate); |
|
|
|
emit exitCoordinateChanged(_plannedHomePositionCoordinate); |
|
|
|
emit exitCoordinateChanged(_plannedHomePositionCoordinate); |
|
|
@ -295,7 +294,7 @@ void MissionSettingsItem::setMissionEndRTL(bool missionEndRTL) |
|
|
|
|
|
|
|
|
|
|
|
void MissionSettingsItem::_setHomeAltFromTerrain(double terrainAltitude) |
|
|
|
void MissionSettingsItem::_setHomeAltFromTerrain(double terrainAltitude) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (!_plannedHomePositionFromVehicle) { |
|
|
|
if (!_plannedHomePositionFromVehicle && !qIsNaN(terrainAltitude)) { |
|
|
|
_plannedHomePositionAltitudeFact.setRawValue(terrainAltitude); |
|
|
|
_plannedHomePositionAltitudeFact.setRawValue(terrainAltitude); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|