StateBasedCcEnergyConsumer

Package: inet.physicallayer.energyconsumer

StateBasedCcEnergyConsumer

simple module

This module provides a radio energy consumer model. The current consumption is determined by the radio mode, the transmitter state and the receiver state using constant parameters.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends

Name Type Description
CcEnergyConsumerBase simple module

This is an abstract base module for current based energy consumer models. It defines shared signals and statistics.

Parameters

Name Type Default value Description
energySourceModule string
minSupplyVoltage double 0V
maxSupplyVoltage double 1V/0
offCurrentConsumption double 0mA
sleepCurrentConsumption double 1mA
switchingCurrentConsumption double 1mA
receiverIdleCurrentConsumption double 2mA
receiverBusyCurrentConsumption double 5mA
receiverReceivingCurrentConsumption double 10mA
receiverReceivingPreambleCurrentConsumption double receiverReceivingCurrentConsumption
receiverReceivingHeaderCurrentConsumption double receiverReceivingCurrentConsumption
receiverReceivingDataCurrentConsumption double receiverReceivingCurrentConsumption
transmitterIdleCurrentConsumption double 2mA
transmitterTransmittingCurrentConsumption double 100mA
transmitterTransmittingPreambleCurrentConsumption double transmitterTransmittingCurrentConsumption
transmitterTransmittingHeaderCurrentConsumption double transmitterTransmittingCurrentConsumption
transmitterTransmittingDataCurrentConsumption double transmitterTransmittingCurrentConsumption

Properties

Name Value Description
display i=block/cogwheel
class StateBasedCcEnergyConsumer

Signals

Name Type Unit
currentConsumptionChanged double

Statistics

Name Title Source Record Unit Interpolation Mode
currentConsumption Current consumption currentConsumptionChanged vector sample-hold

Source code

//
// This module provides a radio energy consumer model. The current consumption is
// determined by the radio mode, the transmitter state and the receiver state
// using constant parameters.
//
simple StateBasedCcEnergyConsumer extends CcEnergyConsumerBase
{
    parameters:
        string energySourceModule;
        double minSupplyVoltage @unit(V) = default(0V);
        double maxSupplyVoltage @unit(V) = default(1V/0);
        double offCurrentConsumption @unit(A) = default(0mA);
        double sleepCurrentConsumption @unit(A) = default(1mA);
        double switchingCurrentConsumption @unit(A) = default(1mA);
        double receiverIdleCurrentConsumption @unit(A) = default(2mA);
        double receiverBusyCurrentConsumption @unit(A) = default(5mA);
        double receiverReceivingCurrentConsumption @unit(A) = default(10mA);
        double receiverReceivingPreambleCurrentConsumption @unit(A) = default(receiverReceivingCurrentConsumption);
        double receiverReceivingHeaderCurrentConsumption @unit(A) = default(receiverReceivingCurrentConsumption);
        double receiverReceivingDataCurrentConsumption @unit(A) = default(receiverReceivingCurrentConsumption);
        double transmitterIdleCurrentConsumption @unit(A) = default(2mA);
        double transmitterTransmittingCurrentConsumption @unit(A) = default(100mA);
        double transmitterTransmittingPreambleCurrentConsumption @unit(A) = default(transmitterTransmittingCurrentConsumption);
        double transmitterTransmittingHeaderCurrentConsumption @unit(A) = default(transmitterTransmittingCurrentConsumption);
        double transmitterTransmittingDataCurrentConsumption @unit(A) = default(transmitterTransmittingCurrentConsumption);
        @display("i=block/cogwheel");
        @class(StateBasedCcEnergyConsumer);
}
File: src/inet/physicallayer/energyconsumer/StateBasedCcEnergyConsumer.ned