我使用 Veins-4a2 并修改了演示示例的场景。我添加了一个新的 wsm,它是 ACK 当节点接收消息时,它会向源节点发送 ACK 消息。我在 onData() 函数中添加了这一行:
sendWSM(prepareWSM("ack", ackLengthBits, type_SCH, ackPriority, sourcenode.idNode, 2));
我当然更改了 BaseWaveApplLayer.cc 中的 prepareWSM 和 handleLowerMsg() 函数,但是当我执行模拟时,它会在 10 秒后崩溃。这是错误消息:
模块错误 (Mac1609_4) RSUExampleScenario.node[2].nic.mac1609_4 (id=240) at event #1196, t=9.210177776741: Model error: ASSERT: condition useSCH false in function handleUpperMsg, avenues/modules/mac/ieee80211p/ Mac1609_4.cc 第 259 行。
是不是我无权重用 SCH 信道来发送 ACK 消息?请问我该如何纠正这个问题?