%description: This is a test for ideal radio interference handling. The first signal is stronger than the reception threshold. The second signal is stronger than the reception threshold. The second signal is much stronger than the first signal. The radio cannot switch to receiving the second signal. No signals are expected to be received. %file: test.ned import inet.networklayer.configurator.ipv4.IPv4NetworkConfigurator; import inet.node.inet.WirelessHost; import inet.physicallayer.idealradio.IdealRadioMedium; network Test { submodules: radioMedium: IdealRadioMedium; configurator: IPv4NetworkConfigurator; hostSender1: WirelessHost; hostSender2: WirelessHost; hostReceiver: WirelessHost; } %inifile: omnetpp.ini [General] network = Test sim-time-limit = 500us record-eventlog = true ned-path = .;../../../../src #omnetpp 5.0 - 5.1 compatibility: eventlog-file = "${resultdir}/${configname}-${runnumber}.elog" output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca" output-vector-file = "${resultdir}/${configname}-${runnumber}.vec" snapshot-file = "${resultdir}/${configname}-${runnumber}.sna" **.arpType = "GlobalARP" **.mobility.constraintAreaMinZ = 0m **.mobility.constraintAreaMinX = 0m **.mobility.constraintAreaMinY = 0m **.mobility.constraintAreaMaxX = 1000m **.mobility.constraintAreaMaxY = 1000m **.mobility.constraintAreaMaxZ = 0m **.mobility.initFromDisplayString = false **.mobility.initialY = 500m **.mobility.initialZ = 0m *.host*.mobilityType = "StationaryMobility" *.hostSender1.mobility.initialX = 200m *.hostSender2.mobility.initialX = 800m *.hostReceiver.mobility.initialX = 400m # nic *.host*.wlan[*].typename = "IdealWirelessNic" *.host*.wlan[*].bitrate = 2Mbps *.host*.wlan[*].mac.headerLength = 10B *.host*.wlan[*].mac.fullDuplex = false *.host*.wlan[*].radioType = "IdealRadio" *.host*.wlan[*].radio.transmitter.bitrate = 2Mbps *.host*.wlan[*].radio.transmitter.preambleDuration = 0s *.host*.wlan[*].radio.transmitter.headerBitLength = 100b *.host*.wlan[*].radio.receiver.ignoreInterference = false *.hostSender1.wlan[*].radio.transmitter.communicationRange = 300m *.hostSender1.wlan[*].radio.transmitter.interferenceRange = 600m *.hostSender1.wlan[*].radio.transmitter.detectionRange = 1.2km *.hostSender2.wlan[*].radio.transmitter.communicationRange = 1km *.hostSender2.wlan[*].radio.transmitter.interferenceRange = 2km *.hostSender2.wlan[*].radio.transmitter.detectionRange = 4km *.hostReceiver.wlan[*].radio.transmitter.communicationRange = 0m *.hostReceiver.wlan[*].radio.transmitter.interferenceRange = 0m *.hostReceiver.wlan[*].radio.transmitter.detectionRange = 0m # ping app *.hostSender*.numPingApps = 1 *.hostSender*.pingApp[0].count = 1 *.hostSender*.pingApp[0].printPing = true *.hostSender*.pingApp[0].destAddr = "hostReceiver" *.hostSender*.pingApp[0].startTime = 0s %contains: results/General-0.elog Changing radio reception state from IDLE to RECEIVING. %contains: results/General-0.elog Received (inet::IdealMacFrame)ping0 contains bit errors or collision, dropping it %not-contains: results/General-0.elog Passing up contained packet `ping0' to higher layer %#-------------------------------------------------------------------------------------------------------------- %not-contains: stdout undisposed object: %not-contains: stdout -- check module destructor %#--------------------------------------------------------------------------------------------------------------