0x00
0x01
..0xEF
0xFE
0xFE
,0xFF
は特別な意味を持ちます。下表に宛先指定についてまとめます。0x00
0x01
..0xEF
0xFE
0xFF
<NWK_SIMPLE>
がその命名にシンプルとしているのは、こういった理由があります。<NWK_SIMPLE>
での同一パケットの識別は送信元のシリアル番号と送信時のパケットの続き番号によって行います(重複チェッカと呼びます)。続き番号は0..63として、順番に割り当てられ、近い時間に届くパケットの続き番号は近い番号であるという仮定を置いています。一定時間以上経過した番号的に遠い(今10番を受信したとしたら40番台のパケットはしばらく前に送信されたと考えられる)続き番号はタイムアウトとして重複対象から除外します。<NWK_SIMPLE>
を利用例を挙げます。<NWK_SIMPLE>
の定義情報をインクルードします。7行目でthe_twelite
に<NWK_SIMPLE>
を登録します。<NWK_SIMPLE>
登録後に設定を行います。<<
演算子で行います。<<
演算子 (設定)the_twelite
の初期設定を行うために<<
演算子を用います。id
に指定した論理デバイスIDを設定します。デフォルトは0xFE
(ID未設定子機)です。val
に指定した回数を送信時の再送回数のデフォルト値とします。val
に指定した回数を最大中継回数とします。デフォルトは2
です。0
を指定します。maxnodes
は履歴を保持するため無線局(ノード)の数です。ノード数を少なく設定した場合、短期間に設定以上のノードからのパケットが来た場合、重複除外できないノードが出てきます。重複除外できない場合、受信時に複数回データが表示される、必要以上に再中継してしまうといった問題が出ます。デフォルトは16
です。1ノード当たり21バイトメモリを消費します。timeout_ms
は履歴を抹消するまでのタイムアウト時間[ms]です。タイムアウトは続き番号のブロック単位で管理されていて、ブロック単位でタイムアウト処理が行われます。デフォルトは1000
[ms]です。tickscale
はタイムアウトを管理するための時間単位で2^tickscale
[ms]となります。時間は7bitで管理されるため、127*(2^tickscale) > timeout_ms
になるように設定します。デフォルトは5
(32ms)です。pukey
は暗号化の鍵を 16バイト (128bit) で指定します。b_recv_plain_pkt
はtrue
を指定すると、同じアプリケーションID、チャネルの平文パケットを受信します。packet_rx::is_secure_pkt()
が true
(暗号化) か false
(平文) で判定できます。bool
演算子が定義されています。オブジェクト生成時にTWENETが送信要求を受け付けられない場合はfalse
を返します。.prepare_tx_packet()
メソッドにて取得した送信オブジェクトのメソッドです。false
を返します。MWX_APIRET
がtrue
の場合に送信要求が成功ですが、この要求時点では送信処理が始まりません。MWX_APIRET
の.get_value()
で得られる値部に格納されます。the_twelite.x_status.is_complete()
またはtransmit_complete()
より送信完了を確認できます。