mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-17 22:53:33 +08:00
battery: pass connected flag in by setter
This commit is contained in:
@@ -97,7 +97,7 @@ Battery::Battery(int index, ModuleParams *parent, const int sample_interval_us,
|
||||
updateParams();
|
||||
}
|
||||
|
||||
void Battery::updateBatteryStatus(const hrt_abstime ×tamp, float voltage_v, float current_a, bool connected)
|
||||
void Battery::updateBatteryStatus(const hrt_abstime ×tamp, float voltage_v, float current_a)
|
||||
{
|
||||
if (!_battery_initialized) {
|
||||
_voltage_filter_v.reset(voltage_v);
|
||||
@@ -110,7 +110,7 @@ void Battery::updateBatteryStatus(const hrt_abstime ×tamp, float voltage_v,
|
||||
estimateStateOfCharge(_voltage_filter_v.getState(), _current_filter_a.getState());
|
||||
computeScale();
|
||||
|
||||
if (connected && _battery_initialized) {
|
||||
if (_connected && _battery_initialized) {
|
||||
_warning = determineWarning(_state_of_charge);
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ void Battery::updateBatteryStatus(const hrt_abstime ×tamp, float voltage_v,
|
||||
_battery_initialized = true;
|
||||
|
||||
} else {
|
||||
connected = false;
|
||||
_connected = false;
|
||||
}
|
||||
|
||||
battery_status_s battery_status{};
|
||||
@@ -133,7 +133,7 @@ void Battery::updateBatteryStatus(const hrt_abstime ×tamp, float voltage_v,
|
||||
battery_status.time_remaining_s = computeRemainingTime(current_a);
|
||||
battery_status.temperature = NAN;
|
||||
battery_status.cell_count = _params.n_cells;
|
||||
battery_status.connected = connected;
|
||||
battery_status.connected = _connected;
|
||||
battery_status.source = _source;
|
||||
battery_status.priority = _priority;
|
||||
battery_status.capacity = _params.capacity > 0.f ? static_cast<uint16_t>(_params.capacity) : 0;
|
||||
|
||||
@@ -86,6 +86,7 @@ public:
|
||||
float full_cell_voltage() { return _params.v_charged; }
|
||||
|
||||
void setPriority(const uint8_t priority) { _priority = priority; }
|
||||
void setConnected(const bool connected) { _connected = connected; }
|
||||
|
||||
/**
|
||||
* Update current battery status message.
|
||||
@@ -94,7 +95,7 @@ public:
|
||||
* @param current_raw: Battery current, in Amps
|
||||
* @param timestamp: Time at which the ADC was read (use hrt_absolute_time())
|
||||
*/
|
||||
void updateBatteryStatus(const hrt_abstime ×tamp, float voltage_v, float current_a, bool connected);
|
||||
void updateBatteryStatus(const hrt_abstime ×tamp, float voltage_v, float current_a);
|
||||
|
||||
protected:
|
||||
struct {
|
||||
@@ -138,6 +139,7 @@ private:
|
||||
uORB::Subscription _actuator_controls_0_sub{ORB_ID(actuator_controls_0)};
|
||||
uORB::PublicationMulti<battery_status_s> _battery_status_pub{ORB_ID(battery_status)};
|
||||
|
||||
bool _connected{false};
|
||||
const uint8_t _source{};
|
||||
uint8_t _priority{0};
|
||||
bool _battery_initialized{false};
|
||||
|
||||
Reference in New Issue
Block a user