【问题标题】:TraciMobility::getExternalId error when adding custom module into Veins_Inet example (Omnet++)将自定义模块添加到 Veins_Inet 示例 (Omnet++) 时出现 TraciMobility::getExternalId 错误
【发布时间】:2020-06-13 12:33:44
【问题描述】:

我正在尝试将新的自定义 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 文件。源文件有两个功能,预初始化模块和更新模块位置。

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

如何将自定义模块添加到场景中而不引发任何错误?

【问题讨论】:

    标签: c++ network-programming omnet++ veins inet


    【解决方案1】:

    您的应用程序可能继承自 VeinsInetApplicationBase,它调用 TraCI 方法(对于不是 TraCI 管理的车辆的节点会失败)。另见its source code

    为了更加确定,请在调试模式下运行您的模拟,打开debug-on-errors,然后检查堆栈跟踪以查看调用的来源。

    【讨论】:

      猜你喜欢
      • 2015-04-15
      • 2013-08-02
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多