2016-07-20 5 views
0

inet無線モジュールを使用しているときに2つの問題があります。私は彼らが何らかの形で相互に関係していると思う。inet無線モジュールを使用しているときにエラーが発生しました


問題1

私は私のMAC層

radioModule->subscribe(IRadio::radioModeChangedSignal, this); 
radioModule->subscribe(IRadio::transmissionStateChangedSignal, this); 

にサブスクライブ機能を使用していたとき、私は

Error in module (inet::physicallayer::Radio) MyNetwork.sta[0].nic[0].radio(id=19) during network initialization: inet::MyMac: Unsupported signal data type long for signal radioModeChanged (id=34). 

問題2

このエラーが出ます

私の受信モジュールは

const IListening *listening = receiverRadio->getReceiver()->createListening(receiverRadio, arrival->getStartTime(), arrival->getEndTime(), arrival->getStartPosition(), arrival->getEndPosition()); 
[...] 
communicationCache->setCachedListening(receiverRadio, transmission, listening); 

が、私はこのエラーを取得inet.physicallayer.common.RadioMedium.ccでこれらの機能に問題がある

<!> Error in module (inet::physicallayer::Radio) MyNetwork.sta[0].nic[0].radio (id=19) at event #33, t=2: ASSERT: condition shareCount == 0 false in function parsimUnpack, cpacket.cc line 146. 
+0

どのバージョンの 'OMNeT ++'と 'INET'を使用していますか? –

+0

OMNeT ++バージョン5.0、ビルド160414-aa4629c INETバージョン3.4.0-bb8393f –

答えて

0

よると問題1:あなたは、メソッドをオーバーライドする必要があります virtual void receiveSignal(cComponent *source, simsignal_t signalID, long l, cObject *details)
MyMacクラスです。この方法がなければ、シンプルなモジュールは受信信号で何をするべきかを知らないので、エラーが発生します。

問題2は、パケット処理、おそらくデカプセリングに接続されています。提示されたコードはそのコードではありません。 omnetpp.inidebug-on-errors=trueを設定し、シミュレーションをデバッグモードで実行します。このエラーの原因となるコード内の場所が表示されます。

関連する問題