the_twelite
オブジェクトは、TWENETの利用手続きをまとめたもので、無線の基本設定やスリープ等の手続きなど無線マイコンを操作するための手続きが含まれます。the_twelite
はsetup()
関数内で設定と開始the_twelite.begin()
を行います。setup()
以外では設定は行えません。<PAL_AMB>
と、シンプル中継ネットワーク<NWK_SIMPLE>
の2種類を登録しています。これらを登録することにより環境センサーパル上のセンサーなどハードウェアを簡易に取り扱うことが出来ます。また煩雑な無線パケットの取り扱いについて中継の処理や重複で届いたパケットの自動破棄などの機能を暗黙に持たせることが出来ます。<<
演算子 (設定)the_twelite
の初期設定を行うために<<
演算子を用います。id
に指定したアプリケーションIDを設定します。これは必須指定です。uint32_t the_twelite.get_appid()
で行います。ch
に指定したチャネル番号(11
..26
)を設定します。uint8_t the_twelite.get_channel()
で行います。pw
に指定した出力設定を(0
..3
)を設定します。デフォルトは(3:出力減衰無し)です。uint8_t the_twelite.get_tx_power()
で行います。bEnable
が1
であれば常に受信回路を動作させ、他からの無線パケットを受信できるようになります。デフォルトは0
で、もっぱら送信専用となります。uint8_t the_twelite.get_rx_when_idle()
で行います。ch2
,ch3
に0を指定すると、その指定は無効になります。<<
演算子参照)や、ビヘイビアの登録を済ませた後に実行します。通常はsetup()
関数内の一番最後に記述します。the_twelite
設定完了setup()
関数が終了した後にも実行されます。多くの処理はTWENETが終了した後に実行するようになっているため、ここでは初期化以外の処理を行わないようにしてください。false
を戻します。u32Periodms
bPeriodic
bRamoff
true
に設定すると、RAMを保持しないスリープになる(起床後はwakeup()
ではなくsetup()
から再初期化する必要がある)u8Device
TWENET::SLEEP_WAKETIMER_PRIMARY
または TWENET::SLEEP_WAKETIMER_SECONDARY
を指定する。 on_sleep()
メソッドが呼び出され、スリープ前の手続きを行います。スリープ復帰後は反対に on_wakeup()
メソッドにより復帰処理が行われます。true
を返します。true
を返します。setup()
からの処理となります。twe_twelite
には3つのビヘイビアを登録でき、これらを格納する以下のクラスオブジェクトを定義されています。board
: ボード対応のビヘイビアです。ボード上の各デバイス利用手続きが付加されます。app
: ユーザアプリケーションを記述したビヘイビアです。割り込みやイベント記述、ステートマシンによる状態遷移によるふるまいの記述が可能です。また複数のアプリケーション記述を定義しておいて、起動時に全く振る舞いの違うアプリケーションを選択する記述が容易に行えます。settings
: 設定(インタラクティブモード)を実行するためのビヘイビアです。<SET_STD>
を登録します。use<B>()
を用いてください。the_twelite
には上述のboard
, network
, app
の3つのクラスオブジェクトが定義されていますが他に以下が定義されています。true
を返す。true
を返す。read()
メソッドで得られる受信パケットデータは、続くパケットが受信処理時に上書きされる設計となっています。available
直後に読み出してなにか短い処理をする場合は問題になることはありませんが、原則として読み出し→アプリケーションが使うため必要なデータのコピー→loop()
の終了を速やかに行います。例えばloop()
中で長いdelay()
を行うと受信パケットの取りこぼしなどが発生します。true
を返す。