diff --git a/APMrover2/GCS_Mavlink.pde b/APMrover2/GCS_Mavlink.pde index 6bdebf4637..93a7fd0e97 100644 --- a/APMrover2/GCS_Mavlink.pde +++ b/APMrover2/GCS_Mavlink.pde @@ -1885,7 +1885,7 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg) static void mavlink_delay_cb() { static uint32_t last_1hz, last_50hz, last_5s; - if (!gcs[0].initialised) return; + if (!gcs[0].initialised || in_mavlink_delay) return; in_mavlink_delay = true; diff --git a/APMrover2/Log.pde b/APMrover2/Log.pde index a1df4e51ea..4e09d85746 100644 --- a/APMrover2/Log.pde +++ b/APMrover2/Log.pde @@ -568,7 +568,9 @@ static void Log_Read(uint16_t log_num, uint16_t start_page, uint16_t end_page) // start a new log static void start_logging() { + in_mavlink_delay = true; DataFlash.StartNewLog(); + in_mavlink_delay = false; DataFlash.Log_Write_Message_P(PSTR(FIRMWARE_STRING)); // write system identifier as well if available