我正尝试在Veins_Inet示例中添加一个新的自定义RSU模块(扩展AdHocHost)。这是我的更新方案(使用1个RSU)。
network TestScenario {
submodules:
radioMedium: Ieee80211ScalarRadioMedium;
manager: VeinsInetManager;
node[0]: VeinsInetCar;
// added rsu
rsu: VeinsInetRSU;
connections allowunconnected:}
我还更新了ini文件,以便RSU移动性为
*.rsu.mobility.typename = "inet.mobility.static.StationaryMobility"
RSU应用程序非常简单,只有很少的实现:
*.rsu.app[0].typename = "practice.veins_inet.VeinsInetRSUSampleApplication".
但是,我得到以下错误:
TraCIMobility::getExternalId called with no external id set yet.
在本例中,VeinsInetManager使用TRACI管理汽车。以下是与管理器关联的ned文件。源文件有两个功能,预初始化模块和更新模块位置。
simple VeinsInetManager extends TraCIScenarioManagerLaunchd {
parameters:
@class(veins::VeinsInetManager);}
如何在不引发任何错误的情况下将自定义模块添加到场景中?
发布于 2020-06-26 16:38:25
您的应用程序可能继承自VeinsInetApplicationBase
,它调用TraCI方法(对于不是TraCI管理的工具的节点,这些方法将失败)。另请参见its source code。
要确保这一点,请在调试模式下运行模拟,打开debug-on-errors
,并检查堆栈跟踪以查看调用来自何处。
https://stackoverflow.com/questions/62359805
复制相似问题