Browse Source

use getAcceptanceRadiusRecommendation function to set default radius based on airframe. With this commit airframe based radius setting now works for + button and double click in map and also for all waypoints (also the first one)

QGC4.4
Thomas Gubler 11 years ago
parent
commit
3cf3cf3a24
  1. 18
      src/uas/UASWaypointManager.cc
  2. 10
      src/ui/WaypointList.cc

18
src/uas/UASWaypointManager.cc

@ -1063,11 +1063,23 @@ int UASWaypointManager::getFrameRecommendation() @@ -1063,11 +1063,23 @@ int UASWaypointManager::getFrameRecommendation()
float UASWaypointManager::getAcceptanceRadiusRecommendation()
{
if (waypointsEditable.count() > 0) {
if (waypointsEditable.count() > 0)
{
return waypointsEditable.last()->getAcceptanceRadius();
} else {
return 10.0f;
}
else
{
if (uas->isRotaryWing())
{
return UASInterface::WAYPOINT_RADIUS_DEFAULT_ROTARY_WING;
}
else if (uas->isFixedWing())
{
return UASInterface::WAYPOINT_RADIUS_DEFAULT_FIXED_WING;
}
}
return 10.0f;
}
float UASWaypointManager::getHomeAltitudeOffsetDefault()

10
src/ui/WaypointList.cc

@ -269,16 +269,6 @@ void WaypointList::addEditable(bool onCurrentPosition) @@ -269,16 +269,6 @@ void WaypointList::addEditable(bool onCurrentPosition)
// Create waypoint with last frame
Waypoint *last = waypoints.last();
wp = WPM->createWaypoint();
if (uas)
{
if (uas->isRotaryWing()) {
wp->setAcceptanceRadius(UASInterface::WAYPOINT_RADIUS_DEFAULT_ROTARY_WING);
}
else if (uas->isFixedWing())
{
wp->setAcceptanceRadius(UASInterface::WAYPOINT_RADIUS_DEFAULT_FIXED_WING);
}
}
// wp->blockSignals(true);
MAV_FRAME frame = (MAV_FRAME)last->getFrame();
wp->setFrame(frame);

Loading…
Cancel
Save