Compound Module PhyMacHost

Package: org.mixim.examples.ieee802154Narrow
File: examples/ieee802154Narrow/PhyMacHost.ned

(no description)

BatteryStats SimpleBattery BaseUtility BaseMobility BaseArp NetworkStackTrafficGen Nic802154_TI_CC2420

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.

Networks:

ieee802154Narrow (network)

This example shows how to use MiXiMs implementation of the ieee802154 narrow band protocol. It also provides an example on using the global blackboard provided by BaseWorldUtility.

Parameters:

Name Type Default value Description
numHosts double

total number of hosts in the network

Properties:

Name Value Description
display bgb=363,335,white;bgp=10,10

Gates:

Name Direction Size Description
radioIn input

Unassigned submodule parameters:

Name Type Default value Description
batteryStats.debug bool

write per-activity and per-device statistics to omnetpp.sca (if false, only total energy and lifetime are written)

batteryStats.detail bool

subscribe to battery status and record time series data in omnetpp.vec (resolution depends on battery's publishDelta)

batteryStats.timeSeries bool
battery.debug bool
battery.nominal double

nominal battery capacity

battery.capacity double

battery capacity

battery.voltage double

nominal voltage

battery.resolution double

capacity is updated at least every resolution time

battery.publishDelta double

if > 0, capacity is published to the BB each publishTime interval

battery.publishTime double

number of modules that will draw energy from the battery

battery.numDevices int
utility.coreDebug bool

debug switch for the base framework

mobility.coreDebug bool

debug switch for the core framework

mobility.x double

x coordinate of the nodes' position (-1 = random)

mobility.y double

y coordinate of the nodes' position (-1 = random)

mobility.z double

z coordinate of the nodes' position (-1 = random)

arp.coreDebug bool

debug switch for the core framework

appl.packetTime double
appl.packetsPerPacketTime double
appl.debug bool

debug switch

appl.burstSize int 1
appl.packetLength int

length of the generated packet (in bits)

appl.destination int -1
nic.phy.coreDebug bool

debug switch for core framework

nic.phy.recordStats bool false

enable/disable tracking of statistics (eg. cOutvectors)

nic.phy.usePropagationDelay bool

Should transmission delay be simulated?

nic.phy.useThermalNoise bool

should thermal noise be considered?

nic.phy.analogueModels xml

Specification of the analogue models to use and their parameters

nic.phy.sensitivity double

The sensitivity of the physical layer [dBm]

nic.phy.maxTXPower double

The maximum transimission power of the physical layer [mW]

nic.phy.initialRadioState int 0

state the radio is initially in

nic.phy.radioMinAtt double 1.0

radios gain factor (attenuation) while receiving

nic.phy.radioMaxAtt double 0.0

radios gain factor (attenuation) while not receiving

nic.phy.nbRadioChannels int 1

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

nic.phy.initialRadioChannel int 0

Initial radio channel.

nic.phy.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)

nic.mac.notAffectedByHostState bool false
nic.mac.coreDebug bool

debug switch

nic.mac.debug bool false

debug switch

nic.mac.stats bool true
nic.mac.trace bool false
nic.mac.queueLength double 100

size of the MAC queue (maximum number of packets in Tx buffer)

nic.mac.txPower double 1 mW

tx power [mW]

nic.mac.useMACAcks bool true

Send/Expect MAC acks for unicast traffic?

nic.mac.macMaxFrameRetries double 3

maximum number of frame retransmission only used when usage of MAC acks is enabled

nic.mac.macMaxCSMABackoffs double 4

maximum backoffs

nic.mac.contentionWindow int 2

# of backoff periods of the initial contention window (for linear and constant backoff method only)

nic.mac.macMinBE double 3

minimum backoff exponent (for exponential backoff method only)

nic.mac.macMaxBE double 5

maximum backoff exponent (for exponential backoff method only)

Source code:

module PhyMacHost
{
    parameters:
        double numHosts; // total number of hosts in the network

        @display("bgb=363,335,white;bgp=10,10");
    gates:
        input radioIn;

    submodules:
        batteryStats: BatteryStats {
            @display("p=239,206;i=block/circle");
        }
        battery: SimpleBattery {
            @display("p=171,206;i=block/control");
        }
        utility: BaseUtility {
            parameters:
                @display("p=205,146;i=block/blackboard");
        }
        mobility: BaseMobility {
            parameters:
                @display("p=205,81;i=block/cogwheel");
        }
        arp: BaseArp {
            @display("p=205,264;b=30,25;i=block/process");
        }
        appl: NetworkStackTrafficGen {
            parameters:
                @display("p=80,132;b=20,20,rect,white;i=block/app");
        }
        nic: Nic802154_TI_CC2420 {
            parameters:
                @display("b=32,30;p=80,233;i=block/ifcard");
        }
    connections:
        nic.upperGateOut --> { @display("ls=black;m=m,25,50,25,0"); } --> appl.lowerGateIn;
        nic.upperGateIn <-- { @display("ls=black;m=m,15,50,15,0"); } <-- appl.lowerGateOut;
        nic.upperControlOut --> { @display("ls=red;m=m,75,50,75,0"); } --> appl.lowerControlIn;
        nic.upperControlIn <-- { @display("ls=red;m=m,85,0,85,0"); } <-- appl.lowerControlOut;
        radioIn --> nic.radioIn;

}