Example host module using a LMAC Network interface card.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.
| LMAC (network) | (no description) |
| Name | Type | Default value | Description |
|---|---|---|---|
| applType | string |
type of the application layer |
|
| netwType | string |
type of the network layer |
|
| mobType | string |
type of the mobility module |
| Name | Value | Description |
|---|---|---|
| display | bgb=244,294,white |
| Name | Direction | Size | Description |
|---|---|---|---|
| radioIn | input |
gate for sendDirect |
| Name | Type | Default value | Description |
|---|---|---|---|
| utility.coreDebug | bool |
debug switch for the base framework |
|
| arp.coreDebug | bool |
debug switch for the core framework |
|
| arp.debug | bool | false |
enable debugging for this module |
| arp.offset | int | 0 |
Adds an offset to node addresses |
| 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) |
|
| appl.headerLength | int |
length of the application message header (in bits) |
|
| net.stats | bool |
stats switch |
|
| net.headerLength | double |
length of the network packet header (in bits) |
|
| nic.mac.notAffectedByHostState | bool | false | |
| nic.mac.coreDebug | bool |
debug switch |
|
| nic.mac.headerLength | double |
length of the MAC packet header (in bits) |
|
| nic.mac.debug | bool | false |
enable per module debug |
| nic.mac.slotDuration | double | 100ms |
how long is a slot? |
| nic.mac.queueLength | double | 10 |
length of MAC header |
| nic.mac.defaultChannel | double | 0 |
default channel |
| nic.mac.bitrate | double | 19200bps |
bit rate |
| nic.mac.reservedMobileSlots | int | 2 | |
| nic.mac.numSlots | int | 64 | |
| nic.mac.txPower | double | 50 | |
| nic.phy.coreDebug | bool |
debug switch for core framework |
|
| nic.phy.recordStats | bool | false |
enable/disable tracking of statistics (eg. cOutvectors) |
| nic.phy.headerLength | int | 0 |
defines the length of the phy header (/preamble) |
| nic.phy.usePropagationDelay | bool |
Should transmission delay be simulated? |
|
| nic.phy.thermalNoise | double |
the strength of the thermal noise [dBm] |
|
| 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.decider | xml |
Specification of the decider to use and its 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.timeRXToTX | double | 0 |
switchTimes [s]: |
| nic.phy.timeRXToSleep | double | 0 | |
| nic.phy.timeTXToRX | double | 0 | |
| nic.phy.timeTXToSleep | double | 0 | |
| nic.phy.timeSleepToRX | double | 0 | |
| nic.phy.timeSleepToTX | double | 0 | |
| 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) |
| 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 |
// // Example host module using a LMAC Network interface card. // module HostLMAC { parameters: string applType; //type of the application layer string netwType; //type of the network layer string mobType; //type of the mobility module @display("bgb=244,294,white"); gates: input radioIn; // gate for sendDirect submodules: utility: BaseUtility { parameters: @display("p=186,38;b=24,24,rect,black;i=block/blackboard"); } arp: ArpHost { parameters: @display("p=186,101;b=24,24,rect,blue;i=block/process"); } mobility: <mobType> like IBaseMobility { parameters: @display("p=186,166;i=block/cogwheel"); } appl: <applType> like IBaseApplLayer { parameters: @display("p=59,38;i=app"); } net: <netwType> like IBaseNetwLayer { parameters: @display("p=60,101;i=block/layer"); } nic: NicLMAC { parameters: @display("p=60,166;i=block/ifcard"); } batteryStats: BatteryStats { @display("p=136,232"); } battery: SimpleBattery { @display("p=212,232"); } connections: nic.upperGateOut --> net.lowerGateIn; nic.upperGateIn <-- net.lowerGateOut; nic.upperControlOut --> { @display("ls=red;m=m,70,0,70,0"); } --> net.lowerControlIn; nic.upperControlIn <-- { @display("ls=red;m=m,70,0,70,0"); } <-- net.lowerControlOut; net.upperGateOut --> appl.lowerGateIn; net.upperGateIn <-- appl.lowerGateOut; net.upperControlOut --> { @display("ls=red;m=m,70,0,70,0"); } --> appl.lowerControlIn; net.upperControlIn <-- { @display("ls=red;m=m,70,0,70,0"); } <-- appl.lowerControlOut; radioIn --> nic.radioIn; }