diff --git a/src/systemcmds/failure/failure.cpp b/src/systemcmds/failure/failure.cpp index 32fae7ba6f..527608f59d 100644 --- a/src/systemcmds/failure/failure.cpp +++ b/src/systemcmds/failure/failure.cpp @@ -118,9 +118,9 @@ failure gps off } } -int inject_failure(uint8_t unit, uint8_t type, uint8_t instance) +int inject_failure(const FailureUnit& unit, const FailureType& type, uint8_t instance) { - PX4_WARN("inject failure unit: %s (%d), type: %s (%d), instance: %d", failure_units[unit].key, unit, failure_types[type].key, type, instance); + PX4_WARN("inject failure unit: %s (%d), type: %s (%d), instance: %d", unit.key, unit.value, type.key, type.value, instance); uORB::Subscription command_ack_sub{ORB_ID(vehicle_command_ack)}; @@ -128,8 +128,8 @@ int inject_failure(uint8_t unit, uint8_t type, uint8_t instance) vehicle_command_s command{}; command.command = vehicle_command_s::VEHICLE_CMD_INJECT_FAILURE; - command.param1 = static_cast(unit); - command.param2 = static_cast(type); + command.param1 = static_cast(unit.value); + command.param2 = static_cast(type.value); command.param3 = static_cast(instance); command.timestamp = hrt_absolute_time(); command_pub.publish(command); @@ -214,7 +214,7 @@ extern "C" __EXPORT int failure_main(int argc, char *argv[]) continue; } - return inject_failure(failure_unit.value, failure_type.value, instance); + return inject_failure(failure_unit, failure_type, instance); } PX4_ERR("Failure type '%s' not found", requested_failure_type);