/

act サンプル

最新版
MWSDK/Act_Samplesディレクトリには、actのサンプルプログラムを格納しています。

サンプルの紹介

以下には、目的別のアクトを紹介します。

無線通信を行わなず、マイコン機能のみの短いアクト

act0..4

無線機能などを使わないごくシンプルな例です。actの基本構造が理解できます。

I2C センサーを用いたアクトの記述例

I2Cセンサーを接続し、スリープによる簡潔動作を行いながら無線パケットを送信する、無線センサーの実装例です。

BRD_I2C_TEMPHUMID

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
  • PAL_MOT-single
  • PAL_MAG

以下は応用例で、上記のアクトより少し複雑な記述になっています。

  • PAL_AMB_usenap は、数十msかかるセンサーの動作時間にTWELITEマイコンを短くスリープさせ、より省電力を目指すサンプルです。
  • PAL_AMB_behavior は、ビヘイビアを用いた例です。PAL_AMBでは温湿度センサーはライブラリ内部のコードが呼ばれますが、このサンプルでは温湿度センサーのアクセスのための独自の手続きも含まれます。
  • PAL_MOT_fifo は、加速度センサーのFIFOおよびFIFOの割り込みを用いて、サンプルを中断することなく、連続的に取得し無線送信するためのサンプルです。

TWELITE CUE を使用するためのアクト

PAL_MOT アクトが利用できます。軽微な修整が必要となる場合があります。

  • PAL_MOT-single
  • PAL_MOT_fifo は、加速度センサーのFIFOおよびFIFOの割り込みを用いて、サンプルを中断することなく、連続的に取得し無線送信するためのサンプルです。

TWELITE ARIA を使用するためのアクト

  • BRD_ARIA は、TWELITE ARIA を動作させるためのアクトです。
  • BRD_I2C_TEMPHUMID は、I2C センサー利用のためのテンプレートですが、実装例として TWELITE ARIA で利用する SHT40 センサー用のコードが含まれます。
  • PAL_AMB 用のアクトを修整することで利用できます。

単体機能を紹介したアクト

Unit-*は機能やAPIの紹介を目的としています。

最新版の入手

共通の記述

アクトのサンプル中で以下の項目は共通の設定項目になり、以下で解説します。

const uint32_t APP_ID = 0x1234abcd;
const uint8_t CHANNEL = 13;
const char APP_FOURCHAR[] = "BAT1";

act0..4

最初に試すシンプルなact(アクト)

Scratch

テンプレートコード

Slp_Wk_and_Tx

スリープ起床時にパケットを送信する

Parent_MONOSTICK

親機アプリケーション(MONOSTICK用)

PingPong

パケットを打ち返す

BRD_APPTWELITE

デジタル・アナログ信号伝送

BRD_I2C_TEMPHUMID

I2Cセンサーデバイスによるデータ送信

BRD_ARIA

TWELITE ARIAを使ったサンプル

PAL_AMB

環境センサーパルを使ったサンプル

PAL_AMB-usenap

環境センサーパルを使ったサンプル

PAL_AMB-behavior

環境センサーパルを使ったサンプル

PAL_MAG

磁気センサーパルを使ったサンプル

PAL_MOT-single

加速度センサーパルを使ったサンプル

PAL_MOT-fifo

加速度センサーパルを使ったサンプル

PulseCounter

パルスカウンターを使ったサンプル

WirelessUART

シリアル通信を行います。

ユニバーサル レシーバー

様々なパケットを受信します

Unit_???

単機能の動作確認サンプル