Browse Source

Rover: fix auto mode distance_to_destination

master
Randy Mackay 7 years ago
parent
commit
4958298a75
  1. 2
      APMrover2/mode.h
  2. 9
      APMrover2/mode_auto.cpp

2
APMrover2/mode.h

@ -194,7 +194,7 @@ public: @@ -194,7 +194,7 @@ public:
bool is_autopilot_mode() const override { return true; }
// return distance (in meters) to destination
float get_distance_to_destination() const override { return _distance_to_destination; }
float get_distance_to_destination() const override;
// set desired location, heading and speed
void set_desired_location(const struct Location& destination, float next_leg_bearing_cd = MODE_NEXT_HEADING_UNKNOWN);

9
APMrover2/mode_auto.cpp

@ -87,6 +87,15 @@ void ModeAuto::update() @@ -87,6 +87,15 @@ void ModeAuto::update()
}
}
// return distance (in meters) to destination
float ModeAuto::get_distance_to_destination() const
{
if (_submode == Auto_RTL) {
return _mode_rtl.get_distance_to_destination();
}
return _distance_to_destination;
}
// set desired location to drive to
void ModeAuto::set_desired_location(const struct Location& destination, float next_leg_bearing_cd)
{

Loading…
Cancel
Save