From fe80e7aa468a50bec6b035d0e8e4e37e516c84ff Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Wed, 19 Oct 2022 20:25:06 -0400 Subject: [PATCH] commander: respect COM_CPU_MAX for overload and adjust default threshold --- src/modules/commander/Commander.cpp | 3 ++- src/modules/commander/Commander.hpp | 3 ++- src/modules/commander/commander_params.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index e3abcffd8f..b174bfd21b 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -2253,8 +2253,9 @@ void Commander::control_status_leds(bool changed, const uint8_t battery_warning) cpuload_s cpuload; if (_cpuload_sub.copy(&cpuload)) { + const float cpuload_percent = cpuload.load * 100.f; - bool overload = (cpuload.load > 0.95f) || (cpuload.ram_usage > 0.98f); + bool overload = (cpuload_percent > _param_com_cpu_max.get()) || (cpuload.ram_usage > 0.99f); if (_overload_start == 0 && overload) { _overload_start = time_now_us; diff --git a/src/modules/commander/Commander.hpp b/src/modules/commander/Commander.hpp index b7201d70d5..0ea42d1832 100644 --- a/src/modules/commander/Commander.hpp +++ b/src/modules/commander/Commander.hpp @@ -324,6 +324,7 @@ private: (ParamInt) _param_com_prearm_mode, (ParamInt) _param_com_rc_override, (ParamInt) _param_flight_uuid, - (ParamInt) _param_takeoff_finished_action + (ParamInt) _param_takeoff_finished_action, + (ParamFloat) _param_com_cpu_max ) }; diff --git a/src/modules/commander/commander_params.c b/src/modules/commander/commander_params.c index 9960e2c45d..74a4e85b1f 100644 --- a/src/modules/commander/commander_params.c +++ b/src/modules/commander/commander_params.c @@ -954,7 +954,7 @@ PARAM_DEFINE_FLOAT(COM_KILL_DISARM, 5.0f); * @max 100 * @increment 1 */ -PARAM_DEFINE_FLOAT(COM_CPU_MAX, 90.0f); +PARAM_DEFINE_FLOAT(COM_CPU_MAX, 95.0f); /** * Required number of redundant power modules