MWSDKをインストールしたディレクトリを開きます。以下のような構成になっています。TWELITE STAGE SDKをインストールした場合は、../MWSTAGE/MWSDK
がそのディレクトリです。
MWSTAGE
MWSDK
|
+-ChipLib : 半導体ライブラリ
+-License : ソフトウェア使用許諾契約書
+-MkFiles : makefile
+-Tools : コンパイラ等のツール一式
+-TWENET : TWENET/MWXライブラリ
+-Act_samples : アクトサンプル
...
アクトファイルはAct_samples
以下に格納しています。(以下は一部割愛しています)
Act_samples
|
+-CoreAppTwelite : App_TweLiteと同じ構成のボード用のアクト
+-PAL_AMB : 環境センス PAL 用のアクト
+-PAL_MAG : 開閉センス PAL 用のアクト
+-PAL_MOT : 動作センス PAL 用のアクト
..
+-Parent-MONOSTICK : 親機アクト、MONOSTICK用
+-PingPong : PingPong アクト
+-PulseCounter : パルスカウンタを利用したアクト
+-act0 : スクラッチ(とりあえず書いてみる)用アクト
これらのアクトは、MWXライブラリの記述の参考となるシンプルな例ですが、多くのアクトは以下の機能を有しています。
センサー値を取得する
センサー値取得後、無線パケットを親機宛に送信する
送信完了後、一定時間スリープする(または割り込みを待つ)
Parent-MONOSTICK
のアクトによりパケットの受信と表示を行っています。この親機用のアクトは、アスキー形式で出力しています。 (:00112233AABBCC...FF[CR][LF]
のような : で始まり、途中は16進数のバイトをアスキー文字2字で表現する形式です。末尾の??は同様に2字のバイトとなりますがLRCというチェックサムバイトになります。参考:アスキー形式)
実際に動作させてみるときは、以下の組み合わせを試してみてください。
親
子
解説
では、アクトの中から PingPong のディレクトリの中を見てみましょう。
Act_samples
+-PingPong
+-PingPong.cpp : アクトファイル
+-build : ビルドディレクトリ
+-.vscode : VS Code 用の設定ファイル
必ずディレクトリ直下にディレクトリと同名の .cpp
ファイルが必要です。
PingPong
ディレクトリ直下にアクトファイル PingPong.cpp
があります。ディレクトリ名を変更した場合は、必ず .cpp
ファイルの名前もディレクトリ名と同名にします。
次にビルドディレクトリを開きます。
Act_samples
+-PingPong
+-build
+-Makefile : makefile
+-build-BLUE.cmd : TWELITE BLUE 用ビルドスクリプト
+-build-RED.cmd : TWELITE RED 用ビルドスクリプト
+-build-clean.cmd : obj_* ファイル削除
ビルドに必要なスクリプトとMakefile
が格納されています。
ビルドの実行は、このbuild
ディレクトリに移動してmake
を実行します。以下はコマンドラインの例です。
build$ make TWELITE=BLUE
...