diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index 9cf1cdb17d..10b3fe169b 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -3558,12 +3558,18 @@ void Commander::data_link_check() switch (telemetry.remote_type) { case telemetry_status_s::MAV_TYPE_GCS: - // Recover from data link lost + // Initial connection or recovery from data link lost if (status.data_link_lost) { if (telemetry.heartbeat_time > _datalink_last_heartbeat_gcs) { status.data_link_lost = false; _status_changed = true; + if (!armed.armed) { + // make sure to report preflight check failures to a connecting GCS + PreFlightCheck::preflightCheck(&mavlink_log_pub, status, status_flags, + _arm_requirements.global_position, true, true, hrt_elapsed_time(&_boot_timestamp)); + } + if (_datalink_last_heartbeat_gcs != 0) { mavlink_log_info(&mavlink_log_pub, "Data link regained"); }