Implementation of L-MAC (Lightweight Medium Access Protocol for Wireless Sensor Networks)
See C++ documentation for details
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Description |
---|---|---|
MACProtocolBase | simple module |
Module base for different MAC protocols. |
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string | ||
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 0. |
slotDuration | double | 100ms |
how long is a slot? |
headerLength | int | 10B | |
mtu | int | 0B | |
queueLength | double | 10 |
length of MAC header |
defaultChannel | double | 0 |
default channel |
bitrate | double | 19200bps |
bit rate |
reservedMobileSlots | int | 2 | |
numSlots | int | 64 | |
radioModule | string | "^.radio" |
The path to the Radio module //FIXME remove default value |
Name | Value | Description |
---|---|---|
display | i=block/rxtx | |
class | LMacLayer |
Name | Direction | Size | Description |
---|---|---|---|
upperLayerIn | input | ||
upperLayerOut | output | ||
lowerLayerIn | input | ||
lowerLayerOut | output |
Name | Type | Unit |
---|---|---|
packetReceivedFromUpper | cPacket | |
packetReceivedFromLower | cPacket | |
packetFromLowerDropped | cPacket | |
packetFromUpperDropped | cPacket | |
packetSentToLower | cPacket | |
packetSentToUpper | cPacket |
// // Implementation of L-MAC (Lightweight Medium Access Protocol for // Wireless Sensor Networks) // // See C++ documentation for details // simple LMacLayer extends MACProtocolBase like IMACProtocol { parameters: 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 0. // how long is a slot? double slotDuration @unit(s) = default(100ms); int headerLength @unit(B) = default(10B); int mtu @unit("B") = default(0B); // length of MAC header double queueLength = default(10); // default channel double defaultChannel = default(0); // bit rate double bitrate @unit(bps) = default(19200bps); // level at which we consider medium busy FIXME not used currently // double busyRSSI; int reservedMobileSlots = default(2); int numSlots = default(64); string radioModule = default("^.radio"); // The path to the Radio module //FIXME remove default value @class(LMacLayer); }