10#ifndef SEMF_APP_BATTERY_BATTERYSTATEOFCHARGE_H_
11#define SEMF_APP_BATTERY_BATTERYSTATEOFCHARGE_H_
27template <
typename T_SOC,
typename T_VOLTAGE,
typename T_CURRENT,
typename T_TEMPERATURE>
40 virtual void updateSoc(uint16_t timeDelta, T_VOLTAGE voltage, T_CURRENT current, T_TEMPERATURE temperature) = 0;
Interface for using state of charge in a battery model.
virtual void setAbsoluteSoc(T_SOC soc)=0
Sets the absolute state of charge.
virtual T_SOC absoluteSoc() const =0
Returns the absolute state of charge.
virtual void updateSoc(uint16_t timeDelta, T_VOLTAGE voltage, T_CURRENT current, T_TEMPERATURE temperature)=0
Updates the state of charge relative to the current, voltage and temperature of the battery.
virtual void initSocByLastSoc(T_SOC lastAbsoluteSoc)=0
Initializes the state of charge calculation by the open circuit voltage after booting.
virtual ~BatteryStateOfCharge()=default
virtual void initSocByOcv(T_VOLTAGE ocv)
Initializes the state of charge calculation by the open circuit voltage after booting.
virtual T_SOC relativeSoc() const =0
Returns the relative state of charge. This is the value normally showed on a display.