Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
fcdc88d7
Unverified
Commit
fcdc88d7
authored
Sep 04, 2018
by
Don Gagne
Committed by
GitHub
Sep 04, 2018
Browse files
Merge pull request #6849 from DonLakeFlyer/PlannedHomeAlt
Plan: Fix terrain NaN making it all the way to Planned Home altitude.
parents
2e36cbf2
8f695da5
Changes
3
Hide whitespace changes
Inline
Side-by-side
ChangeLog.md
View file @
fcdc88d7
...
...
@@ -6,6 +6,7 @@ Note: This file only contains high level features or important fixes.
### 3.4.3 - Not yet released
*
Fix bug where Resume Mission would not display correctly in some cases. Issue #6835.
*
Fix Planned Home Position altitude when no terrain data available. Issue #6846.
### 3.4.2
*
Fix bug where new mission items may end up with 0 altitude internally and sent to vehicle while UI shows correct altitude. Issue #6823.
...
...
src/MissionManager/MissionController.cc
View file @
fcdc88d7
...
...
@@ -1528,7 +1528,9 @@ void MissionController::_setPlannedHomePositionFromFirstCoordinate(void)
VisualMissionItem
*
item
=
_visualItems
->
value
<
VisualMissionItem
*>
(
i
);
if
(
item
->
specifiesCoordinate
())
{
_settingsItem
->
setCoordinate
(
item
->
coordinate
().
atDistanceAndAzimuth
(
30
,
0
));
QGeoCoordinate
plannedHomeCoord
=
item
->
coordinate
().
atDistanceAndAzimuth
(
30
,
0
);
plannedHomeCoord
.
setAltitude
(
0
);
_settingsItem
->
setCoordinate
(
plannedHomeCoord
);
}
}
}
...
...
src/MissionManager/MissionSettingsItem.cc
View file @
fcdc88d7
...
...
@@ -231,7 +231,7 @@ void MissionSettingsItem::setHomePositionFromVehicle(const QGeoCoordinate& coord
void
MissionSettingsItem
::
setCoordinate
(
const
QGeoCoordinate
&
coordinate
)
{
if
(
_plannedHomePositionCoordinate
!=
coordinate
)
{
// ArduPilot tends to send crap home positions at initial vehic
e
l boot, discard them
// ArduPilot tends to send crap home positions at initial vehicl
e
boot, discard them
if
(
coordinate
.
isValid
()
&&
(
coordinate
.
latitude
()
!=
0
||
coordinate
.
longitude
()
!=
0
))
{
_plannedHomePositionCoordinate
=
coordinate
;
emit
coordinateChanged
(
coordinate
);
...
...
@@ -269,7 +269,6 @@ void MissionSettingsItem::_updateAltitudeInCoordinate(QVariant value)
double
newAltitude
=
value
.
toDouble
();
if
(
!
qFuzzyCompare
(
_plannedHomePositionCoordinate
.
altitude
(),
newAltitude
))
{
_plannedHomePositionCoordinate
.
setAltitude
(
newAltitude
);
emit
coordinateChanged
(
_plannedHomePositionCoordinate
);
emit
exitCoordinateChanged
(
_plannedHomePositionCoordinate
);
...
...
@@ -295,7 +294,7 @@ void MissionSettingsItem::setMissionEndRTL(bool missionEndRTL)
void
MissionSettingsItem
::
_setHomeAltFromTerrain
(
double
terrainAltitude
)
{
if
(
!
_plannedHomePositionFromVehicle
)
{
if
(
!
_plannedHomePositionFromVehicle
&&
!
qIsNaN
(
terrainAltitude
)
)
{
_plannedHomePositionAltitudeFact
.
setRawValue
(
terrainAltitude
);
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment