fix(commander): allow RC calibration in SIH mode (#28821)

This commit is contained in:
Claudio Chies
2026-09-23 17:39:03 +02:00
committed by GitHub
parent c2526065e4
commit 2521e78a7f
+7 -4
View File
@@ -1436,12 +1436,15 @@ Commander::handle_command(const vehicle_command_s &cmd)
// reject if armed or shutting down
answer_command(cmd, vehicle_command_ack_s::VEHICLE_CMD_RESULT_TEMPORARILY_REJECTED);
} else if (_vehicle_status.hil_state == vehicle_status_s::HIL_STATE_ON) {
// reject calibration in SIH mode — simulated sensors cannot be calibrated
} else if (_vehicle_status.hil_state == vehicle_status_s::HIL_STATE_ON
&& ((int)(cmd.param1) != 0 || (int)(cmd.param2) != 0 || (int)(cmd.param3) != 0
|| (int)(cmd.param5) != 0 || (int)(cmd.param6) != 0 || (int)(cmd.param7) != 0)) {
// reject sensor calibration in SIH mode — simulated sensors cannot be calibrated,
// RC (param4) is a real receiver and stays allowed
answer_command(cmd, vehicle_command_ack_s::VEHICLE_CMD_RESULT_DENIED);
mavlink_log_critical(&_mavlink_log_pub, "Calibration denied: not supported in SIH mode\t");
mavlink_log_critical(&_mavlink_log_pub, "Sensor calibration denied: not supported in SIH mode\t");
events::send(events::ID("commander_calib_denied_sih"), events::Log::Critical,
"Calibration denied: not supported in SIH mode");
"Sensor calibration denied: not supported in SIH mode");
} else {