mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-01 19:07:45 +08:00
battery_status: remove unused smart battery mode
This commit is contained in:
committed by
Silvan Fuhrer
parent
a18c18e163
commit
ba579245fb
@@ -55,13 +55,6 @@ uint8 BATTERY_FAULT_COUNT = 11 # Counter - keep it as last element!
|
|||||||
|
|
||||||
uint16 faults # Smart battery supply status/fault flags (bitmask) for health indication.
|
uint16 faults # Smart battery supply status/fault flags (bitmask) for health indication.
|
||||||
uint8 warning # Current battery warning
|
uint8 warning # Current battery warning
|
||||||
uint8 mode # Battery mode. Note, the normal operation mode
|
|
||||||
|
|
||||||
uint8 BATTERY_MODE_UNKNOWN = 0 # Battery does not support a mode, or if it does, is operational
|
|
||||||
uint8 BATTERY_MODE_AUTO_DISCHARGING = 1 # Battery is auto discharging (towards storage level)
|
|
||||||
uint8 BATTERY_MODE_HOT_SWAP = 2 # Battery in hot-swap mode
|
|
||||||
uint8 BATTERY_MODE_COUNT = 3 # Counter - keep it as last element (once we're fully migrated to events interface we can just comment this)!
|
|
||||||
|
|
||||||
|
|
||||||
uint8 MAX_INSTANCES = 4
|
uint8 MAX_INSTANCES = 4
|
||||||
|
|
||||||
|
|||||||
@@ -660,24 +660,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"battery_mode_t": {
|
|
||||||
"type": "uint8_t",
|
|
||||||
"description": "Smart battery modes of operation",
|
|
||||||
"entries": {
|
|
||||||
"0": {
|
|
||||||
"name": "unknown",
|
|
||||||
"description": "unknown"
|
|
||||||
},
|
|
||||||
"1": {
|
|
||||||
"name": "autodischarging",
|
|
||||||
"description": "auto discharging towards storage level"
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"name": "hotswap",
|
|
||||||
"description": "hot-swap"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"esc_fault_reason_t": {
|
"esc_fault_reason_t": {
|
||||||
"type": "uint8_t",
|
"type": "uint8_t",
|
||||||
"description": "Bitfield for ESC failure reason",
|
"description": "Bitfield for ESC failure reason",
|
||||||
|
|||||||
@@ -72,22 +72,6 @@ static constexpr const char *battery_fault_reason_str(battery_fault_reason_t bat
|
|||||||
return "";
|
return "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
using battery_mode_t = events::px4::enums::battery_mode_t;
|
|
||||||
static_assert(battery_status_s::BATTERY_MODE_COUNT == (static_cast<uint8_t>(battery_mode_t::_max) + 1)
|
|
||||||
, "Battery mode flags mismatch!");
|
|
||||||
static constexpr const char *battery_mode_str(battery_mode_t battery_mode)
|
|
||||||
{
|
|
||||||
switch (battery_mode) {
|
|
||||||
case battery_mode_t::autodischarging: return "auto discharging";
|
|
||||||
|
|
||||||
case battery_mode_t::hotswap: return "hot-swap";
|
|
||||||
|
|
||||||
default: return "unknown";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
||||||
{
|
{
|
||||||
if (circuit_breaker_enabled_by_val(_param_cbrk_supply_chk.get(), CBRK_SUPPLY_CHK_KEY)) {
|
if (circuit_breaker_enabled_by_val(_param_cbrk_supply_chk.get(), CBRK_SUPPLY_CHK_KEY)) {
|
||||||
@@ -133,9 +117,7 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
|||||||
_battery_connected_at_arming[index] = battery.connected;
|
_battery_connected_at_arming[index] = battery.connected;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (context.isArmed()) {
|
if (context.isArmed() && !battery.connected && _battery_connected_at_arming[index]) { // If disconnected after arming
|
||||||
|
|
||||||
if (!battery.connected && _battery_connected_at_arming[index]) { // If disconnected after arming
|
|
||||||
/* EVENT
|
/* EVENT
|
||||||
*/
|
*/
|
||||||
reporter.healthFailure<uint8_t>(NavModes::All, health_component_t::battery, events::ID("check_battery_disconnected"),
|
reporter.healthFailure<uint8_t>(NavModes::All, health_component_t::battery, events::ID("check_battery_disconnected"),
|
||||||
@@ -149,20 +131,6 @@ void BatteryChecks::checkAndReport(const Context &context, Report &reporter)
|
|||||||
worst_warning = battery_status_s::BATTERY_WARNING_CRITICAL;
|
worst_warning = battery_status_s::BATTERY_WARNING_CRITICAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (battery.mode != 0) {
|
|
||||||
/* EVENT
|
|
||||||
*/
|
|
||||||
reporter.healthFailure<uint8_t, events::px4::enums::battery_mode_t>(NavModes::All, health_component_t::battery,
|
|
||||||
events::ID("check_battery_mode"),
|
|
||||||
events::Log::Critical, "Battery {1} mode: {2}", index + 1, static_cast<battery_mode_t>(battery.mode));
|
|
||||||
|
|
||||||
if (reporter.mavlink_log_pub()) {
|
|
||||||
mavlink_log_critical(reporter.mavlink_log_pub(), "Battery %d is in %s mode!\t", index + 1,
|
|
||||||
battery_mode_str(static_cast<battery_mode_t>(battery.mode)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (battery.connected) {
|
if (battery.connected) {
|
||||||
++num_connected_batteries;
|
++num_connected_batteries;
|
||||||
|
|
||||||
|
|||||||
@@ -114,20 +114,7 @@ private:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (battery_status.mode) {
|
|
||||||
case (battery_status_s::BATTERY_MODE_AUTO_DISCHARGING):
|
|
||||||
bat_msg.mode = MAV_BATTERY_MODE_AUTO_DISCHARGING;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case (battery_status_s::BATTERY_MODE_HOT_SWAP):
|
|
||||||
bat_msg.mode = MAV_BATTERY_MODE_HOT_SWAP;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
bat_msg.mode = MAV_BATTERY_MODE_UNKNOWN;
|
bat_msg.mode = MAV_BATTERY_MODE_UNKNOWN;
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
bat_msg.fault_bitmask = battery_status.faults;
|
bat_msg.fault_bitmask = battery_status.faults;
|
||||||
|
|
||||||
// check if temperature valid
|
// check if temperature valid
|
||||||
|
|||||||
Reference in New Issue
Block a user