mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-03 20:10:36 +08:00
mavsdk_tests: add manual RTL after mission
This commit is contained in:
@@ -127,4 +127,9 @@ std::shared_ptr<MissionItem> AutopilotTester::_create_mission_item(
|
||||
mission_item->set_position(pos_north.latitude_deg, pos_north.longitude_deg);
|
||||
mission_item->set_relative_altitude(mission_options.relative_altitude_m);
|
||||
return mission_item;
|
||||
}
|
||||
|
||||
void AutopilotTester::execute_rtl()
|
||||
{
|
||||
REQUIRE(Action::Result::SUCCESS == _action->return_to_launch());
|
||||
}
|
||||
@@ -30,6 +30,7 @@ public:
|
||||
void wait_until_hovering();
|
||||
void prepare_square_mission(MissionOptions mission_options);
|
||||
void execute_mission();
|
||||
void execute_rtl();
|
||||
|
||||
private:
|
||||
mavsdk::geometry::CoordinateTransformation _get_coordinate_transformation();
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "autopilot_tester.h"
|
||||
|
||||
|
||||
TEST_CASE("We can takeoff and land", "[multicopter]")
|
||||
TEST_CASE("Takeoff and land", "[multicopter]")
|
||||
{
|
||||
AutopilotTester tester;
|
||||
tester.connect(connection_url);
|
||||
@@ -23,17 +23,29 @@ TEST_CASE("We can takeoff and land", "[multicopter]")
|
||||
tester.wait_until_disarmed();
|
||||
}
|
||||
|
||||
TEST_CASE("We can fly a square mission and do RTL", "[multicopter]")
|
||||
TEST_CASE("Fly a square missions", "[multicopter]")
|
||||
{
|
||||
AutopilotTester tester;
|
||||
tester.connect(connection_url);
|
||||
tester.wait_until_ready();
|
||||
|
||||
AutopilotTester::MissionOptions mission_options;
|
||||
mission_options.rtl_at_end = true;
|
||||
tester.prepare_square_mission(mission_options);
|
||||
SECTION("Mission including RTL") {
|
||||
AutopilotTester::MissionOptions mission_options;
|
||||
mission_options.rtl_at_end = true;
|
||||
tester.prepare_square_mission(mission_options);
|
||||
tester.arm();
|
||||
tester.execute_mission();
|
||||
tester.wait_until_disarmed();
|
||||
}
|
||||
|
||||
tester.arm();
|
||||
tester.execute_mission();
|
||||
tester.wait_until_disarmed();
|
||||
SECTION("Mission with manual RTL") {
|
||||
AutopilotTester::MissionOptions mission_options;
|
||||
mission_options.rtl_at_end = false;
|
||||
tester.prepare_square_mission(mission_options);
|
||||
tester.arm();
|
||||
tester.execute_mission();
|
||||
tester.wait_until_hovering();
|
||||
tester.execute_rtl();
|
||||
tester.wait_until_disarmed();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user