mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-27 00:48:23 +08:00
mavsdk_tests: add multicopter alt hold test (#24396)
* mavsdk_tests: add multicopter alt hold test * fix test filter * increase altitude tolerance to 10m as a test * reduce to 1m tolerance * increase to 5m tolerance * increase to 2m tolerance * reduce back to 1m * delay 60 seconds * fix log upload * fix ulog upload path * make altitude tolerance in tester.wait_until_altitude configurable * fix lambda * default arg in declaration * tighten up tolerance
This commit is contained in:
@@ -210,13 +210,13 @@ void AutopilotTester::wait_until_hovering()
|
||||
wait_for_landed_state(Telemetry::LandedState::InAir, std::chrono::seconds(45));
|
||||
}
|
||||
|
||||
void AutopilotTester::wait_until_altitude(float rel_altitude_m, std::chrono::seconds timeout)
|
||||
void AutopilotTester::wait_until_altitude(float rel_altitude_m, std::chrono::seconds timeout, float delta)
|
||||
{
|
||||
auto prom = std::promise<void> {};
|
||||
auto fut = prom.get_future();
|
||||
|
||||
_telemetry->subscribe_position([&prom, rel_altitude_m, this](Telemetry::Position new_position) {
|
||||
if (fabs(rel_altitude_m - new_position.relative_altitude_m) <= 0.5) {
|
||||
_telemetry->subscribe_position([&prom, rel_altitude_m, delta, this](Telemetry::Position new_position) {
|
||||
if (fabs(rel_altitude_m - new_position.relative_altitude_m) <= delta) {
|
||||
_telemetry->subscribe_position(nullptr);
|
||||
prom.set_value();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user