NED File src/inet/linklayer/ieee802154/Ieee802154NarrowbandNic.ned
Source code:
//
// Copyright (C) 2014 Florian Meier
// Copyright (C) 2013 OpenSim Ltd.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program; if not, see <http://www.gnu.org/licenses/>.
//
package inet.linklayer.ieee802154;
import inet.linklayer.contract.IWirelessNic;
import inet.physicallayer.contract.packetlevel.IRadio;
module Ieee802154NarrowbandNic like IWirelessNic
{
parameters:
string interfaceTableModule;
string radioType = default("Ieee802154NarrowbandScalarRadio");
*.interfaceTableModule = default(absPath(interfaceTableModule));
@display("i=block/ifcard");
gates:
input upperLayerIn;
output upperLayerOut;
input radioIn @labels(IRadioFrame);
submodules:
mac: Ieee802154NarrowbandMac {
parameters:
@display("p=100,150");
}
radio: <radioType> like IRadio {
parameters:
@display("p=100,250");
}
connections:
upperLayerIn --> mac.upperLayerIn;
mac.lowerLayerOut --> radio.upperLayerIn;
mac.upperLayerOut --> { @display("m=n"); } --> upperLayerOut;
radioIn --> { @display("m=s"); } --> radio.radioIn;
radio.upperLayerOut --> mac.lowerLayerIn;
}