メイン Tools: QualNet Analyzer & QualNet Packet Tracer 送受信パケットの中止と再開 | 投稿するにはまず登録を |
題名 | 投稿者 | 日時 |
---|---|---|
送受信パケットの中止と再開 | te-ueda | 2016/7/8 18:04 |
Re: 送受信パケットの中止と再開 | hiro | 2016/7/9 18:45 |
Re: 送受信パケットの中止と再開 | te-ueda | 2016/7/10 6:36 |
» Re: 送受信パケットの中止と再開 | hiro | 2016/7/10 15:08 |
Re: 送受信パケットの中止と再開 | te-ueda | 2016/7/12 16:54 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
hiro | 投稿日時: 2016/7/10 15:08 |
長老 登録日: 2005/7/16 居住地: 投稿: 452 |
Re: 送受信パケットの中止と再開 そもそも802.15.4がスリープモードを持っているのを忘れてました。
スリープモードに入る処理と、そこから復帰する処理が参考になると思います。 QualNetの作りそのものではなく、802.15.4のプロトコルについて 深く理解しているわけではないので、的外れだったらすみません。 実機だとPHYへの電源供給を止めればそこで止まりますが、 シミュレーションの場合には色々と手順が必要になります。 まず送信開始時(Phy802_15_4StartTransmittingSignal)に 送信を止めるための仕込を行っています。 色々計算してから、最終的には一定時間後に送信を止める MESSAGE_Send(node,endMsg,delayUntilAirborne+duration+1); の部分です。 これを何とか取り消さなければ(MESSAGE_Cancelしなければ)だめなので、 phy_802_15_4.cppを見ていたのですが、 Phy802_15_4TerminateCurrentTransmissionという関数がありますね。 どこで使われているのか調べると MACでFORCE_TRX_OFF という 状態を管理しているので、これを手掛かりにするとよいかもしれません。 受信の場合も、 Phy802_15_4SignalArrivalFromChannel で 一番最初に if ((phy802_15_4->mode != PHY_TRX_OFF)) しているので、 PHYの状態としてPHY_TRX_OFFも手掛かりになると思います。 他の部分で phy802_15_4->mode != PHY_TRX_OFF でチェックしている場所をみると、 PHY_TRX_OFFの場合は本来処理すべき処理を全く行わない作りになってますね。 |
フラット表示 | 前のトピック | 次のトピック |