From ea12400ea38f28bdd14b23e85c66a271dbc339af Mon Sep 17 00:00:00 2001 From: Matthias Grob Date: Wed, 14 May 2025 17:40:51 +0200 Subject: [PATCH] esc_calibration: simplify the logic and consider battery only connected if there's no message timeout and the connected flag is set --- src/modules/commander/esc_calibration.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/modules/commander/esc_calibration.cpp b/src/modules/commander/esc_calibration.cpp index e96b3b2a32..4977ad5c0d 100644 --- a/src/modules/commander/esc_calibration.cpp +++ b/src/modules/commander/esc_calibration.cpp @@ -63,19 +63,13 @@ bool check_battery_disconnected(orb_advert_t *mavlink_log_pub) const bool recent_battery_measurement = hrt_absolute_time() < (battery_status_sub.get().timestamp + 1_s); - if (recent_battery_measurement) { - // We have to send this message for now because "battery unavailable" gets ignored by QGC + if (recent_battery_measurement && battery_status_sub.get().connected) { calibration_log_critical(mavlink_log_pub, CAL_QGC_FAILED_MSG, "Disconnect battery and try again"); return false; - } - // Make sure battery is reported to be disconnected - if (!recent_battery_measurement && !battery_status_sub.get().connected) { + } else { return true; } - - calibration_log_critical(mavlink_log_pub, CAL_QGC_FAILED_MSG, "Disconnect battery and try again"); - return false; } static void set_motor_actuators(uORB::Publication &publisher, float value, bool release_control)