diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index 700a130012..3d8aa5df6c 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -1144,6 +1144,10 @@ Commander::handle_command_motor_test(const vehicle_command_s &cmd) return vehicle_command_s::VEHICLE_CMD_RESULT_DENIED; } + if (_param_com_mot_test_en.get() != 1) { + return vehicle_command_s::VEHICLE_CMD_RESULT_DENIED; + } + test_motor_s test_motor{}; test_motor.timestamp = hrt_absolute_time(); test_motor.motor_number = (int)(cmd.param1 + 0.5f) - 1; diff --git a/src/modules/commander/Commander.hpp b/src/modules/commander/Commander.hpp index 8d780c19fb..a32ac7df6e 100644 --- a/src/modules/commander/Commander.hpp +++ b/src/modules/commander/Commander.hpp @@ -147,6 +147,7 @@ private: (ParamInt) _param_com_obl_rc_act, (ParamInt) _param_com_prearm_mode, + (ParamInt) _param_com_mot_test_en, (ParamInt) _param_cbrk_supply_chk, (ParamInt) _param_cbrk_usb_chk, diff --git a/src/modules/commander/commander_params.c b/src/modules/commander/commander_params.c index 4f884f4edc..1a4fa19c18 100644 --- a/src/modules/commander/commander_params.c +++ b/src/modules/commander/commander_params.c @@ -967,3 +967,14 @@ PARAM_DEFINE_INT32(COM_ARM_CHK_ESCS, 1); * @group Commander */ PARAM_DEFINE_INT32(COM_PREARM_MODE, 1); + +/** + * Enable Motor Testing + * + * If set, enables the motor test interface via MAVLink (DO_MOTOR_TEST), that + * allows spinning the motors for testing purposes. + * + * @boolean + * @group Commander + */ +PARAM_DEFINE_INT32(COM_MOT_TEST_EN, 1);