mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-01 19:07:45 +08:00
Commander: move static overload_start to class
This commit is contained in:
committed by
Daniel Agar
parent
4f30037980
commit
4b0d8efbc1
@@ -2764,18 +2764,16 @@ Commander::get_circuit_breaker_params()
|
|||||||
void
|
void
|
||||||
Commander::control_status_leds(bool changed, const uint8_t battery_warning)
|
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);
|
bool overload = (_cpuload.load > 0.95f) || (_cpuload.ram_usage > 0.98f);
|
||||||
|
|
||||||
if (overload_start == 0 && overload) {
|
if (_overload_start == 0 && overload) {
|
||||||
overload_start = hrt_absolute_time();
|
_overload_start = hrt_absolute_time();
|
||||||
|
|
||||||
} else if (!overload) {
|
} else if (!overload) {
|
||||||
overload_start = 0;
|
_overload_start = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* driving rgbled */
|
// driving the RGB led
|
||||||
if (changed || _last_overload != overload) {
|
if (changed || _last_overload != overload) {
|
||||||
uint8_t led_mode = led_control_s::MODE_OFF;
|
uint8_t led_mode = led_control_s::MODE_OFF;
|
||||||
uint8_t led_color = led_control_s::COLOR_WHITE;
|
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;
|
uint64_t overload_warn_delay = (_status.arming_state == vehicle_status_s::ARMING_STATE_ARMED) ? 1_ms : 250_ms;
|
||||||
|
|
||||||
/* set mode */
|
/* 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_mode = led_control_s::MODE_BLINK_FAST;
|
||||||
led_color = led_control_s::COLOR_PURPLE;
|
led_color = led_control_s::COLOR_PURPLE;
|
||||||
|
|
||||||
|
|||||||
@@ -366,6 +366,7 @@ private:
|
|||||||
hrt_abstime _boot_timestamp{0};
|
hrt_abstime _boot_timestamp{0};
|
||||||
hrt_abstime _last_disarmed_timestamp{0};
|
hrt_abstime _last_disarmed_timestamp{0};
|
||||||
hrt_abstime _timestamp_engine_healthy{0}; ///< absolute time when engine was healty
|
hrt_abstime _timestamp_engine_healthy{0}; ///< absolute time when engine was healty
|
||||||
|
hrt_abstime _overload_start{0}; ///< time when CPU overload started
|
||||||
|
|
||||||
uint32_t _counter{0};
|
uint32_t _counter{0};
|
||||||
uint8_t _heading_reset_counter{0};
|
uint8_t _heading_reset_counter{0};
|
||||||
|
|||||||
Reference in New Issue
Block a user