void Battery::updateBatteryStatus(hrt_abstime timestamp, float voltage_v, float current_a, bool connected, bool selected_source, int priority, float throttle_normalized, bool armed, battery_status_s *battery_status) { reset(battery_status); battery_status->timestamp = timestamp; filterVoltage(voltage_v); filterCurrent(current_a); sumDischarged(timestamp, current_a); estimateRemaining(voltage_v, current_a, throttle_normalized, armed); determineWarning(); computeScale(); if (_voltage_filtered_v > 2.1f) { battery_status->voltage_v = voltage_v; battery_status->voltage_filtered_v = _voltage_filtered_v; battery_status->scale = _scale; battery_status->current_a = current_a; battery_status->current_filtered_a = _current_filtered_a; battery_status->discharged_mah = _discharged_mah; battery_status->warning = _warning; battery_status->remaining = _remaining; battery_status->connected = connected; battery_status->system_source = selected_source; battery_status->priority = priority; } }
void Battery::updateBatteryStatus(hrt_abstime timestamp, float voltage_v, float current_a, float throttle_normalized, bool armed, battery_status_s *battery_status) { reset(battery_status); battery_status->timestamp = timestamp; filterVoltage(voltage_v); sumDischarged(timestamp, current_a); estimateRemaining(voltage_v, throttle_normalized, armed); determineWarning(); if (_voltage_filtered_v > 2.1f) { battery_status->voltage_v = voltage_v; battery_status->voltage_filtered_v = _voltage_filtered_v; battery_status->current_a = current_a; battery_status->discharged_mah = _discharged_mah; battery_status->warning = _warning; battery_status->remaining = _remaining; } }
void Battery::updateBatteryStatus(hrt_abstime timestamp, float voltage_v, float current_a, float throttle_normalized, battery_status_s *battery_status) { filterVoltage(voltage_v); sumDischarged(timestamp, current_a); estimateRemaining(voltage_v, throttle_normalized); determineWarning(); if (_voltage_filtered_v > 2.1f) { battery_status->voltage_v = voltage_v; battery_status->voltage_filtered_v = _voltage_filtered_v; battery_status->current_a = current_a; battery_status->discharged_mah = _discharged_mah; battery_status->cell_count = _param_n_cells.get(); battery_status->warning = _warning; } else { reset(battery_status); } }