mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-29 00:03:34 +08:00
battery: only propagate warning state in upwards
This commit is contained in:
@@ -225,14 +225,14 @@ void
|
|||||||
Battery::determineWarning(bool connected)
|
Battery::determineWarning(bool connected)
|
||||||
{
|
{
|
||||||
if (connected) {
|
if (connected) {
|
||||||
// Smallest values must come first
|
// propagate warning state only if the state is higher, otherwise remain in current waringin state
|
||||||
if (_remaining < _param_emergency_thr.get()) {
|
if (_remaining < _param_emergency_thr.get() || (_warning == battery_status_s::BATTERY_WARNING_EMERGENCY)) {
|
||||||
_warning = battery_status_s::BATTERY_WARNING_EMERGENCY;
|
_warning = battery_status_s::BATTERY_WARNING_EMERGENCY;
|
||||||
|
|
||||||
} else if (_remaining < _param_crit_thr.get()) {
|
} else if (_remaining < _param_crit_thr.get() || (_warning == battery_status_s::BATTERY_WARNING_CRITICAL)) {
|
||||||
_warning = battery_status_s::BATTERY_WARNING_CRITICAL;
|
_warning = battery_status_s::BATTERY_WARNING_CRITICAL;
|
||||||
|
|
||||||
} else if (_remaining < _param_low_thr.get()) {
|
} else if (_remaining < _param_low_thr.get() || (_warning == battery_status_s::BATTERY_WARNING_LOW)) {
|
||||||
_warning = battery_status_s::BATTERY_WARNING_LOW;
|
_warning = battery_status_s::BATTERY_WARNING_LOW;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user