diff --git a/src/modules/logger/logger.cpp b/src/modules/logger/logger.cpp index 31d1ead523..fb5b3866f6 100644 --- a/src/modules/logger/logger.cpp +++ b/src/modules/logger/logger.cpp @@ -533,7 +533,8 @@ void Logger::run() bool armed = (vehicle_status_sub.get().arming_state == vehicle_status_s::ARMING_STATE_ARMED) || (vehicle_status_sub.get().arming_state == vehicle_status_s::ARMING_STATE_ARMED_ERROR); - if (_enabled != armed && !_log_until_shutdown) { + if (_was_armed != armed && !_log_until_shutdown) { + _was_armed = armed; if (armed) { start_log(); diff --git a/src/modules/logger/logger.h b/src/modules/logger/logger.h index 9f92f86672..36b4bae958 100644 --- a/src/modules/logger/logger.h +++ b/src/modules/logger/logger.h @@ -157,6 +157,7 @@ private: char _log_dir[64]; bool _has_log_dir = false; bool _enabled = false; + bool _was_armed = false; // statistics hrt_abstime _start_time; ///< Time when logging started (not the logger thread)