From 98cba19f50b5e83c900b2fd48947705777f368a3 Mon Sep 17 00:00:00 2001 From: Alex Klimaj Date: Tue, 11 Feb 2025 19:17:53 -0700 Subject: [PATCH] esc_battery: report temperature Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com> --- src/modules/esc_battery/EscBattery.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/modules/esc_battery/EscBattery.cpp b/src/modules/esc_battery/EscBattery.cpp index 6a6a21f02ada..0fb4a3efad2f 100644 --- a/src/modules/esc_battery/EscBattery.cpp +++ b/src/modules/esc_battery/EscBattery.cpp @@ -91,17 +91,25 @@ EscBattery::Run() const uint8_t online_esc_count = math::countSetBits(esc_status.esc_online_flags); float average_voltage_v = 0.0f; float total_current_a = 0.0f; + float average_temperature_c = 0.0f; for (unsigned i = 0; i < esc_status.esc_count; ++i) { if ((1 << i) & esc_status.esc_online_flags) { average_voltage_v += esc_status.esc[i].esc_voltage; total_current_a += esc_status.esc[i].esc_current; + + if (PX4_ISFINITE(esc_status.esc[i].esc_temperature)) { + average_temperature_c += esc_status.esc[i].esc_temperature; + } } } average_voltage_v /= online_esc_count; + total_current_a /= online_esc_count; + average_temperature_c /= online_esc_count; _battery.setConnected(true); + _battery.updateTemperature(average_temperature_c); _battery.updateVoltage(average_voltage_v); _battery.updateCurrent(total_current_a); _battery.updateAndPublishBatteryStatus(esc_status.timestamp);