サンプルアクト
Sample Acts
アクトの動作を理解するため、いくつかのサンプルを用意しています。
サンプルアクトの紹介
以下には、目的別のアクトを紹介します。
無線通信を行わなず、マイコン機能のみの短いアクト
act0..4は、無線機能などを使わないごくシンプルな例です。Actの基本構造が理解できます。
I2C センサーを用いたアクトの記述例
I2Cセンサーを接続し、スリープによる簡潔動作を行いながら無線パケットを送信する、無線センサーの実装例です。比較的簡潔、かつ、代表的な構造ですので、act0
~act4
を確認後に参照することを推奨します。
TWELITE で無線センサーを実装するための代表的な要素(シンプル中継ネット <NWK_SIMPLE>
の利用・インタラクティブモード <STG_STD>
、I2Cセンサーの取り扱い Wire
、スリープによる間欠動作など)が含まれます。
無線通信を行う基本的なアクト
無線パケットを送信、または送受信するサンプルですが、各々少し違った視点で実装されています。
Scratch は、UARTから1バイトコマンドを受けて、送信などを行うシンプルなコードです。
Slp_Wk_and_Txは、ステートマシンを用い、スリープを用いた間欠動作で、スリープ復帰→無線送信→スリープを繰り返します。
PingPongは、一方から他方にパケットを送信し、受信した他方がパケットを送り返すサンプルです。送信と受信についての基本的な手続きが含まれます。
WirelessUARTは、UART入力をserparserを用いアスキー形式を解釈し、これを送信します。
親機側のアクト
独自の受信側親機アプリケーションを実装するときに参照してください。
Parent_MONOSTICKは、専ら受信のみを行い、シリアルポートへ受信結果を出力します。このサンプルの無線パケットで、親機向け(0x00)や子機ブロードキャスト(0xFE)とアドレス設定しているものは受信できます。またインタラクティブモード<STG_STD>をActに追加するための手続きが含まれます。
Rcv_Univsl はユニバーサルパケットレシーバ (TWENETレイヤーツリーネットワーク, App_Twelite, Act, ... など) のサンプルコードです。また、コンテナやアルゴリズムにEASTLライブラリを使用しています。
インタラクティブモードを追加するためのアクト
インタラクティブモードを使用するアクトの解説には大まかな流れを記しています(ここでは上述の BRD_I2C_TEMPHUMID を引用します)。どのサンプルの解説も大きな差はありません。
BRD_I2C_TEMPHUMIDは、I2Cセンサーデバイスの読み書きコマンドを実行し I2C センサーから得られた計測値を無線送信します。またインタラクティブモード<STG_STD>をActに追加するための手続きが含まれます。
Settings は、インタラクティブモード<STG_STD>のより高度なカスタマイズを行います。詳細はコードを参照ください。
センサーなどのデバイスを動作させるためのアクト
内蔵ペリフェラルや外部センサーデバイスからセンサー情報を得るサンプルです。
BRD_APPTWELITEはディジタル入力、アナログ入力、ディジタル出力、アナログ出力を用いた双方向通信を行っています。またインタラクティブモード<STG_STD>をActに追加するための手続きが含まれます。
BRD_I2C_TEMPHUMIDは、I2Cセンサーデバイスの読み書きコマンドを実行し I2C センサーから得られた計測値を無線送信します。またインタラクティブモード<STG_STD>をActに追加するための手続きが含まれます。
PulseCounter は、パルスカウンター機能を用い、スリープ中も含め入力ポートで検出したパルス数を計数し、これを無線送信します。
PAL_AMB_behavior は、ビヘイビアを用いた例です。PAL_AMBでは温湿度センサーはライブラリ内部のコードが呼ばれますが、このサンプルでは温湿度センサーのアクセスのための独自の手続きも含まれます。
TWELITE PAL を使用するためのアクト
TWELITE PAL には標準的なPALアプリが書き込まれていますが、PALアプリを用いずアクトによる記述を行うことができます。MWXライブラリには、PALで使用するセンサーを動作させるための標準的な手続きが用意されています。
各種PAL基板用のサンプルです。PAL基板上のセンサー値を取得し、送信し、スリープします。
以下は応用例で、上記のアクトより少し複雑な記述になっています。
PAL_AMB_usenap は、数十msかかるセンサーの動作時間にTWELITEマイコンを短くスリープさせ、より省電力を目指すサンプルです。
PAL_AMB_behavior は、ビヘイビアを用いた例です。PAL_AMBでは温湿度センサーはライブラリ内部のコードが呼ばれますが、このサンプルでは温湿度センサーのアクセスのための独自の手続きも含まれます。
PAL_MOT_fifo は、加速度センサーのFIFOおよびFIFOの割り込みを用いて、サンプルを中断することなく、連続的に取得し無線送信するためのサンプルです。
TWELITE CUE を使用するためのアクト
PAL_MOT 用のアクトが利用できます。小修整が必要な場合があります。
PAL_MOT_fifo は、加速度センサーのFIFOおよびFIFOの割り込みを用いて、サンプルを中断することなく、連続的に取得し無線送信するためのサンプルです。
TWELITE ARIA を使用するためのアクト
[BRD_ARIA] は、TWELITE ARIA を動作させるためのアクトです。
BRD_I2C_TEMPHUMID は、I2C センサー利用のためのテンプレートですが、実装例として TWELITE ARIA で利用する SHT40 センサー用のコードが含まれます。
PAL_AMB 用のアクトを小修整することで利用可能です。
単体機能を紹介したAct
Unitから始まる名前のActは機能やAPIの紹介を目的としています。
最新版の入手
共通の記述
アクトのサンプル中で以下の項目は共通の設定項目になり、以下で解説します。
const uint32_t APP_ID = 0x1234abcd;
const uint8_t CHANNEL = 13;
const char APP_FOURCHAR[] = "BAT1";
最終更新