TraciMobility::getExternalId 将自定义模块添加到示例中时出错Veins_Inet (Omne

TraciMobility::getExternalId error when adding custom module into Veins_Inet example (Omnet++)

本文关键字:Veins 出错 Inet Omne 自定义 getExternalId 模块 添加 TraciMobility      更新时间:2023-10-16

我正在尝试将一个新的自定义RSU模块(扩展AdHocHost(添加到Veins_Inet示例中。这是我更新的方案(具有 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 文件。源文件有2个功能,预初始化模块和更新模块位置。

simple VeinsInetManager extends TraCIScenarioManagerLaunchd {
parameters:
@class(veins::VeinsInetManager);}

如何在不引发任何错误的情况下将自定义模块添加到方案中?

您的应用程序可能继承自VeinsInetApplicationBase,它调用 TraCI 方法(对于不是 TraCI 管理工具的节点失败(。另请参阅其源代码。

为了加倍确定,请在调试模式下运行模拟,打开debug-on-errors,并检查堆栈跟踪以查看调用来自何处。