Simple Module PhyLayerBattery

Package: org.mixim.modules.phy
File: modules/phy/PhyLayerBattery.ned

C++ definition

Extends PhyLayer module with power consumption support

PhyLayerBattery

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Extends:

PhyLayer (simple module)

Physical layer module which knows how to initialize the Deciders and AnalogueModels from the modules directory. See the classes documentation for details.

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

Nic80211Battery (compound module)

Based on Nic80211

Nic80211MultiChannel (compound module)

This NIC implements an 802.11 network interface card with multi channel support and power consumption. Note: This NIC does not model interference between adjacent channels!

Nic802154_TI_CC1100 (compound module)

This NIC implements a TI CC1100 network interface card using the CSMA protocol as specified in IEEE 802.15.4-2006.

Nic802154_TI_CC2420 (compound module)

This NIC implements a Texas Instruments CC 2420 802.15.4 network interface card using the CSMA protocol as specified in IEEE 802.15.4-2006.

NicBMAC (compound module)

This module implements a BMAC network interface card using the "BMACLayer" MAC layer module

NicLMAC (compound module)

This module implements a LMAC network interface card using the "LMacLayer" MAC layer module

Parameters:

Name Type Default value Description
coreDebug bool

debug switch for core framework

recordStats bool false

enable/disable tracking of statistics (eg. cOutvectors)

headerLength int 0

defines the length of the phy header (/preamble)

usePropagationDelay bool

Should transmission delay be simulated?

thermalNoise double

the strength of the thermal noise [dBm]

useThermalNoise bool

should thermal noise be considered?

analogueModels xml

Specification of the analogue models to use and their parameters

decider xml

Specification of the decider to use and its parameters

sensitivity double

The sensitivity of the physical layer [dBm]

maxTXPower double

The maximum transimission power of the physical layer [mW]

timeRXToTX double 0

switchTimes [s]:

timeRXToSleep double 0
timeTXToRX double 0
timeTXToSleep double 0
timeSleepToRX double 0
timeSleepToTX double 0
initialRadioState int 0

state the radio is initially in

radioMinAtt double 1.0

radios gain factor (attenuation) while receiving

radioMaxAtt double 0.0

radios gain factor (attenuation) while not receiving

nbRadioChannels int 1

Number of available radio channels. Defaults to single channel radio.

initialRadioChannel int 0

Initial radio channel.

numActivities int 5

the number of different power consuming activities the phy layer has change this parameter if your decider or physical layer uses more than the default 5 activities (sleep, rx, tx, switching, decoding)

Properties:

Name Value Description
class PhyLayerBattery

Gates:

Name Direction Size Description
upperGateIn input

from the MAC layer

upperGateOut output

to the MAC layer

upperControlIn input

control from the MAC layer

upperControlOut output

control to the MAC layer

radioIn input

for sendDirect from other physical layers

Source code:

//
// Extends PhyLayer module with power consumption support
//
simple PhyLayerBattery extends PhyLayer
{
    parameters:
        @class(PhyLayerBattery);

        // the number of different power consuming activities the phy layer has
        // change this parameter if your decider or physical layer uses more
        // than the default 5 activities (sleep, rx, tx, switching, decoding)
        int numActivities = default(5);
}