ns-3
|
A WiFi radio energy model. More...
#include <wifi-radio-energy-model.h>
Public Types | |
typedef Callback< void > | WifiRadioEnergyDepletionCallback |
![]() | |
typedef Callback< void, int > | ChangeStateCallback |
Public Member Functions | |
virtual void | SetEnergySource (Ptr< EnergySource > source) |
Sets pointer to EnergySouce installed on node. | |
virtual double | GetTotalEnergyConsumption (void) const |
double | GetIdleCurrentA (void) const |
void | SetIdleCurrentA (double idleCurrentA) |
double | GetCcaBusyCurrentA (void) const |
void | SetCcaBusyCurrentA (double ccaBusyCurrentA) |
double | GetTxCurrentA (void) const |
void | SetTxCurrentA (double txCurrentA) |
double | GetRxCurrentA (void) const |
void | SetRxCurrentA (double rxCurrentA) |
double | GetSwitchingCurrentA (void) const |
void | SetSwitchingCurrentA (double switchingCurrentA) |
WifiPhy::State | GetCurrentState (void) const |
void | SetEnergyDepletionCallback (WifiRadioEnergyDepletionCallback callback) |
virtual void | ChangeState (int newState) |
Changes state of the WifiRadioEnergyMode. | |
virtual void | HandleEnergyDepletion (void) |
Handles energy depletion. | |
WifiRadioEnergyModelPhyListener * | GetPhyListener (void) |
![]() | |
double | GetCurrentA (void) const |
![]() | |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Dispose (void) |
void | AggregateObject (Ptr< Object > other) |
AggregateIterator | GetAggregateIterator (void) const |
void | Start (void) |
![]() | |
SimpleRefCount (const SimpleRefCount &o) | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
uint32_t | GetReferenceCount (void) const |
![]() | |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::WifiRadioEnergyModel. |
A WiFi radio energy model.
4 states are defined for the radio: TX, RX, IDLE, SLEEP. Default state is IDLE. The different types of transactions that are defined are:
Energy calculation: For each transaction, this model notifies EnergySource object. The EnergySource object will query this model for the total current. Then the EnergySource object uses the total current to calculate energy.
Default values for power consumption are based on CC2420 radio chip, with supply voltage as 2.5V and currents as 17.4 mA (TX), 18.8 mA (RX), 20 uA (sleep) and 426 uA (idle).
Callback type for energy depletion handling.
|
virtual |
Changes state of the WifiRadioEnergyMode.
newState | New state the wifi radio is in. |
Implements DeviceEnergyModel::ChangeState.
Implements ns3::DeviceEnergyModel.
References ns3::WifiPhy::CCA_BUSY, ns3::Time::GetNanoSeconds(), ns3::Time::GetSeconds(), ns3::EnergySource::GetSupplyVoltage(), ns3::WifiPhy::IDLE, ns3::Now(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::WifiPhy::RX, ns3::WifiPhy::SWITCHING, ns3::WifiPhy::TX, and ns3::EnergySource::UpdateEnergySource().
WifiPhy::State ns3::WifiRadioEnergyModel::GetCurrentState | ( | void | ) | const |
WifiRadioEnergyModelPhyListener * ns3::WifiRadioEnergyModel::GetPhyListener | ( | void | ) |
|
virtual |
Implements DeviceEnergyModel::GetTotalEnergyConsumption.
Implements ns3::DeviceEnergyModel.
|
static |
This method returns the TypeId associated to ns3::WifiRadioEnergyModel.
Attributes defined for this type:
TraceSources defined for this type:
Reimplemented from ns3::DeviceEnergyModel.
References ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
|
virtual |
Handles energy depletion.
Implements DeviceEnergyModel::HandleEnergyDepletion
Implements ns3::DeviceEnergyModel.
References NS_LOG_DEBUG.
void ns3::WifiRadioEnergyModel::SetEnergyDepletionCallback | ( | WifiRadioEnergyDepletionCallback | callback | ) |
callback | Callback function. |
Sets callback for energy depletion handling.
References NS_LOG_DEBUG, and NS_LOG_FUNCTION.
|
virtual |
Sets pointer to EnergySouce installed on node.
source | Pointer to EnergySource installed on node. |
Implements DeviceEnergyModel::SetEnergySource.
Implements ns3::DeviceEnergyModel.
References NS_ASSERT, and NS_LOG_FUNCTION.