From 4a1593519c9d967e236d7bcb7cf87338692c595a Mon Sep 17 00:00:00 2001 From: Iampete1 Date: Wed, 11 Jan 2023 17:01:11 +0000 Subject: [PATCH] AP_BattMoniter: don't allow equal low and critical FS thresholds --- libraries/AP_BattMonitor/AP_BattMonitor_Backend.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/AP_BattMonitor/AP_BattMonitor_Backend.cpp b/libraries/AP_BattMonitor/AP_BattMonitor_Backend.cpp index 50b8313d42158..6eccda0078c6f 100644 --- a/libraries/AP_BattMonitor/AP_BattMonitor_Backend.cpp +++ b/libraries/AP_BattMonitor/AP_BattMonitor_Backend.cpp @@ -171,10 +171,10 @@ bool AP_BattMonitor_Backend::arming_checks(char * buffer, size_t buflen) const ((_params._pack_capacity - _state.consumed_mah) < _params._arming_minimum_capacity); bool fs_capacity_inversion = is_positive(_params._critical_capacity) && is_positive(_params._low_capacity) && - (_params._low_capacity < _params._critical_capacity); + !(_params._low_capacity > _params._critical_capacity); bool fs_voltage_inversion = is_positive(_params._critical_voltage) && is_positive(_params._low_voltage) && - (_params._low_voltage < _params._critical_voltage); + !(_params._low_voltage > _params._critical_voltage); bool result = update_check(buflen, buffer, !_state.healthy, "unhealthy"); result = result && update_check(buflen, buffer, below_arming_voltage, "below minimum arming voltage"); @@ -183,8 +183,8 @@ bool AP_BattMonitor_Backend::arming_checks(char * buffer, size_t buflen) const result = result && update_check(buflen, buffer, low_capacity, "low capacity failsafe"); result = result && update_check(buflen, buffer, critical_voltage, "critical voltage failsafe"); result = result && update_check(buflen, buffer, critical_capacity, "critical capacity failsafe"); - result = result && update_check(buflen, buffer, fs_capacity_inversion, "capacity failsafe critical > low"); - result = result && update_check(buflen, buffer, fs_voltage_inversion, "voltage failsafe critical > low"); + result = result && update_check(buflen, buffer, fs_capacity_inversion, "capacity failsafe critical >= low"); + result = result && update_check(buflen, buffer, fs_voltage_inversion, "voltage failsafe critical >= low"); return result; }