首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Veins_Inet示例中添加自定义模块时出现TraciMobility::getExternalId错误(Omnet++)

在Veins_Inet示例中添加自定义模块时出现TraciMobility::getExternalId错误(Omnet++)
EN

Stack Overflow用户
提问于 2020-06-13 20:33:45
回答 1查看 117关注 0票数 1

我正尝试在Veins_Inet示例中添加一个新的自定义RSU模块(扩展AdHocHost)。这是我的更新方案(使用1个RSU)。

代码语言:javascript
运行
复制
network TestScenario {
submodules:
    radioMedium: Ieee80211ScalarRadioMedium;
    manager: VeinsInetManager;
    node[0]: VeinsInetCar;

    // added rsu
    rsu: VeinsInetRSU;
connections allowunconnected:}

我还更新了ini文件,以便RSU移动性为

代码语言:javascript
运行
复制
*.rsu.mobility.typename = "inet.mobility.static.StationaryMobility" 

RSU应用程序非常简单,只有很少的实现:

代码语言:javascript
运行
复制
*.rsu.app[0].typename = "practice.veins_inet.VeinsInetRSUSampleApplication".

但是,我得到以下错误:

代码语言:javascript
运行
复制
TraCIMobility::getExternalId called with no external id set yet.

在本例中,VeinsInetManager使用TRACI管理汽车。以下是与管理器关联的ned文件。源文件有两个功能,预初始化模块和更新模块位置。

代码语言:javascript
运行
复制
simple VeinsInetManager extends TraCIScenarioManagerLaunchd {
parameters:
    @class(veins::VeinsInetManager);}

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-26 16:38:25

您的应用程序可能继承自VeinsInetApplicationBase,它调用TraCI方法(对于不是TraCI管理的工具的节点,这些方法将失败)。另请参见its source code

要确保这一点,请在调试模式下运行模拟,打开debug-on-errors,并检查堆栈跟踪以查看调用来自何处。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62359805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档