Base module for every mac layer module
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.
| Name | Type | Description |
|---|---|---|
| BaseLayer | simple module |
Base module for all layer modules. Defines the in and out gates |
| Name | Type | Description |
|---|---|---|
| BMacLayer | simple module |
Implementation of B-MAC (called also Berkeley MAC, Low Power Listening or LPL). See C++ documentation for details. |
| csma | simple module |
Generic CSMA protocol supporting Mac-ACKs as well as constant, linear or exponential backoff times. |
| CSMAMacLayer | simple module |
CSMA MAC protocol |
| LMacLayer | simple module |
Implementation of L-MAC (Lightweight Medium Access Protocol for Wireless Sensor Networks) |
| Mac80211 | simple module |
Implementation of the 802.11b MAC protocol. This module is intended to be used in combination with the Decider80211 as decider for the physical layer. |
| SimpleMacLayer | simple module | (no description) |
| UWBIRMac | simple module |
This class provides helper function for MAC modules that use the UWB-IR IEEE 802.15.4A model. Just before sending down a packet to the UWBIRPhyLayer, call prepareData(UWBIRMacPkt* packet). Just after receiving a packet from the UWBIRPhyLayer, call validatePacket(UWBIRMacPkt* packet) and check the returned bool value to know if the packet could be decoded successfully. |
| Name | Type | Default value | Description |
|---|---|---|---|
| notAffectedByHostState | bool | false | |
| coreDebug | bool | false |
debug switch |
| headerLength | int |
length of the MAC packet header (in bits) |
|
| address | string | "auto" |
MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 1. |
| Name | Value | Description |
|---|---|---|
| class | BaseMacLayer |
| Name | Direction | Size | Description |
|---|---|---|---|
| upperLayerIn | input |
from upper layer |
|
| upperLayerOut | output |
to uppe layer |
|
| upperControlIn | input |
control from upper layer |
|
| upperControlOut | output |
control to upper layer |
|
| lowerLayerIn | input |
from lower layer |
|
| lowerLayerOut | output |
to lower layer |
|
| lowerControlIn | input |
control from lower layer |
|
| lowerControlOut | output |
control to lower layer |
// Base module for every mac layer module simple BaseMacLayer extends BaseLayer like IWirelessMac { parameters: @class(BaseMacLayer); bool coreDebug = default(false); // debug switch int headerLength @unit(bit); // length of the MAC packet header (in bits) string address = default("auto"); // MAC address as hex string (12 hex digits), or // "auto". "auto" values will be replaced by // a generated MAC address in init stage 1. }