Commander: move static overload_start to class

This commit is contained in:
Lorenz Meier
2020-11-24 23:57:56 +01:00
committed by Daniel Agar
parent 4f30037980
commit 4b0d8efbc1
2 changed files with 6 additions and 7 deletions
+5 -7
View File
@@ -2764,18 +2764,16 @@ Commander::get_circuit_breaker_params()
void
Commander::control_status_leds(bool changed, const uint8_t battery_warning)
{
static hrt_abstime overload_start = 0;
bool overload = (_cpuload.load > 0.95f) || (_cpuload.ram_usage > 0.98f);
if (overload_start == 0 && overload) {
overload_start = hrt_absolute_time();
if (_overload_start == 0 && overload) {
_overload_start = hrt_absolute_time();
} else if (!overload) {
overload_start = 0;
_overload_start = 0;
}
/* driving rgbled */
// driving the RGB led
if (changed || _last_overload != overload) {
uint8_t led_mode = led_control_s::MODE_OFF;
uint8_t led_color = led_control_s::COLOR_WHITE;
@@ -2784,7 +2782,7 @@ Commander::control_status_leds(bool changed, const uint8_t battery_warning)
uint64_t overload_warn_delay = (_status.arming_state == vehicle_status_s::ARMING_STATE_ARMED) ? 1_ms : 250_ms;
/* set mode */
if (overload && (hrt_elapsed_time(&overload_start) > overload_warn_delay)) {
if (overload && (hrt_elapsed_time(&_overload_start) > overload_warn_delay)) {
led_mode = led_control_s::MODE_BLINK_FAST;
led_color = led_control_s::COLOR_PURPLE;