2017-03-13 7 views
0

simuLTEフレームワークをomnet++に使用すると、デバイス間(D2D)送信をシミュレートしています。私はプログラムによってこの値にアクセスしたいSimuLTEでデバイスのD2D送信電力を取得する

*.ue*[*].nic.phy.d2dTxPower = 24.14973348 # 10*LOG10(260) 

は、私はそうのようなD2Dリンクを介して送信するすべてのデバイス(ueD2DTx[0]ueD2DRx[0])の送信電力を設定することができます。私はdouble txPwr;の値を持つデバイスのUeInfoを得ることができます。これは残念ながら0なので、私が探している値ではありません。

は、その後、私は

double txPwr = par("*.ue*[*].nic.phy.d2dTxPower").doubleValue(); 

または

double txPwr = par("*.ueD2DTx[0].nic.phy.d2dTxPower").doubleValue(); 

を使用して直接パラメータにアクセスすることを望んでいたが、私は、このパラメータが存在しない私に言って、エラーを取得します。

答えて

1

単純なモジュールのクラスのメソッドの内部では、その名前だけを使用してパラメータを読み取ることができます。したがってLtePhyUeD2D内で使用することができます:

double txPwr = par("d2dTxPower").doubleValue(); 

を使用すると、別のモジュールからこのパラメータを読みたい場合は、例えば、最初のモジュールへのポインタを取得する必要があります:

cModule *mod= getModuleByPath("<root>.ueD2DTx[0].nic.phy"); 
double txPwr = mod->par("d2dTxPower").doubleValue(); 
関連する問題