A battery abstraction. More...
#include <Battery.hh>
Public Types | |
typedef std::map< uint32_t, double > | PowerLoad_M |
Typedef the powerload map. | |
Public Member Functions | |
Battery () | |
Constructor. | |
Battery (Battery &&_battery) | |
Move constructor. | |
Battery (const Battery &_battery) | |
Copy constructor. | |
Battery (const std::string &_name, const double _voltage) | |
Constructor that sets the name and initial voltage. | |
virtual | ~Battery ()=default |
Destructor. | |
uint32_t | AddConsumer () |
Create a unique consumer. | |
virtual void | Init () |
Initialize. | |
double | InitVoltage () const |
Return the initial voltage. | |
std::string | Name () const |
Return the name of the battery. | |
bool | operator!= (const Battery &_battery) const |
Inequality operator. | |
Battery & | operator= (Battery &&_battery) |
Move assignment operator. | |
Battery & | operator= (const Battery &_battery) |
Copy assignment operator. | |
bool | operator== (const Battery &_battery) const |
Equal to operator. | |
bool | PowerLoad (const uint32_t _consumerId, double &_powerLoad) const |
Get consumer power load in watts. | |
const PowerLoad_M & | PowerLoads () const |
Get list of power loads in watts. | |
bool | RemoveConsumer (const uint32_t _consumerId) |
Remove a consumer. | |
void | ResetUpdateFunc () |
Reset function to update voltage, upon destruction of current callback function. | |
virtual void | ResetVoltage () |
Reset the battery voltage to the initial value. The initial value might have been loaded from an sdf element. | |
virtual void | SetInitVoltage (const double _voltage) |
Set the initial voltage. | |
void | SetName (const std::string &_name) const |
Set the name of the battery. | |
bool | SetPowerLoad (const uint32_t _consumerId, const double _powerLoad) |
Set consumer power load in watts. | |
void | SetUpdateFunc (std::function< double(Battery *)> _updateFunc) |
Setup function to update voltage. | |
void | Update () |
Update the battery. This will in turn trigger the function set using the SetUpdateFunc function. | |
double | Voltage () const |
Get the real voltage in volts. | |
Protected Member Functions | |
void | InitConsumers () |
Initialize the list of consumers. | |
Detailed Description
A battery abstraction.
The default battery model is ideal: It just takes the initial voltage value as its constant voltage value. This behavior can be changed by specifying a custom update function.
The battery handles a list of consumers. It updates itself after each simulation iteration. The update function takes the power loads for each consumer and current voltage value as inputs and returns a new voltage value.
Member Typedef Documentation
◆ PowerLoad_M
typedef std::map<uint32_t, double> PowerLoad_M |
Typedef the powerload map.
- See also
- SetUpdateFunc
Constructor & Destructor Documentation
◆ Battery() [1/4]
|
explicit |
Constructor.
◆ Battery() [2/4]
Battery | ( | const std::string & | _name, |
const double | _voltage | ||
) |
Constructor that sets the name and initial voltage.
- Parameters
-
[in] _name Name of the battery [in] _voltage Initial voltage of the battery
◆ Battery() [3/4]
◆ Battery() [4/4]
◆ ~Battery()
|
virtualdefault |
Destructor.
Member Function Documentation
◆ AddConsumer()
uint32_t AddConsumer | ( | ) |
Create a unique consumer.
- Returns
- Unique consumer identifier.
◆ Init()
|
virtual |
Initialize.
◆ InitConsumers()
|
protected |
Initialize the list of consumers.
◆ InitVoltage()
double InitVoltage | ( | ) | const |
Return the initial voltage.
- Returns
- The initial voltage.
◆ Name()
std::string Name | ( | ) | const |
Return the name of the battery.
- Returns
- The name of the battery.
◆ operator!=()
bool operator!= | ( | const Battery & | _battery | ) | const |
Inequality operator.
- Parameters
-
[in] _battery the battery to compare to
- Returns
- true if names or initial voltages are not the same, false otherwise
◆ operator=() [1/2]
Move assignment operator.
- Parameters
-
[in] _battery The new battery
- Returns
- a reference to this instance
◆ operator=() [2/2]
Copy assignment operator.
- Parameters
-
[in] _battery The new battery
- Returns
- a reference to this instance
◆ operator==()
bool operator== | ( | const Battery & | _battery | ) | const |
Equal to operator.
- Parameters
-
[in] _battery the battery to compare to
- Returns
- true if names and initial voltages are the same, false otherwise
◆ PowerLoad()
bool PowerLoad | ( | const uint32_t | _consumerId, |
double & | _powerLoad | ||
) | const |
Get consumer power load in watts.
- Parameters
-
[in] _consumerId Unique consumer identifier. [out] _powerLoad Power load consumption in watts.
- Returns
- True if getting the power load consumption was successful.
◆ PowerLoads()
const PowerLoad_M & PowerLoads | ( | ) | const |
Get list of power loads in watts.
- Returns
- List of power loads in watts.
◆ RemoveConsumer()
bool RemoveConsumer | ( | const uint32_t | _consumerId | ) |
Remove a consumer.
- Parameters
-
[in] _consumerId Unique consumer identifier.
- Returns
- True if the consumer was removed. False if the consumer id was not found.
◆ ResetUpdateFunc()
void ResetUpdateFunc | ( | ) |
Reset function to update voltage, upon destruction of current callback function.
- See also
- UpdateDefault
◆ ResetVoltage()
|
virtual |
Reset the battery voltage to the initial value. The initial value might have been loaded from an sdf element.
- See also
- Load
◆ SetInitVoltage()
|
virtual |
Set the initial voltage.
- Parameters
-
[in] _voltage Initial voltage.
◆ SetName()
void SetName | ( | const std::string & | _name | ) | const |
Set the name of the battery.
- Parameters
-
[in] _name Name of the battery.
◆ SetPowerLoad()
bool SetPowerLoad | ( | const uint32_t | _consumerId, |
const double | _powerLoad | ||
) |
Set consumer power load in watts.
- Parameters
-
[in] _consumerId Unique consumer identifier. [in] _powerLoad Power load in watts.
- Returns
- True if setting the power load consumption was successful.
◆ SetUpdateFunc()
void SetUpdateFunc | ( | std::function< double(Battery *)> | _updateFunc | ) |
Setup function to update voltage.
- Parameters
-
[in] _updateFunc The update function callback that is used to modify the battery's voltage. The parameter to the update function callback is a reference to an instance of Battery::UpdateData. The update function must return the new battery voltage as a double.
- See also
- UpdateData
◆ Update()
void Update | ( | ) |
Update the battery. This will in turn trigger the function set using the SetUpdateFunc function.
- See also
- SetUpdateFunc.
◆ Voltage()
double Voltage | ( | ) | const |
Get the real voltage in volts.
- Returns
- Voltage.
The documentation for this class was generated from the following file: