はじめに
TWELITE の標準に入っている「超簡単!標準アプリ(App_Twelite)」(以下簡単アプリ)は便利で、ちょっとしたアイデアを、TWELITE+簡単アプリの組み合わせで実現できる。
簡単アプリのうち、「相手端末からの状態通知:ステータス 0x81」を使うと親機と子機との間でIOのリンクができる。
これは便利であるが、TWELITEがたくさんあると混信する。
周波数チャンネルやアプリケーションIDを変更するなどの解決策があるが、ここでは簡単アプリを書き換えて独自プロトコルを作ってみる。
方法
MWSDK/MyProjects/App_Twelite_Test/Common/Source/common.h
の
100行目
/*
* シリアルコマンドの定義
*/
# define APP_PROTOCOL_VERSION 0x01 //!< プロトコルバージョン
を
/*
* シリアルコマンドの定義
*/
# define APP_PROTOCOL_VERSION 0x82 //!< プロトコルバージョン
とする。
動作確認
2 つのTWELITE を上記のように書き換えて、親機と子機になるように配線、親機のシリアル出力を見てみます。
!INF MONO WIRELESS TWELITE APP V1-08-3, SID=0x810CD221, LID=0x00
!INF Default config (no save info). ..
!INF DIO --> 00000000010000000000
:78811582B181000F97001247000CB3120000FFFFFFFFFF73
:788115826C81000F9700127F000CB3130000FFFFFFFFFF7F
:788115829681000F970012B9000CB2120000FFFFFFFFFF1D
:788115829081000F970012F1000CB2130000FFFFFFFFFFEA
子機からの状態通知電文において、オリジナルでは
:78811501・・・
となっているところが、
:78811582・・・
となっていることがわかります。
ステータス 0x81 の受信処理において、プロトコルバージョンが異なる通信は処理しないようになっているので、これで目的に達したことになります。