Ieee802154UWBIRNic

Package: inet.linklayer.ieee802154

Ieee802154UWBIRNic

compound module

(no description)

queue : like IOutputQueue

IOutputQueue: Prototype for output queues.

Source:
queue: <queueType> like IOutputQueue {
    parameters:
        @display("p=100,50;q=l2queue");
} mac : IdealMac

Implements a trivial MAC layer for use in ~IdealWirelessNic.

Source:
mac: IdealMac {
    parameters:
        @display("p=100,150");
} radio : like IRadio

IRadio: Prototype for radio modules.

Source:
radio: <radioType> like IRadio {
    parameters:
        @display("p=100,250");
}

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Parameters

Name Type Default value Description
interfaceTableModule string
queueType string "DropTailQueue"

DropTailQueue, a Diffserv queue, etc.

radioType string "Ieee802154UWBIRRadio"

Properties

Name Value Description
display i=block/ifcard

Gates

Name Direction Size Description
upperLayerIn input
upperLayerOut output
radioIn input

Unassigned submodule parameters

Name Type Default value Description
mac.interfaceTableModule string
mac.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.

mac.bitrate double
mac.mtu int 4470B
mac.headerLength int 0B

IdealMacFrame.byteLength = headerLength + packetFromUpperLayer.byteLength

mac.promiscuous bool false
mac.fullDuplex bool true

allows transmitting and receiving simultaneously (transceiver radio mode)

mac.useAck bool true
mac.ackTimeout double 100ms

Source code

module Ieee802154UWBIRNic like IWirelessNic
{
    parameters:
        string interfaceTableModule;
        string queueType = default("DropTailQueue");    // DropTailQueue, a Diffserv queue, etc.
        string radioType = default("Ieee802154UWBIRRadio");
        *.interfaceTableModule = default(absPath(interfaceTableModule));
        @display("i=block/ifcard");
    gates:
        input upperLayerIn;
        output upperLayerOut;
        input radioIn @labels(IRadioFrame);
    submodules:
        queue: <queueType> like IOutputQueue {
            parameters:
                @display("p=100,50;q=l2queue");
        }
        mac: IdealMac {
            parameters:
                @display("p=100,150");
        }
        radio: <radioType> like IRadio {
            parameters:
                @display("p=100,250");
        }
    connections:
        upperLayerIn --> { @display("m=n"); } --> queue.in;
        queue.out --> mac.upperLayerIn;
        mac.lowerLayerOut --> radio.upperLayerIn;
        mac.upperLayerOut --> { @display("m=n"); } --> upperLayerOut;
        radioIn --> { @display("m=s"); } --> radio.radioIn;
        radio.upperLayerOut --> mac.lowerLayerIn;
}
File: src/inet/linklayer/ieee802154/Ieee802154UWBIRNic.ned