battery: pass priority in by setter

This commit is contained in:
Matthias Grob
2021-12-07 21:06:51 +01:00
parent f9fc9a9af6
commit 38d23f5345
12 changed files with 32 additions and 47 deletions
+2 -3
View File
@@ -97,8 +97,7 @@ Battery::Battery(int index, ModuleParams *parent, const int sample_interval_us,
updateParams();
}
void Battery::updateBatteryStatus(const hrt_abstime &timestamp, float voltage_v, float current_a, bool connected,
int priority)
void Battery::updateBatteryStatus(const hrt_abstime &timestamp, float voltage_v, float current_a, bool connected)
{
if (!_battery_initialized) {
_voltage_filter_v.reset(voltage_v);
@@ -136,7 +135,7 @@ void Battery::updateBatteryStatus(const hrt_abstime &timestamp, float voltage_v,
battery_status.cell_count = _params.n_cells;
battery_status.connected = connected;
battery_status.source = _source;
battery_status.priority = priority;
battery_status.priority = _priority;
battery_status.capacity = _params.capacity > 0.f ? static_cast<uint16_t>(_params.capacity) : 0;
battery_status.id = static_cast<uint8_t>(_index);
battery_status.warning = _warning;
+4 -3
View File
@@ -85,16 +85,16 @@ public:
*/
float full_cell_voltage() { return _params.v_charged; }
void setPriority(const uint8_t priority) { _priority = priority; }
/**
* Update current battery status message.
*
* @param voltage_raw: Battery voltage, in Volts
* @param current_raw: Battery current, in Amps
* @param timestamp: Time at which the ADC was read (use hrt_absolute_time())
* @param priority: The brick number -1. The term priority refers to the Vn connection on the LTC4417
*/
void updateBatteryStatus(const hrt_abstime &timestamp, float voltage_v, float current_a, bool connected,
int priority);
void updateBatteryStatus(const hrt_abstime &timestamp, float voltage_v, float current_a, bool connected);
protected:
struct {
@@ -139,6 +139,7 @@ private:
uORB::PublicationMulti<battery_status_s> _battery_status_pub{ORB_ID(battery_status)};
const uint8_t _source{};
uint8_t _priority{0};
bool _battery_initialized{false};
AlphaFilter<float> _voltage_filter_v;
AlphaFilter<float> _current_filter_a;