mavsdk_tests: ensure motor is stopped for motor failure test

This commit is contained in:
Beat Küng
2022-05-12 07:58:56 +02:00
parent b5a3c58a95
commit 0a9378e0f6
3 changed files with 27 additions and 0 deletions
@@ -78,3 +78,23 @@ void AutopilotTesterFailure::inject_failure(mavsdk::Failure::FailureUnit failure
{
CHECK(_failure->inject(failure_unit, failure_type, instance) == expected_result);
}
void AutopilotTesterFailure::enable_actuator_output_status()
{
CHECK(getTelemetry()->set_rate_actuator_output_status(20.f) == Telemetry::Result::Success);
}
void AutopilotTesterFailure::ensure_motor_stopped(unsigned index, unsigned num_motors)
{
const Telemetry::ActuatorOutputStatus &status = getTelemetry()->actuator_output_status();
CHECK(status.active >= num_motors);
for (unsigned i = 0; i < num_motors; ++i) {
if (i == index) {
CHECK(status.actuator[i] <= 901.f);
} else { // ensure all others are still running
CHECK(status.actuator[i] >= 999.f);
}
}
}