ICcEnergyConsumer

Package: inet.power.contract

ICcEnergyConsumer

module interface

This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with current [A], and storage capacity with charge [C] and output voltage [V]. The Cc is an abbreviation that is used for charge and current based interfaces.

See also: ICcEnergySource, ICcEnergyGenerator, ICcEnergySink, ICcEnergyStorage, ICcEnergyManagement

Author: Levente Meszaros

Inheritance diagram

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

Implemented by

Name Type Description
CcEnergyConsumerBase simple module

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

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.

Extends

Name Type Description
IEnergyConsumer module interface

The energy consumer models describe the energy consumption process of devices over time. For example, a radio consumes energy when it transmits or receives signals, or a CPU consumes energy when the network layer processes packets, or a display consumes energy when it's turned on, etc.

Properties

Name Value Description
display i=block/plug

Signals

Name Type Unit
currentConsumptionChanged double

Source code

//
// This interface extends the corresponding energy model interface. It requires
// implementations to describe energy consumption and energy generation with
// current [A], and storage capacity with charge [C] and output voltage [V].
// The Cc is an abbreviation that is used for charge and current based interfaces.
//
// @see ~ICcEnergySource, ~ICcEnergyGenerator, ~ICcEnergySink, ~ICcEnergyStorage, ~ICcEnergyManagement
// @author Levente Meszaros
//
moduleinterface ICcEnergyConsumer extends IEnergyConsumer
{
    parameters:
        @display("i=block/plug");
        @signal[currentConsumptionChanged](type=double);
}
File: src/inet/power/contract/ICcEnergyConsumer.ned