Hi all,
I am currently working with Veins 4.6 using OMNeT++ 5.2.
Just recently I have rerun a simulation I originally executed using OMNeT++ 5.0. The simulation itself finished without any problems. However, plotting some results using R and the omnetpp R library does not work any more. The following error occurs already during loading of the .sca file:
> loadDataset("isotropic-start25200-r11min.sca")
Error in loadDataset("isotropic-start25200-r11min.sca") :
Error in callLoadDataset: Value of module parameter conflicts with previously loaded value, file isotropic-start25200-r11min.sca, line 35
It took a while until I finally found out that the problem is caused by the .sca file itself. The reason is that some configuration parameters are defined more than once. In this exemplary excerpt, the parameters *.manager.launchConfig, *.**.nic.phy80211p.antenna and *.connectionManager.maxInterfDist show up twice:
version 2
run sampled2D-0-20171126-23:43:30-14943
attr configname sampled2D
attr datetime 20171126-23:43:30
attr experiment sampled2D
attr inifile omnetpp.ini
attr iterationvars "$start=25200, $end=25260"
attr iterationvarsf start=25200,end=25260-
attr measurement "$start=25200, $end=25260"
attr network org.car2x.veins.nodes.Scenario
attr processid 14943
attr repetition 0
attr replication #0
attr resultdir results
attr runnumber 0
attr seedset 0
itervar end 25260
itervar start 25200
param *.manager.launchConfig "xmldoc(\"lust2D.launchd.xml\")"
param *.**.nic.phy80211p.antenna "xmldoc(\"antennas2D.xml\")"
param *.connectionManager.maxInterfDist 2600m
param **.debug false
param **.coreDebug false
param *.playgroundSizeX 15000m
param *.playgroundSizeY 15000m
param *.playgroundSizeZ 400m
param *.annotations.draw false
param *.obstacles.debug false
param *.obstacles.obstacles "xmldoc(\"config.xml\", \"//AnalogueModel[@type='SimpleObstacleShadowing']/obstacles\")"
param *.manager.updateInterval 1s
param *.manager.host "\"localhost\""
param *.manager.port 9995
param *.manager.firstStepAt 25200s
param *.manager.autoShutdown true
param *.manager.launchConfig "xmldoc(\"lust.launchd.xml\")"
param *.connectionManager.sendDirect true
param *.connectionManager.maxInterfDist 2600m
param *.connectionManager.drawMaxIntfDist false
param *.**.nic.mac1609_4.useServiceChannel false
param *.**.nic.mac1609_4.txPower 20mW
param *.**.nic.mac1609_4.bitrate 6Mbps
param *.**.nic.phy80211p.sensitivity -89dBm
param *.**.nic.phy80211p.useThermalNoise true
param *.**.nic.phy80211p.thermalNoise -110dBm
param *.**.nic.phy80211p.decider "xmldoc(\"config.xml\")"
param *.**.nic.phy80211p.analogueModels "xmldoc(\"config.xml\")"
param *.**.nic.phy80211p.usePropagationDelay true
param *.**.nic.phy80211p.antenna "xmldoc(\"antenna.xml\")"
...
The reason is that I have a general configuration description as well as a special configuration where I specifically assigned (other) values to these three parameters. However, the simulation performs correctly and takes the updated values. Moreover, using version 5.0, this worked without any problems at all. So I compared the outcome of version 5.2 to the .sca file of a similar run based on version 5.0, which looks like this:
version 2
run sampled2D-16-20170707-18:16:27-12124
attr configname sampled2D
attr datetime 20170707-18:16:27
attr end 21720
attr experiment sampled2D
attr inifile omnetpp.ini
attr iterationvars "$end=21720, $start=21600"
attr iterationvars2 "$end=21720, $start=21600, $repetition=0"
attr measurement "$end=21720, $start=21600"
attr network org.car2x.veins.nodes.Scenario
attr processid 12124
attr repetition 0
attr replication #0
attr resultdir results
attr runnumber 16
attr seedset 16
attr start 21600
param **.coreDebug true
param **.debug true
param *.**.nic.mac1609_4.bitrate 6Mbps
param *.**.nic.mac1609_4.txPower 20mW
param *.**.nic.mac1609_4.useServiceChannel false
param *.**.nic.phy80211p.analogueModels "xmldoc(\"config.xml\")"
param *.**.nic.phy80211p.antenna "xmldoc(\"antenna.xml\")"
param *.**.nic.phy80211p.decider "xmldoc(\"config.xml\")"
param *.**.nic.phy80211p.sensitivity -89dBm
param *.**.nic.phy80211p.thermalNoise -110dBm
param *.**.nic.phy80211p.usePropagationDelay true
param *.**.nic.phy80211p.useThermalNoise true
param *.annotations.draw false
param *.connectionManager.drawMaxIntfDist false
param *.connectionManager.maxInterfDist 2600m
param *.connectionManager.sendDirect true
param *.manager.autoShutdown true
param *.manager.firstStepAt "${start = 14400 , 18000, 21600}s"
param *.manager.host "\"localhost\""
param *.manager.launchConfig "xmldoc(\"lust.launchd.xml\")"
param *.manager.port 9995
param *.manager.updateInterval 1s
As can be seen, every parameter is mentioned only once, which is why the loadDataset(..) function in R works without problems.
Now, my question is: Is this change meant to be this way and the loadDataset(..) function in the omnetpp R library or the .sca generation itself needs to be fixed? Or is it my fault and I should not redefine configuration parameters for different configurations in the omnetpp.ini file?
Thanks in advance,
Alex