LoginSignup
1
1

More than 3 years have passed since last update.

TWELITE SDKを試す

Last updated at Posted at 2020-04-08

環境 

  • Ubuntu 18.04
  • MWSDK_Linux-i386_201805.tgz

TWELITE の SDK は、 C ライブラリと MWX ライブラリの2つがありますが C ライブラリを試してみます。

この資料に基づいて設定していきます。
「TWELITE SDKのインストール」
https://sdk.twelite.info/twelite-sdkno/twelite-sdknoinsutru

ダウンロード

以下のページからダウンロードします。

環境設定

必要なパッケージをインストールします


sudo apt-get install lib32z1

VSCodeは既にインストールしていたので、C/C++ Extention を追加します。

image.png

ビルドのテスト

「VSCode での利用」
https://sdk.twelite.info/twelite-sdkno/vscode-deno
に基づいて作業します。

サンプルプログラムとして、SDK 内の MWSDK/Wks_TWELITE/App_Twelite/
を使います。

なお、同じ App_Twelite でも、以下からダウンロードしたものはVSCodeの設定が入っていないらしくビルドできませんでした。
「超簡単!標準アプリ(App_Twelite)ダウンロード」
https://mono-wireless.com/jp/products/TWE-APPS/App_Twelite/download.html

VSCode で、「File」-「Open Folder」で App_Twelite フォルダを開きます。
「File」-「Open File」ではないことに注意。

ちなみに僕は今まで、VSCode を物書きに使ってましたがこの操作をすると他のファイルは閉じられてしまいました。原稿書きながらの作業とかしているときはそういったところ踏まえる必要があります。

「Terminal」-「Run Task」で、Build App_Twelite,Master(BLUE) を選ぶと、ビルドされました。

image.png

App_Twelite_Test_Master_BLUE_L1200_V1-8-3.bin が生成されています。

マイプロジェクトを作ってみる

MWSDK/Wks_TWELITE フォルダに入っている App_Twelite を元に、自分のアプリを作ってみることにします。

「ディレクトリ構成」
https://sdk.twelite.info/twelite-sdkno/derekutori
によると、

ワークスペースを格納するディレクトリはMWSDK 直下で、かつ、後述する Makefile の相対ディレクトリも変更してはいけません。

だそうです。

自分のプロジェクト用に、 MWSDK/MyProjects フォルダを作り、そこに App_Twelite をコピー、フォルダ名を App_Twelite_Test とします。

作り直してみます。
1087行目にある以下の処理


void cbToCoNet_vMain(void) {
    vHandleSerialInput(); // シリアルポートの処理
}

を以下のように書き換えます。


void cbToCoNet_vMain(void) {
    static int counter=0;
    vHandleSerialInput(); // シリアルポートの処理

    vfPrintf(&sSerStream, "!INF TEST COUNTER=%d."LB,counter++);
    SERIAL_vFlush(sSerStream.u8Device);
}

ここのルーチンは、以下のように呼び出されるそうです。


/** @ingroup MASTER
 * 本関数は ToCoNet のメインループ内で必ず1回は呼び出される。
 * ToCoNet のメインループでは、CPU DOZE 命令を発行しているため、割り込みなどが発生した時に
 * 呼び出されるが、処理が無い時には呼び出されない。
 * しかし TICK TIMER の割り込みは定期的に発生しているため、定期処理としても使用可能である。

では、TICK TIMERはどのくらいでなされているのでしょうか?

先のようにビルドして、バイナリを生成しておきます。

MWSDK/Tools/tweprog_py を使って書き込みをするのでそのディレクトリに移り、書き込みます。


$ sudo ./tweterm.py -p ftdi://ftdi:232:AI069IL2/1 -b 115200 -F ../../MyProjects/App_Twelite_Test/Master/Build/App_Twelite_Test_Master_BLUE_L1200_V1-8-3.bin 
*** TWE Wrting firmware ... ../../MyProjects/App_Twelite_Test/Master/Build/App_Twelite_Test_Master_BLUE_L1200_V1-8-3.bin
MODEL: TWEModel.TWELite
SER: 1000f97
FILEINFO: 04 03 0008
0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..done - 10.49 kb/s
Entering minicom mode

書けました

cf.,「TWELITE のファーム書き込みしてみる」
https://qiita.com/nanbuwks/items/dc553119236e2a219297

シリアル出力から取得した内容です。


EST COUNTER=86.
!INF TEST COUNTER=87.
!INF TEST COUNTER=88.
!INF TEST COUNTER=89.
!INF TEST COUNTER=90.
!INF TEST COUNTER=91.
!INF TEST COUNTER=92.
!INF TEST COUNTER=93.
!INF TEST COUNTER=94.
!INF TEST COUNTER=95.
!INF TEST COUNTER=96.
.
.
.

と出ました。1秒間に200カウントアップぐらいなされていました。

ここにある、ポーリング間隔に依存しているかな?
http://www.gyabinet.com/samp_monitor-docref-en/html/d9/d51/group__grp___utils___b_t_m.html

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1