mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-16 00:23:33 +08:00
Simplify Battery-related Enum Naming (#24265)
* Simplify battery-related enum naming * Fix mistakenly removed string in enum names * Fix missing renamings * Update outdated file * msg: Increase battery_status version since the enum naming was changed * Revert message version increase --------- Co-authored-by: Matthias Grob <maetugr@gmail.com>
This commit is contained in:
co-authored by
Matthias Grob
parent
336d055923
commit
b5f37c9fa6
@@ -137,9 +137,9 @@ private:
|
||||
BatteryStatus::BatteryStatus() :
|
||||
ModuleParams(nullptr),
|
||||
ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::hp_default),
|
||||
_battery1(1, this, SAMPLE_INTERVAL_US, battery_status_s::BATTERY_SOURCE_POWER_MODULE, 0),
|
||||
_battery1(1, this, SAMPLE_INTERVAL_US, battery_status_s::SOURCE_POWER_MODULE, 0),
|
||||
#if BOARD_NUMBER_BRICKS > 1
|
||||
_battery2(2, this, SAMPLE_INTERVAL_US, battery_status_s::BATTERY_SOURCE_POWER_MODULE, 1),
|
||||
_battery2(2, this, SAMPLE_INTERVAL_US, battery_status_s::SOURCE_POWER_MODULE, 1),
|
||||
#endif
|
||||
_loop_perf(perf_alloc(PC_ELAPSED, MODULE_NAME))
|
||||
{
|
||||
|
||||
@@ -2193,13 +2193,13 @@ void Commander::updateTunes()
|
||||
|
||||
} else if (!_vehicle_status.usb_connected &&
|
||||
(_vehicle_status.hil_state != vehicle_status_s::HIL_STATE_ON) &&
|
||||
(_battery_warning == battery_status_s::BATTERY_WARNING_CRITICAL)) {
|
||||
(_battery_warning == battery_status_s::WARNING_CRITICAL)) {
|
||||
|
||||
/* play tune on battery critical */
|
||||
set_tune(tune_control_s::TUNE_ID_BATTERY_WARNING_FAST);
|
||||
|
||||
} else if ((_vehicle_status.hil_state != vehicle_status_s::HIL_STATE_ON) &&
|
||||
(_battery_warning == battery_status_s::BATTERY_WARNING_LOW)) {
|
||||
(_battery_warning == battery_status_s::WARNING_LOW)) {
|
||||
/* play tune on battery warning */
|
||||
set_tune(tune_control_s::TUNE_ID_BATTERY_WARNING_SLOW);
|
||||
|
||||
@@ -2493,10 +2493,10 @@ void Commander::control_status_leds(bool changed, const uint8_t battery_warning)
|
||||
if (_vehicle_status.failsafe) {
|
||||
led_color = led_control_s::COLOR_PURPLE;
|
||||
|
||||
} else if (battery_warning == battery_status_s::BATTERY_WARNING_LOW) {
|
||||
} else if (battery_warning == battery_status_s::WARNING_LOW) {
|
||||
led_color = led_control_s::COLOR_AMBER;
|
||||
|
||||
} else if (battery_warning == battery_status_s::BATTERY_WARNING_CRITICAL) {
|
||||
} else if (battery_warning == battery_status_s::WARNING_CRITICAL) {
|
||||
led_color = led_control_s::COLOR_RED;
|
||||
|
||||
} else {
|
||||
@@ -2867,7 +2867,7 @@ void Commander::battery_status_check()
|
||||
// Handle shutdown request from emergency battery action
|
||||
if (_battery_warning != _failsafe_flags.battery_warning) {
|
||||
|
||||
if (_failsafe_flags.battery_warning == battery_status_s::BATTERY_WARNING_EMERGENCY) {
|
||||
if (_failsafe_flags.battery_warning == battery_status_s::WARNING_EMERGENCY) {
|
||||
#if defined(BOARD_HAS_POWER_CONTROL)
|
||||
|
||||
if (!isArmed() && (px4_shutdown_request(60_s) == 0)) {
|
||||
|
||||
@@ -262,7 +262,7 @@ private:
|
||||
|
||||
hrt_abstime _last_health_and_arming_check{0};
|
||||
|
||||
uint8_t _battery_warning{battery_status_s::BATTERY_WARNING_NONE};
|
||||
uint8_t _battery_warning{battery_status_s::WARNING_NONE};
|
||||
|
||||
bool _failsafe_user_override_request{false}; ///< override request due to stick movements
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
using namespace time_literals;
|
||||
|
||||
using battery_fault_reason_t = events::px4::enums::battery_fault_reason_t;
|
||||
static_assert(battery_status_s::BATTERY_FAULT_COUNT == (static_cast<uint8_t>(battery_fault_reason_t::_max) + 1)
|
||||
static_assert(battery_status_s::FAULT_COUNT == (static_cast<uint8_t>(battery_fault_reason_t::_max) + 1)
|
||||
, "Battery fault flags mismatch!");
|
||||
|
||||
static constexpr const char *battery_fault_reason_str(battery_fault_reason_t battery_fault_reason)
|
||||
@@ -78,7 +78,7 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
||||
// Reset related failsafe flags otherwise failures from before disabling the check cause failsafes without reported reason
|
||||
reporter.failsafeFlags().battery_unhealthy = false;
|
||||
reporter.failsafeFlags().battery_low_remaining_time = false;
|
||||
reporter.failsafeFlags().battery_warning = battery_status_s::BATTERY_WARNING_NONE;
|
||||
reporter.failsafeFlags().battery_warning = battery_status_s::WARNING_NONE;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
||||
// There are possibly multiple batteries, and we can't know which ones serve which purpose. So the safest
|
||||
// option is to check if ANY of them have a warning, and specifically find which one has the most
|
||||
// urgent warning.
|
||||
uint8_t worst_warning = battery_status_s::BATTERY_WARNING_NONE;
|
||||
uint8_t worst_warning = battery_status_s::WARNING_NONE;
|
||||
float worst_battery_remaining = 1.f;
|
||||
// To make sure that all connected batteries are being regularly reported, we check which one has the
|
||||
// oldest timestamp.
|
||||
@@ -132,7 +132,7 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
||||
}
|
||||
|
||||
// trigger a battery failsafe action if a battery disconnects in flight
|
||||
worst_warning = battery_status_s::BATTERY_WARNING_CRITICAL;
|
||||
worst_warning = battery_status_s::WARNING_CRITICAL;
|
||||
}
|
||||
|
||||
if (battery.connected) {
|
||||
@@ -195,13 +195,13 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
||||
reporter.failsafeFlags().battery_warning = worst_warning;
|
||||
}
|
||||
|
||||
const bool battery_warning = reporter.failsafeFlags().battery_warning > battery_status_s::BATTERY_WARNING_NONE
|
||||
&& reporter.failsafeFlags().battery_warning < battery_status_s::BATTERY_WARNING_FAILED;
|
||||
const bool battery_warning = reporter.failsafeFlags().battery_warning > battery_status_s::WARNING_NONE
|
||||
&& reporter.failsafeFlags().battery_warning < battery_status_s::WARNING_FAILED;
|
||||
const bool configured_arm_threshold_in_use = !context.isArmed() && (_param_com_arm_bat_min.get() >= -FLT_EPSILON);
|
||||
const bool below_configured_arm_threshold = (worst_battery_remaining < _param_com_arm_bat_min.get());
|
||||
|
||||
if (battery_warning || (configured_arm_threshold_in_use && below_configured_arm_threshold)) {
|
||||
const bool critical_or_higher = reporter.failsafeFlags().battery_warning >= battery_status_s::BATTERY_WARNING_CRITICAL;
|
||||
const bool critical_or_higher = reporter.failsafeFlags().battery_warning >= battery_status_s::WARNING_CRITICAL;
|
||||
NavModes affected_modes = (!configured_arm_threshold_in_use && critical_or_higher)
|
||||
|| (configured_arm_threshold_in_use && below_configured_arm_threshold) ? NavModes::All : NavModes::None;
|
||||
events::LogLevel log_level = critical_or_higher || below_configured_arm_threshold
|
||||
@@ -209,7 +209,7 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
||||
|
||||
switch (reporter.failsafeFlags().battery_warning) {
|
||||
default:
|
||||
case battery_status_s::BATTERY_WARNING_LOW:
|
||||
case battery_status_s::WARNING_LOW:
|
||||
/* EVENT
|
||||
* @description
|
||||
* The lowest battery state of charge is below the low threshold.
|
||||
@@ -227,7 +227,7 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
||||
|
||||
break;
|
||||
|
||||
case battery_status_s::BATTERY_WARNING_CRITICAL:
|
||||
case battery_status_s::WARNING_CRITICAL:
|
||||
/* EVENT
|
||||
* @description
|
||||
* The lowest battery state of charge is below the critical threshold.
|
||||
@@ -245,7 +245,7 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
||||
|
||||
break;
|
||||
|
||||
case battery_status_s::BATTERY_WARNING_EMERGENCY:
|
||||
case battery_status_s::WARNING_EMERGENCY:
|
||||
/* EVENT
|
||||
* @description
|
||||
* The lowest battery state of charge is below the emergency threshold.
|
||||
@@ -275,7 +275,7 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
||||
|| is_required_battery_missing
|
||||
// No currently-connected batteries have any fault
|
||||
|| battery_has_fault
|
||||
|| reporter.failsafeFlags().battery_warning == battery_status_s::BATTERY_WARNING_FAILED;
|
||||
|| reporter.failsafeFlags().battery_warning == battery_status_s::WARNING_FAILED;
|
||||
|
||||
if (reporter.failsafeFlags().battery_unhealthy
|
||||
&& !is_required_battery_missing && !battery_has_fault) { // missing batteries and faults are reported above already
|
||||
|
||||
@@ -192,16 +192,16 @@ FailsafeBase::ActionOptions Failsafe::fromBatteryWarningActParam(int param_value
|
||||
|
||||
switch (battery_warning) {
|
||||
default:
|
||||
case battery_status_s::BATTERY_WARNING_NONE:
|
||||
case battery_status_s::WARNING_NONE:
|
||||
options.action = Action::None;
|
||||
break;
|
||||
|
||||
case battery_status_s::BATTERY_WARNING_LOW:
|
||||
case battery_status_s::WARNING_LOW:
|
||||
options.action = Action::Warn;
|
||||
options.cause = Cause::BatteryLow;
|
||||
break;
|
||||
|
||||
case battery_status_s::BATTERY_WARNING_CRITICAL:
|
||||
case battery_status_s::WARNING_CRITICAL:
|
||||
options.action = Action::Warn;
|
||||
options.cause = Cause::BatteryCritical;
|
||||
|
||||
@@ -222,7 +222,7 @@ FailsafeBase::ActionOptions Failsafe::fromBatteryWarningActParam(int param_value
|
||||
|
||||
break;
|
||||
|
||||
case battery_status_s::BATTERY_WARNING_EMERGENCY:
|
||||
case battery_status_s::WARNING_EMERGENCY:
|
||||
options.action = Action::Warn;
|
||||
options.cause = Cause::BatteryEmergency;
|
||||
|
||||
@@ -550,21 +550,21 @@ void Failsafe::checkStateAndMode(const hrt_abstime &time_us, const State &state,
|
||||
_param_com_low_bat_act.get() : (int32_t)LowBatteryAction::Warning;
|
||||
|
||||
switch (status_flags.battery_warning) {
|
||||
case battery_status_s::BATTERY_WARNING_LOW:
|
||||
case battery_status_s::WARNING_LOW:
|
||||
_last_state_battery_warning_low = checkFailsafe(_caller_id_battery_warning_low, _last_state_battery_warning_low,
|
||||
true, fromBatteryWarningActParam(low_battery_action, battery_status_s::BATTERY_WARNING_LOW));
|
||||
true, fromBatteryWarningActParam(low_battery_action, battery_status_s::WARNING_LOW));
|
||||
break;
|
||||
|
||||
case battery_status_s::BATTERY_WARNING_CRITICAL:
|
||||
case battery_status_s::WARNING_CRITICAL:
|
||||
_last_state_battery_warning_critical = checkFailsafe(_caller_id_battery_warning_critical,
|
||||
_last_state_battery_warning_critical,
|
||||
true, fromBatteryWarningActParam(low_battery_action, battery_status_s::BATTERY_WARNING_CRITICAL));
|
||||
true, fromBatteryWarningActParam(low_battery_action, battery_status_s::WARNING_CRITICAL));
|
||||
break;
|
||||
|
||||
case battery_status_s::BATTERY_WARNING_EMERGENCY:
|
||||
case battery_status_s::WARNING_EMERGENCY:
|
||||
_last_state_battery_warning_emergency = checkFailsafe(_caller_id_battery_warning_emergency,
|
||||
_last_state_battery_warning_emergency,
|
||||
true, fromBatteryWarningActParam(low_battery_action, battery_status_s::BATTERY_WARNING_EMERGENCY));
|
||||
true, fromBatteryWarningActParam(low_battery_action, battery_status_s::WARNING_EMERGENCY));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -40,7 +40,7 @@ using namespace time_literals;
|
||||
EscBattery::EscBattery() :
|
||||
ModuleParams(nullptr),
|
||||
WorkItem(MODULE_NAME, px4::wq_configurations::lp_default),
|
||||
_battery(1, this, ESC_BATTERY_INTERVAL_US, battery_status_s::BATTERY_SOURCE_ESCS)
|
||||
_battery(1, this, ESC_BATTERY_INTERVAL_US, battery_status_s::SOURCE_ESCS)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -101,12 +101,12 @@ void StatusDisplay::set_leds()
|
||||
}
|
||||
|
||||
// handle battery warnings, once a state is reached it can not be reset
|
||||
if (_battery_status_sub.get().warning == battery_status_s::BATTERY_WARNING_CRITICAL || _critical_battery) {
|
||||
if (_battery_status_sub.get().warning == battery_status_s::WARNING_CRITICAL || _critical_battery) {
|
||||
_led_control.color = led_control_s::COLOR_RED;
|
||||
_led_control.mode = led_control_s::MODE_BLINK_FAST;
|
||||
_critical_battery = true;
|
||||
|
||||
} else if (_battery_status_sub.get().warning == battery_status_s::BATTERY_WARNING_LOW || _low_battery) {
|
||||
} else if (_battery_status_sub.get().warning == battery_status_s::WARNING_LOW || _low_battery) {
|
||||
_led_control.color = led_control_s::COLOR_RED;
|
||||
_led_control.mode = led_control_s::MODE_FLASH;
|
||||
_low_battery = true;
|
||||
|
||||
@@ -1814,13 +1814,13 @@ MavlinkReceiver::handle_message_battery_status(mavlink_message_t *msg)
|
||||
// Set the battery warning based on remaining charge.
|
||||
// Note: Smallest values must come first in evaluation.
|
||||
if (battery_status.remaining < _param_bat_emergen_thr.get()) {
|
||||
battery_status.warning = battery_status_s::BATTERY_WARNING_EMERGENCY;
|
||||
battery_status.warning = battery_status_s::WARNING_EMERGENCY;
|
||||
|
||||
} else if (battery_status.remaining < _param_bat_crit_thr.get()) {
|
||||
battery_status.warning = battery_status_s::BATTERY_WARNING_CRITICAL;
|
||||
battery_status.warning = battery_status_s::WARNING_CRITICAL;
|
||||
|
||||
} else if (battery_status.remaining < _param_bat_low_thr.get()) {
|
||||
battery_status.warning = battery_status_s::BATTERY_WARNING_LOW;
|
||||
battery_status.warning = battery_status_s::WARNING_LOW;
|
||||
}
|
||||
|
||||
_battery_pub.publish(battery_status);
|
||||
|
||||
@@ -81,31 +81,31 @@ private:
|
||||
math::max((int)battery_status.time_remaining_s, 1) : 0;
|
||||
|
||||
switch (battery_status.warning) {
|
||||
case (battery_status_s::BATTERY_WARNING_NONE):
|
||||
case (battery_status_s::WARNING_NONE):
|
||||
bat_msg.charge_state = MAV_BATTERY_CHARGE_STATE_OK;
|
||||
break;
|
||||
|
||||
case (battery_status_s::BATTERY_WARNING_LOW):
|
||||
case (battery_status_s::WARNING_LOW):
|
||||
bat_msg.charge_state = MAV_BATTERY_CHARGE_STATE_LOW;
|
||||
break;
|
||||
|
||||
case (battery_status_s::BATTERY_WARNING_CRITICAL):
|
||||
case (battery_status_s::WARNING_CRITICAL):
|
||||
bat_msg.charge_state = MAV_BATTERY_CHARGE_STATE_CRITICAL;
|
||||
break;
|
||||
|
||||
case (battery_status_s::BATTERY_WARNING_EMERGENCY):
|
||||
case (battery_status_s::WARNING_EMERGENCY):
|
||||
bat_msg.charge_state = MAV_BATTERY_CHARGE_STATE_EMERGENCY;
|
||||
break;
|
||||
|
||||
case (battery_status_s::BATTERY_WARNING_FAILED):
|
||||
case (battery_status_s::WARNING_FAILED):
|
||||
bat_msg.charge_state = MAV_BATTERY_CHARGE_STATE_FAILED;
|
||||
break;
|
||||
|
||||
case (battery_status_s::BATTERY_STATE_UNHEALTHY):
|
||||
case (battery_status_s::STATE_UNHEALTHY):
|
||||
bat_msg.charge_state = MAV_BATTERY_CHARGE_STATE_UNHEALTHY;
|
||||
break;
|
||||
|
||||
case (battery_status_s::BATTERY_STATE_CHARGING):
|
||||
case (battery_status_s::STATE_CHARGING):
|
||||
bat_msg.charge_state = MAV_BATTERY_CHARGE_STATE_CHARGING;
|
||||
break;
|
||||
|
||||
|
||||
@@ -285,7 +285,7 @@ private:
|
||||
updated = true;
|
||||
_batteries[i].connected = battery.connected;
|
||||
|
||||
if (battery.warning > battery_status_s::BATTERY_WARNING_LOW) {
|
||||
if (battery.warning > battery_status_s::WARNING_LOW) {
|
||||
msg->failure_flags |= HL_FAILURE_FLAG_BATTERY;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
BatterySimulator::BatterySimulator() :
|
||||
ModuleParams(nullptr),
|
||||
ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::hp_default),
|
||||
_battery(1, this, BATTERY_SIMLATOR_SAMPLE_INTERVAL_US, battery_status_s::BATTERY_SOURCE_POWER_MODULE)
|
||||
_battery(1, this, BATTERY_SIMLATOR_SAMPLE_INTERVAL_US, battery_status_s::SOURCE_POWER_MODULE)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user