![]() ![]() ![]() | 投稿するにはまず登録を |

題名 | 投稿者 | 日時 |
---|---|---|
» ![]() |
toto | 2013/12/12 16:40 |
![]() |
marimo | 2013/12/13 11:29 |
![]() |
toto | 2013/12/14 17:36 |
![]() |
marimo | 2013/12/20 12:13 |
![]() |
tsuna | 2013/12/20 12:32 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
toto | 投稿日時: 2013/12/12 16:40 |
新米 ![]() ![]() 登録日: 2013/11/5 居住地: 投稿: 6 |
ノード間距離の出力について ノード間距離の出力について質問させていただきます。
現在phy_802_15_4.cppのPhy802_15_4SignalArrivalFromChannel関数内で 時系列ログとして[受信電力、送信ノードID、受信ノードID、ノード間距離] を出力させようとプログラムを書いています。 { char clockStr[MAX_STRING_LENGTH]; TIME_PrintClockInSecond(getSimTime(node),clockStr); printf("%s rxNode %d txNode %d rxMsgPower_dBm %e\n",clockStr,node->nodeId,propRxInfo->txNodeId,IN_DB(rxPower_mW)); fflush(stdout); } 上記のプログラムを追加することで受信電力、送信ノードID 、受信ノードIDを出力することはできました。 次にpropagation.hの PropPathProfile構造体の中にdistanceというメンバを見つけたので、ヘッダファイルをphy_802_15_4.cppにインクルードしました。そして先ほどのPhy802_15_4SignalArrivalFromChannelの変数にPropPathProfileを追加し、printfの中にdistanceを書いたのですがビルド時にエラーが出てしまいます。 原因として考えられるものがありましたらご指摘いただきたいです。 最終的にプログラムは以下のように記述しました。 void Phy802_15_4SignalArrivalFromChannel( Node* node, int phyIndex, int channelIndex, PropRxInfo *propRxInfo, PropPathProfile *pathProfile) { PhyData* thisPhy = node->phyData[phyIndex]; PhyData802_15_4* phy802_15_4 = (PhyData802_15_4*) thisPhy->phyVar; if ((phy802_15_4->mode != PHY_TRX_OFF)) { double rxPower_mW = NON_DB(ANTENNA_GainForThisSignal(node, phyIndex, propRxInfo) + propRxInfo->rxPower_dBm); { char clockStr[MAX_STRING_LENGTH]; TIME_PrintClockInSecond(getSimTime(node),clockStr); printf("%s rxNode %d txNode %d rxMsgPower_dBm %e %d\n",clockStr,node->nodeId,propRxInfo->txNodeId,IN_DB(rxPower_mW),pathProfile->distance); fflush(stdout); } |
フラット表示 | 前のトピック | 次のトピック |