Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
TWELITE STAGE アプリ
資料の取り扱いについてを参照ください。 お気付きの点がありましたら、当社サポート窓口にご連絡いただければ幸いです。
画像ファイル(スクリーンキャプチャ)で使われているものと使用中のバージョンが異なる場合があるため、画像中の表示文字列やメニュー順序等に差異がみられることがあります。
TWELITE STAGE APP (トワイライト ステージ アプリ) は、TWELITE 無線マイコンモジュール(以下 TWELITE)シリーズのアプリを書き換えたり、実行結果を閲覧したりするためのツールです。
様々なプラットフォームで動作します。
Windows10
macOS (High Sierra 以降、Intel および Apple Silicon Mac に対応)
Linux (Ubuntu18.04)
Raspberry Pi (Raspberry Pi 3 Model B, Lcd Touch Screen, Raspberry Pi OS August-2020)
※ プラットフォームによって、動作条件や配布形式、また機能が異なります。
を参照ください。
対象のプラットフォームを示すため、一部のページでは以下を記載しています。
Windows -- Windows10
ライセンス
モノワイヤレス 株式会社が配布するTWELITE_Stageの実行形式は MW-SLA-1J,1E が適用されます。
ソースコードについてはが適用されます。概要はリンク先を参照ください。
お客様がソースコードからビルドした場合は、非商用目的でより制限の緩和されたMW-OSSLA-1J,1Eによる運用が可能です。
(M5stack : バージョン1.0 まで対応。v1.3以降はソースレベルで非対応です。)
macOS -- Mac OS X, macOSLinux -- Linux (Ubuntuなど)
RasPi -- RaspberryPi


MW-SLA-1J,1E と MW-OSSLA-1J,1E とのデュアルライセンスを適用しているものもあります。パッケージ内のライセンス記述を確認してください。商用利用ではMW-SLA-1J,1Eを選択いただくことになりますのでご注意ください。
高品質なソースコードを提供いただいたオープンソースプロジェクトに感謝いたします。
SDL2
Simple DirectMedia Layer Copyright (C) 1997-2020 Sam Lantinga
getopt
Copyright (c) 1987, 1993, 1994The Regents of the University of California. All rights reserved.
regex
regex - Regular expression pattern matching and replacementBy: Ozan S. Yigit (oz) Dept. of Computer Science York University
printf
Copyright (c) 2014 Marco Paland
東雲フォント
2001 The Electronic Font Open Laboratoryhttp://openlab.ring.gr.jp/efont/
M+ BITMAP FONTS
Copyright 2002-2005 COZ [email protected]
SQLiteC++
Copyright (c) 2012-2021 Sebastien Rombauts ([email protected])
sqlite3
All of the code and documentation in SQLite has been dedicated to the public domain by the authors.
アプリ書換
Windows macOS Linux RasPi
TWELITE のアプリ(ファームウェア)を書き込みます。
ビルド済みの.BINファイルを書き込む
アクト(Act)などソースファイルからビルドして書き込む
ソースファイルのビルド、ターミナル切断、書き込みユーティリティ起動、ターミナル接続といった煩雑さを解消します。
TWELITE BLUE/REDを自動認識する
書き込み終了後にリセットしてインタラクティブモード、またはターミナルに移動する
各プロジェクトのリストから、プロジェクトフォルダまたはVSCodeを起動する (Raspberry Pi版を除く)
各プロジェクトのリストから、関連情報のウェブページを開く \Linux版、Raspberry Pi版を除く)
グラフ
: 加速度センサーのパケットをリアルタイムで表示します。周波数領域の表示や CVS 保存機能があります。
: TWELITE 各種センサーのデータを sqlite3 データベースに保存し、グラフを表示します。
VisualStudio 2019 (32bit ビルド)
MONOSTICK や TWELITE-R は、 FTDI社の USBシリアル変換IC FT230 / FT232 シリーズを搭載しています。これらを利用するために、デバイスドライバのインストールが必要となる場合があります。
PC がMONOSTICK や TWELITE-R を認識しない場合には、https://www.ftdichip.com より D2XX ドライバをインストールしてください。
場合によっては、Visual Studio 2019 の Visual C++ 頒布可能コード(ランタイムライブラリ)が必要です。
アプリケーションの起動時にエラーが出て起動しない場合は、本パッケージで再配布している TWELITE_Stage¥INSTALL¥VC_redist.x86.exe を実行するか、マイクロソフト社のウェブサイトから入手してください。なお、再配布バイナリは 32bit です。
ビューア
Windows macOS Linux RasPi
ビューアは、接続した TWELITE から受信した情報を表示したり、コマンドを送ったりするための機能です。
指定
Windows macOS Linux
フォルダまたは.BINファイルをTWELITE STAGE APP の画面にドラッグ&ドロップできます。 ドロップした対象のビルドや書き込みを行うときに選択します。
その他仕様など
BINから選択
Windows macOS Linux RasPi
ビルド済みのアプリ(.BINファイル)を書き込みます。
メニューを選択すると、ファイル一覧が表示されます。書き込みたいファームウェアを選択してください。
メニュー選択前に、書き込みむBINファイルを以下に格納しておきます。
BINフォルダにはTWELITE STAGEでビルドした .BIN ファイル(各プロジェクトのbuildフォルダ以下に格納)を、ファイル名を変更せず格納しておきます。
ファイル名によりBLUE/REDの識別を行っています。
ログ機能
Windows macOS Linux RasPi
TWELITE と PC 間のシリアル通信のログを記録できます。
Windows macOS Linux RasPi
TWELITE と PC 間のシリアル通信のログを記録できます。
Alt(Cmd)+Lキーを押します。
ログ記録中にもう一度 Alt(Cmd) + L キーを押します。
ログの記録が終了し、その時点のログファイルをOS標準の方法(Windowsならメモ帳、macOS ならコンソール)で開きます。
Raspberry Pi では、ログファイルの保存だけを行います。ファイルを開く機能はありません。
TWELITE から受信した文字列は、そのまま記録されます。
TWELITE に送信した文字列は、1文字ずつ記録されます。Windowsの場合は 「 」、 macOS/Linux/RaspBerryPiは « » で囲われます。
例えば«t»とある場合は、キーボードからtを入力したことを意味します。
Windows macOS Linux RasPi
{TWELITE STAGE APP の実行形式のあるフォルダ}/log にログ開始時の日時を元にしたファイル名で保存されます。
Alt(Cmd)+Shift+L を押すことで、そのフォルダを開きます。
インストール
動作環境によっては、本アプリケーションの動作に各種設定が必要です。問題が生じた場合には、本資料の記述を参考にして環境を整備してください。
開発環境を構築するためには、ソフトウェア群のインストール、またこれらの利用許諾に同意する必要があります。また、セキュリティ設定等が必要になる場合があります。
配布時に十分注意しておりますが、お客さまの側でもウィルスやマルウェアが含まれていないことを確認いただくようお願いします。
再書換
Windows macOS Linux RasPi
直前に書き換え・指定した項目を再選択します。
セキュリティの運用(外部アプリケーションのインストールの可否など)については、お客さまの環境の管理者にご確認ください。
「アプリケーションの配布と実行について」 も併せてご覧ください。以下の内容を含みます。
本来のファイルとダウンロードしたファイルの同一性の確認について
macOS/Windowsにおけるコード署名の取り扱いについて
各プラットフォーム (Windows / macOS / Linux) 用の TWELITE STAGE SDK を ダウンロード します。
ダウンロードしたZipアーカイブを展開します。
展開先のファイルパスには、半角数字 0..9、半角アルファベットa..zA..Z、一部の記号 -_. 以外の空白や漢字・ひらがな等を含めないでください。
Windows の場合の例
× C:\work\作業\
× C:\Users\user1\work dir\
〇 C:\Work\Work1
展開先のフォルダを確認します。
通常 C:\Work 上に配置したアーカイブは C:\Work\MWSTAGE に展開されますが、展開ソフトによってはフォルダ名が異なる可能性があります。 必要に応じて変更してください。
展開先のフォルダ {MWSTAGE インストール} には、以下が含まれます。
TWELITE STAGE アプリ
Windows の場合:TWELITE_Stage.exe(通常版)、TWELITE_Stage_VSCode.exe(VSCode対応版)
macOS の場合:TWELITE_Stage.command(通常版)、TWELITE_Stage_VSCode.command(VSCode対応版)
Linux の場合:TWELITE_Stage.run(通常版)、TWELITE_Stage_VSCode.run(VSCode対応版)
TWELITE STAGE - TWELITE STAGE APP の関連ファイル
MWSDK - ライブラリ、ソースコードなど
Tools - ビルドするためのツールチェインなど
BIN - TWELITE STAGE APP の [BINから選択]メニューで参照されるTWELITE 向け.BINファイル
log - TWELITE STAGE APP のログ機能やデータベースファイルの保存先
flask_wsns_db - Python, Flask, sqlite3 による簡易的なサーバ
詳細は「フォルダ構成」をご覧ください。
以下を参照してください。
選択プロジェクトの再書換
直前に選択した一覧の再表示




Windows, macOS, Linux, Raspberry Pi
{MWSTAGEフォルダ}/BIN
../BIN/App_Wings_MONOSTICK_BLUE_L1304_V1-1-3.bin
App_Wings_MONOSTICK_RED_L1304_V1-1-3.bin
App_Twelite_BLUE_L1304_V1-9-1.bin
App_Twelite_RED_L1304_V1-9-1.bin
...
macOS 12.4 (Monterey, Apple Silicon)
下記の事象が発生した場合には、 TWELITE_Stage の動作のために、実行の許可やインストールが必要です。
ツールチェインにはコード署名がなされていますが、コード署名が正しく認証されない場合は、ビルドツールチェイン (ba-elf-gcc など) の実行形式一つずつについて、動作許可を求められる場合があります。
ダウンロードアーカイブには署名しておりません。実行時には、インターネットからダウンロードされたアプリケーションとしてセキュリティ警告が出る場合があります。
TWELITE_Stage をインストールしたパスからの実行許可を要求される場合があります。
ビルド実行時に make ユーティリティのインストールダイアログが出る場合があります。
場合によっては、make ユーティリティをインストールしなくてはなりません。
macOSバージョンの違いなどにより、別の手順で行う必要があるかもしれません。
コマンドライン (zsh) から make を実行したときに、エラーが出る場合には Command Line Tools をインストールします。
インストールが完了したら、make を入力して以下のメッセージの出力を確認します。
MONOSTICK や TWELITE R には、 FTDI社 (https://www.ftdichip.com) の USBシリアル変換IC FT232 シリーズを、TWELITE R2 には FT230 シリーズを搭載しています。これらを利用するために、デバイスドライバのインストールが必要となる場合があります。
TWELITE_Stage を起動してもシリアルポートが表示されない場合は、FTDI社のドライバをアンロード(無効化)してください。
このユーティリティは MONOSTICK や TWELITE-R を挿入した際にOS標準のデバイスドライバのロードを抑制するだけでなく、同じ USB の ID を持つそれ以外のデバイスについてもデバイスドライバのロードを抑制します。
https://www.ftdichip.com/Drivers/D2XX.htm より D2xxHelper をダウンロードできます。 なお、TWELITE STAGE SDKの TWELITE_Stage/INSTALL フォルダにも同じものを収録しています。
FTDI 関連のドライバをアンロードするには、以下のコマンドを実行します。
$ xcode-select --install$ make
make: *** No targets specified and no makefile found. Stop.$ sudo kextunload -b com.apple.driver.AppleUSBFTDICUE/ARIA ビューア
Windows macOS Linux RasPi
Glancerは、受信メッセージ中の情報を簡易的に表示します。接続する TWELITE には App_Wings を書き込んでおき、通信相手のTWELITE (App_Twelite, TWELITE PAL, ... アプリケーションIDとチャネルを一致させれば混在も可) からの情報を表示します。
画面は以下の2種類の構成になっています。
通信相手からの情報を列挙します。表示内容は(メッセージの種別、論理ID、シリアルID、LQI(Lq)、電源電圧(情報に含まれていれば)、受信時間)です。
一覧表示で項目を移動し反転表示になったところで選択操作を行うことで、この画面に遷移します。特定の通信相手に関する情報を到着順に表示します。
選択されてからの受信パケット数と LQI の平均値が表示されます。
Actビルド&書換
Windows macOS Linux RasPi
アクト(Act)のビルドと書き換えを行います。
アクト(Act)の記述の参考となる小規模なソースコードが中心です。
この画面を開くと、プロジェクト一覧が表示されます。書き込みたいプロジェクトを選択すると、ビルド~書き込みを行います。書き込み終了後にEnterまたは[ B ]ボタンを押すことで、TWELITE をリセットし、インタラクティブモード画面(またはターミナル画面、要設定)に遷移します。
VSCodeを利用する設定(アプリ書換>codeでフォルダを開く)になっている場合は、ビルドは行わずbuild/以下のを開きます。
ビルド対象のプロジェクトは以下のパスに配置しています。
ARIA ビューア
Windows macOS Linux RasPi
の通知メッセージを解釈します。
TWELITE_Stage インストール (Linux)
Linux
TWELITE R2 のUSBデバイスIDが従来の0403:6001から0403:6015に変わっています。udevの設定追加が必要です。
32bit版は用意しておりません。
標準アプリ ビューア
Windows macOS Linux RasPi
のを解釈して表示します。
PCに接続する TWELITE に App_Twelite(標準アプリ) または App_Wings(親機・中継機アプリ) を書き込んでおき、通信相手のTWELITEから受信したデータがターミナルに表示されることを確認してから使用します。
通信相手の TWELITE には App_Twelite(標準アプリ)を書き込んでおきます。標準アプリのボタンやアナログ入力の状態のメッセージ (0x81メッセージ) を受信すると、その内容を mwm5 のパーサーライブラリにより解釈して表示します。
ターミナル
Windows macOS Linux RasPi
ANSI エスケープシーケンス(の一部)に対応した簡易的なターミナルです。TWELITE と PC 間の入出力を直接扱います。
インタラクティブモード
Windows macOS Linux RasPi
接続した TWELITE のインタラクティブモードを利用します。
この画面はターミナルとほぼ同じ振る舞いをしますが、インタラクティブモードに遷移するための操作と離脱の検出を行うなど、インタラクティブモードに固有の機能を追加しています。
接続する TWELITE には、インタラクティブモードに対応したファームウェアをあらかじめ書き込んでおく必要があります。
TWELITE のリセットピンを制御し、リセットします。
ESC
ESCキーを入力することで、この画面を抜けます。
TWELITE のリセットピンを制御し、リセットします。
ESC
この画面を抜け、選択画面に戻る。
[ A ]
リストの前項目に移動します。
[ A ] 長押し
この画面を抜け、前メニューに戻ります。
[ B ]
選択表示に移行します。
[ B ] 長押し
項目をソートします。ソートを実行するたびに、ソートキーは順に変わります。
[ C ]
リストの次項目に移動します。
[ A ]
割当なし
[ A ] 長押し
この画面を抜け、選択画面に戻る。
[ B ]
割当なし
[ B ] 長押し
割当なし
[ C ]
割当なし


[ C ] 長押し
[ C ] 長押し
[ A ] 長押し
この画面を抜けて、前のメニューに戻ります。
[ B ]
大きなフォントで表示する。最初の画面の部分領域を表示します。カーソルが画面中に表示されるように領域を選びますが、画面出力によっては見たい部分が見えない場合もあります。
[ B ] 長押し
折返し制御のON/OFF。標準では折返し表示を行うようになっていますが、折り返ししないように表示することもできます。画面右端以降の文字列は表示されません。
[ C ]
ファーム書換画面に移動します。ファームウェアの開発中には頻繁にソースコードの修正、動作確認、ビルド&書き込みを行うため、ショートカットを用意しています。
[ C ] 長押し
TWELITE のリセットピンを制御し、リセットします。
ESC ESC
ESCキーを2回素早く入力することで、この画面を抜けます。※ 殆どの画面ではESCキーを1回押すことで画面から抜ける操作となっていますが、ターミナルではESCキーの単独入力を使用する場合があるため、2回連続入力の割当になっています。
[ A ]

+ + + シーケンスの入力(インタラクティブモード)
フォルダ(プロジェクト、関連フォルダ)を開きます。設定メニューでVS Codeで開くように設定できます。
ESC
この画面を終了し、書換メニューに戻ります。
マウスクリック [ヘルプ]
関連ウェブサイトを開きます。
マウスクリック [フォルダ] または [VSCode]
関連フォルダを開きます。
マウスクリック [▽] または [△]
次ページ、前ページに移動します。
[ A ]
メニュー選択 ↑
[ A ] 長押し
この画面を抜けて、前のメニューに戻ります。
[ B ]
選択
[ B ] 長押し
関連ウェブサイト(プロジェクトフォルダの000desc.txtに登録がある場合)をOS標準のブラウザで開きます。
[ C ]
メニュー選択 ↓

[ C ] 長押し
Linux環境はディストリビューションやバージョンによって、用意されているパッケージの種類が異なります。個別にパッケージ等のインストールや設定が必要になる場合があります。
エラーメッセージ等を手がかりに一般の情報を参照いただくようお願いいたします。
TWELITE STAGE は以下の環境で開発・動作確認しています。
Ubuntu 16.04, 18.04, 20.04
NNLinux Beta8 64bit
Centos7
TWELITE STAGE から MONOSTICK や TWELITE-R を認識するには、ftdi_sioモジュールをアンロードし、USBデバイスに対して読み書き権限を与える必要があります。
なお、この設定を自動化するための udev の設定スクリプト(Ubuntu, CentOS) を用意しています。
/etc/udev/rules.d に定義をコピーして、設定をリロードします。 設定後は USB デバイスを抜き差ししてから TWELITE_Stage.run を実行してください。起動直後の画面で USB デバイスが表示されたなら、設定が反映されています。
定義ファイル(読みやすいように改行しています)
定義ファイル(読みやすいように改行しています)
必要に応じて、お使いのデスクトップ環境に合った方法でアプリケーションを登録してください。
Ubuntu用の定義ファイル生成スクリプトを用意しています。
このスクリプトは .desktop ファイル(アプリ定義)を$HOME/.local/share/applications に作成します。
スクリプト実行後に、アプリケーション一覧に TWELITE STAGE のアイコンが追加されます。
TWELITE の入出力を使用するため、シリアル通信に文字化けなどが発生した場合など、期待通りにインタラクティブモードへの遷移や離脱ができない場合もあります。
マウス操作には対応しておりません。キーボード(カーソル↑↓での操作は可能)操作を行ってください。
大まかな処理の流れを記載します。

{MWSTAGEインストールフォルダ}/MWSTAGE/Act_samples$ cd ./MWSTAGE/TWELITE_Stage/INSTALL/ubuntu/
$ sudo ./set_udev_sudo.shACTION=="add",
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",
MODE="0666",
RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"
ACTION=="add",
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015",
MODE="0666",
RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"$ cd ./MWSTAGE/TWELITE_Stage/INSTALL/centos/
$ sudo ./set_udev_sudo.shACTION=="add",
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",
MODE="0666",
RUN+="/bin/sh -c '/usr/sbin/rmmod ftdi_sio'"
ACTION=="add",
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015",
MODE="0666",
RUN+="/bin/sh -c '/usr/sbin/rmmod ftdi_sio'"$ cd ./MWSTAGE/TWELITE_Stage/INSTALL/ubuntu/
$ ./make_launch_icon.sh[画面黒背景にする]
↓
[TWELITEのリセット (制御可能ならSET=LO)]
↓
<間欠動作アプリのインタラクティブモードメッセージを検出?> --YES--> [操作画面]へ
↓タイムアウト
['+' を3回入力]
↓
<通常アプリのインタラクティブモードメッセージを検出?> --YES--> [操作画面]へ
↓タイムアウト
[操作画面へ] ※ この状態はインタラクティブモードではない
[操作画面]
↓
<インタラクティブモード脱出メッセージ?> --> [終了]
↓
<画面離脱操作 [ A ] 長押しなど> --> [終了]
↓
<ESC ?> -> <入力中判定> --NO-> [終了]
↓ ↓
[入力文字列をTWELITEへ送信]
↓
[操作画面]へ戻る
[終了]
↓
[TWELITEのリセット]
↓
[画面離脱] インタラクティブモード画面を終了し前の画面へ戻るTWELITE ARIAのデフォルト設定(ARIAモード)は、コイン電池でも動作できるスリープを用いた間欠駆動をしながら、いくつかの要因により起床し、起床後様々な情報を送信しいます。
タイマーの起床(設定値による定期起床)
磁気センサーによる起床(磁石が近づいたことを検出した場合)
モジュール電源電圧
磁気センサーの検出値
温湿度データ
パケットの基本情報を表示します。
#????
これまでの受信パケット数です。
種別
の値で、パケット種別です。TWELITE ARIAからのパケットは通常PKT_PAL=02になります。
ID
送信元の論理IDです。通常は0..100の値になります。
AD
送信元のシリアル番号です。
LQ
LQI、電波強度に対応する値です。
TWELITE ARIAから受信した過去9回分のデータの履歴を表示します。上にあるほど新しいデータです。
TWELITE STAGE APPが起動してからデータを受信するまでの時間[秒]です。
モジュールの論理デバイスIDです。
モジュールの電源電圧[mV]です。
モジュールが計測した温度(℃)です。
モジュールが計測した湿度(%)です。
検出された磁石の極または未検出を表示します。
[ A ]
割当なし
[ A ] 長押し
この画面を抜けて、前メニューに戻ります。
[ B ]
フォントを変更します。
[ B ] 長押し
テスト用のダミーデータによる画面表示を行います。
[ C ]
割当なし
[ C ] 長押し
TWELITE のリセットピンを制御し、リセットします。
ESC

CUE ビューア
Windows macOS Linux RasPi
TWELITE CUEの通知メッセージを解釈します。
TWELITE CUEのデフォルト設定(CUEモード)は、コイン電池でも動作できるスリープを用いた間欠駆動をしながら、いくつかの要因により起床し、様々なデータを送信します。
タイマーの起床(設定値による定期起床)
加速度の検出による起床
磁気センサーによる起床(磁石が近づいたことを検出した場合)
検出イベント(後述)
モジュール電源電圧
磁気センサーの検出値
加速度データ
パケットの基本情報を表示します。
TWELITE CUEのデフォルトでは、必ず加速度イベントを出力します。起床要因に関わらず、起床後には一定サンプル数の加速度計測を行います。この加速度の計測結果に応じてイベントを送信します。
モジュールの電源電圧[mV]です。
検出された磁石の極または未検出を表示します。
起床後に計測された加速度を表示します。
operation manual
TWELITE STAGE アプリ の画面・操作方法を解説します。
TWELITE STAGE アプリを起動するには、 {MWSTAGE インストール} にある実行形式を実行します。
アップデートなどでTWELITE STAGE アプリの実行形式を差し替える場合には、必ず、指定フォルダ {MWSTAGE インストール} にコピーしてください。 それ以外のパスに実行形式を配置した場合の動作は未定義です。
実行はプラットフォーム(Windows, macOS, Linux)によって方法が違います。
2種類の実行形式があります。
TWELITE_Stage.{拡張子} - 標準設定で起動します。
TWELITE_Stage_VSCode.{拡張子} - 「VSCode を使う」設定済みです(設定はTWELITE_Stage_VSCode.iniに保存されている)。VSCodeを使う設定を有効にすると、VSCodeを用いた開発作業に適した動作を行うようになります。
TWELITE STAGE APP は複数起動してもエラーになりませんが、複数起動すると不都合のある機能(センサーグラフ機能など)が存在します。
したがって、複数のアプリを同時に起動する際には、実行形式を複製して、別々のファイルを立ち上げる必要があります。 各種設定ファイルや入出力ファイルが分離されるため、互いの干渉を避けることができます。
アプリを起動すると、以下の2種類のウィンドウが表示されます。
メイン画面
TWELITE STAGEのユーザインタフェースを表示します。
TWELITE STAGEの操作はこの中で行います。
いずれかの方法で終了してください。
実行画面上の右上にマウスポインタを移動し、画面内に表示された終了ボタンを押します。
実行画面のウインドウを閉じます(macOSの場合は⌘Qも使用できます)。
ごくまれに、終了操作をしても実行画面が残る場合があります。その場合には、以下をお試しください。
TWELTIE STAGE APPのコマンドライン画面を閉じる。
強制終了を行う(強制終了の操作方法はお使いのシステムの解説を参照してください)。
ビルド・書換画面
Windows macOS Linux RasPi
ビルド(コンパイル)中の画面です。ビルドコマンドの内容は、コンソール画面に出力されます。画面中の ... はビルドしたファイル数、下部の暗い色の表示はビルドしているファイル名です。
ビルドエラーが発生した場合は、上記のような画面を表示します。再ビルドの実行やエラーログの表示を行うことができます。また、一定時間でタイムアウトして直前のメニューに戻ります。
画面上のエラーメッセージは、代表的なものだけが表示されます。ビルドが失敗したとき、エラー内容のメッセージが表示されないこともあります。
ビルドが成功すると、ファームウェアを書き込む画面を表示します。
書換がエラーの場合は、上記のような画面を表示します。
書換が無事に成功すると、上記のような画面を表示します。
v1.0.2以降では、ファームウェア書き換え後に、書き換え内容を読み出して確認するベリファイ処理を行います。
TWELITE APPS ビルド&書換
Windows macOS Linux RasPi
TWELITE APPSのビルドと書き換えを行います。
TWENET C API によるC言語で記述され、そのまま利用いただく比較的規模の大きいソースコードが中心です。
この画面を開くと、プロジェクト一覧が表示されます。書き込みたいプロジェクトを選択すると、ビルド~書き込みを行います。書き込み終了後にEnterまたは[ B ]ボタンを押すことで、TWELITE をリセットし、インタラクティブモード画面(またはターミナル画面、要設定)に遷移します。
VSCodeを利用する設定(アプリ書換>codeでフォルダを開く)になっている場合は、ビルドは行わずbuild/以下のを開きます。
ビルド対象となるプロジェクトは以下になります。
環境変数について
TWELITE STAGE APP では、内部的に環境変数を設定して make などのビルドプログラムの動作を行います。事前に環境変数の設定は不要です。
MWSDK_ROOT
標準では TWELITE STAGE APP の実行形式が格納されるフォルダにある MWSDK フォルダ(つまり../MWSTAGE/MWSDK)が指定されます。 MWSDK.iniが指定される場合は、指定されたフォルダ名を採用します。
.vscode/settings.json の設定例(抜粋)
"../../"で始まる定義は、TWELITE STAGEアプリからプロジェクトを開く場合は不要です。環境変数MWSDK_TWENET_LIBSRCを設定しない場合に、既定のフォルダ構成の時にソース参照先を指定しています。
シリアルポート選択
Actエクストラ
Windows macOS Linux RasPi
アクト(Act)のビルドと書き換えを行います。
Actエクストラには、外部のオープンソースライブラリなどを利用したものや、比較的複雑な処理を行うものを収録しています。
ESCキーを入力することで、この画面を抜けます。
モノワイヤレス公式リポジトリでは、TWELITE STAGE アプリ単体のバイナリを配布しています。 TWELITE STAGE アプリだけを更新する場合や、M5Stack版を取得する際にはこちらをご利用ください。 各バイナリのバージョンはGitHub上のtagから識別できます。
TWELITE STAGEアプリは、安定板として配布された最新のTWELITE STAGE SDKにおける動作を目的としています。 したがって、古いSDKでは、新しいTWELITE STAGEアプリが正常に動作しない恐れがあります。
Linux 版のバイナリは個別に配布しておりません。 バイナリは TWELITE STAGE SDK パッケージから取得してください。 もしくは、ソースコードからビルドしてください。
Raspberry Pi 版のバイナリは個別に配布しておりません。 バイナリは TWELITE STAGE SDK パッケージから取得してください。 もしくは、ソースコードからビルドしてください。
バージョン 1.0.3a までを以下のページで配布しております。
TWELITE STAGE のソースコードを含む MWM5 ライブラリは以下のページで公開しています。
TWELITE STAGE アプリのソースコードは、examples/TWELITE_Stageに配置しています。
通常は使用しませんが、補助情報を表示します。
シリアル通信の内容が表示されるため、ログを確認する用途に最適です。
コマンドラインから実行した場合には、実行元のターミナルがコマンド画面となります。
Windows
.exe
エクスプローラで実行形式をダブルクリック。
macOS
.command
ファインダーから実行形式をダブルクリック。
Linux, RaspberryPi
.run
ディストリビューションやインストール環境に依存します。Xウインドウシステム上のターミナル画面(xtermなど)から、コマンドとして実行します

SQ
パケットの続き番号です。

[ A ] 長押し
この画面を抜けて、前のメニューに戻ります
[ B ]
エラー時に再ビルドする
[ C ]
エラーログを表示する (Windows/macOS)
エラーログは{プロジェクトフォルダ}/build/builderr.logです。
[ C ] 長押し
フォルダ(プロジェクト、関連フォルダ)を開きます。設定メニューでVS Codeで開くように設定できます。
ESC
この画面を終了し、書換メニューに戻ります。
[ A ] 長押し
この画面を抜けて、前のメニューに戻ります
[ B ]
再度書換を行う(直前の書き換えメニューに戻ります。再書換のメニュー項目が選択されている状態なので、もう一度[ B ]を押すことで再書換操作になります)
ESC
この画面を終了して、書換メニューに戻ります。
[ A ] 長押し
この画面を抜けて、前のメニューに戻ります。
[ B ]
TWELITE をリセットして、インタラクティブモード画面(または設定によりターミナル)画面に移動します。
ESC
この画面を終了し、書換メニューに戻ります。






パケットの続き番号です。
#????
これまでの受信パケット数です。
種別
E_PKTの値で、パケット種別です。TWELITE CUEからのパケットは通常PKT_PAL=02になります。
ID
送信元の論理IDです。通常は0..100の値になります。
AD
送信元のシリアル番号です。
LQ
LQI、電波強度に対応する値です。
ダイス
1(0x00) .. 6(0x06)
定期起床と磁気センサー検出起床を起点に判定します。起床後に大きな加速度が検出される場合は、判定不可としたイベント(0xFF)を検出する場合があります。
ムーブ
16(0x10)
加速度センサーが一定の基準を超えた加速度を検出して起床したときに、ムーブまたはシェイクのイベントが発生します。ムーブは、計測した加速度の変化が比較的小さい場合に発生します(加速度の変化は検出したが、連続的な加速度の変化がなかった場合に発生します)。
シェイク
8(0x08)
加速度センサーが一定以上の加速度を検出して起床したときに、ムーブまたはシェイクのイベントが発生します。シェイクは、計測した加速度の変化が比較的大きい場合に発生します。(加速度の変化は検出し、連続的な加速度の変化が検出できた場合に発生します。シェイクの名前の通り、本体を振り続けたときに発生します)
サンプル
加速度のサンプル数を表示しています。10サンプル固定です。
レートID
加速度のサンプルレートです。04固定で100Hzです。
X,Y,Z
3つの軸の加速度です。8サンプル分の平均値として求めています。単位はミリG (1000mG=1G=9.8m/s2)です。



SQ
フォルダ(プロジェクト、関連フォルダ)を開きます。設定メニューでVS Codeで開くように設定できます。
ESC
この画面を終了し、書換メニューに戻ります。
マウスクリック [ヘルプ]
関連ウェブサイトを開きます。
マウスクリック [フォルダ] または [VSCode]
関連フォルダを開きます。
マウスクリック [▽] または [△]
次ページ、前ページに移動します。
[ A ]
メニュー選択 ↑
[ A ] 長押し
この画面を抜け、前メニューに戻る
[ B ]
選択
[ B ] 長押し
関連ウェブサイト(プロジェクトフォルダの000desc.txtに登録がある場合)をOS標準のブラウザで開きます。
[ C ]
メニュー選択 ↓

[ C ] 長押し
MWSDK_TWENET_LIBSRC
サンプルコードやTWELITE APPSのソースコードフォルダには、Microsoft社の Visual Studio Code (VS Code) 用の定義ファイルを予め作成しています。この定義ファイル中にVS Codeエディタ中でコード解釈を行う目的でライブラリソースコードの参照先を指定しますが、この環境変数を用いています。
MWSDK_TWENET_LIBSRC環境変数が適切に指定されると、MWSDK以下ではないプロジェクトフォルダでもコード解釈が行われ、ライブラリ関数名の補完などが機能します。(参考1)
LANG=C
ツールチェインのメッセージを規定の言語(英語)にするため、明示的に設定しています。
PATH
Windowsでは、SDK添付のmsysユーティリティへのPATHを追加します
MWSDK_MAKE_JOBS MWSDK_MAKE_DISABLE_LTO
VS Codeの設定定義で利用します。
JOBS : STAGE APPで設定された並列ビルド数を渡します
DISABLE_LTO : LTOを無効化します(Windows)
TWELITE Stage アプリ内での設定情報を記録します。
ファイル名は TWELITE_Stage アプリのファイル名 + .sav です。
iniファイルの詳細はこちら。
MWSDK= MWSDK/ フォルダの替わりに別のフォルダを指定したいときに編集します。複数のライブラリバージョンを混在させる場合に便利です。上記の例では MWSDK2020_10フォルダを利用します。
LANG= TWELITE Stage の表示言語を英語にする場合は LANG=en を指定します。
TWELITE_Stage.exe (Windows の場合) を別のファイル名でコピーします。 例えば TWS1.exe と変更した場合は、TRS1.sav, TRS1.ini という設定ファイルを参照します。
TWELITE STAGE APP の [BINから選択] メニューを選択したときには、このフォルダにある ファームウェアファイル (.BIN) を利用します。
TWELITE STAGE APP でシリアルポートのログ機能を実行したときには、このフォルダにログファイルを格納します。
グラフ機能を用いた場合のデータベースファイルの格納先や、csvファイルの出力先もこのフォルダです。
gcc, g++ など、クロスコンパイラの toolchain 等が含まれます。
プラットフォーム特有のユーティリティもこのフォルダに格納されます。詳しくは Tools/readme.txt を参照してください。
TWELITE STAGE APP のセンサーグラフビューアで作成したデータベースにアクセスするためのPythonのサンプルスクリプトです。 本サンプルでは表やグラフでデータをWebブラウザで閲覧することができます。
詳しくは flask_wsns_db/README.html を参照してください。
本機能は標準的に提供する機能ではないものとして紹介します。記載の内容と異なった動作になる場合もあります。
TWELITE STAGE APP は、以下の順でビルドプロジェクトフォルダ (Act_samples など) を検索します。
TWELITE STAGE アプリが起動したときのフォルダ
TWELITE STAGE アプリの実行形式があるフォルダ
{MWSDKフォルダ}/..
{MWSDKフォルダ}
Wks_Acts フォルダを作成した場合には、Act_samples フォルダの替わりに、このフォルダをメニューの[Actビルド&書換]メニューから参照します。
{MWSTAGEインストールフォルダ}/MWSTAGE/Wks_TweApps "C_Cpp.default.includePath": [
"${env:MWSDK_TWENET_LIBSRC}/include/**",
"${env:MWSDK_TWENET_LIBSRC}/src/**"
],
"C_Cpp.default.browse.path": [
"${env:MWSDK_TWENET_LIBSRC}/include/**",
"${env:MWSDK_TWENET_LIBSRC}/src/**"
],MWSTAGE/ : TWELITE STAGE SDK インストール
TWELITE_Stage.??? : 実行形式 (Windwows .exe, macOS .command, Linux .run)
TWELITE_Stage.sav : 設定ファイル
TWELITE_Stage.ini : その他設定
TWELITE_Stage/ : TWELITE STAGE APP の関連ファイル
MWSDK/ : MWSDKのライブラリなど
BIN/ : [BINファイル選択]時の格納先
log/ : ログ・データベース格納先
Tools/ : gcc コンパイラなどのツール一式
flask_wsns_db/ : Python, Flask, sqlite3 による簡易的なサーバMWSDK/
Act_samples/ : mwx ライブラリによるサンプルコード
Wks_TweApps/ : TWELITE APPS のソースコード
Act_extras/ : mwx ライブラリによるより専門的なサンプル、他のライブラリを引用したもの
TWENET/ : TWENET ライブラリ (mwx ライブラリなど)
ChipLib/ : 半導体ライブラリ
MkFiles/ : Makefile の本体処理部分
docs/ : ライブラリマニュアルなど
LICENSE : MWSDKのライセンス記述
000manifest : MWSDKのバージョン情報
ReleaseNotes.md : 更新履歴(トップページ)
ReleaseNotes_en.md : 更新履歴(英語)
ReleaseNotes_jp.md : 更新履歴(日本語)Enterまたは[ B ]ボタンを押すことで、TWELITE をリセットし、インタラクティブモード画面(またはターミナル画面、要設定)に遷移します。VSCodeを利用する設定(アプリ書換>codeでフォルダを開く)になっている場合は、ビルドは行わず build/ 以下のBINファイルを書き込む画面を開きます。
ビルド対象となるプロジェクトは以下になります。
[ A ]
メニュー選択 ↑
[ A ] 長押し
この画面を抜けて、前のメニューに戻ります。
[ B ]
選択
[ B ] 長押し
関連ウェブサイト(プロジェクトフォルダの000desc.txtに登録がある場合)をOS標準のブラウザで開きます。
[ C ]
メニュー選択 ↓

コマンドライン引数と ini ファイル
コマンドライン引数は、TWELITE STAGE APPのいくつかの細かい設定を行います。
-E 0
フェードアウトのようなグラフィカルな効果を無効にする。
iniファイルはTWELITE STAGE APPの基本的な設定(MWSDKのフォルダを参照するなど)を行うために使用されます。
iniファイル名は{TWELITE STAGE APPの実行ファイルのベース名} + .ini です。 通常は TWELITE_Stage.ini となります。
ini ファイルはプレーンテキストファイルとして記述される。
キーと値は = で区切られた1行に格納される (例: KEY=value)。
キーと値の文字列は行頭から始まる(キーの前に空白や他の文字は許されない)。
異なる設定の TWELITE STAGE APP が必要な場合は、TWELITE STAGE APPと同じフォルダに実行ファイルをコピーして、同じ名前の .ini ファイルを作成します。
例えば、英語のインターフェースを使用する場合、TWELITE_Stage.exe(注: .exe はWindowsの実行ファイルの拡張子)を TWELITE_Stage_en.exe にコピーして、 LANG=en の設定を TWELITE_Stage_en.ini に書き込むことで、英語のインターフェースを有効化した実行ファイルを作成できます。
コマンダー
Windows macOS Linux RasPi
コマンダーは、TWELITE にシリアルメッセージを送付するものです。コマンダーの最初の画面は留意事項について記載しています。
画面上部にはテキストで表現されたタブがあり、これをマウスでクリックすることでタブ中の画面に移動します。
[ A ]
この画面では、 の を生成し、送信します。接続する TWELITE には App_Twelite または App_Wings を書き込んでおき、アプリケーションID・チャネルを設定した上で、通信相手からメッセージが受信されていることを確認します。
各項目を変更するたびにコマンドが生成されます。送信ボタンを押すと、現在の設定のコマンドを再度送信します。
この画面では、 の を生成します。接続する TWELITE には App_Wings を書き込んでおき、アプリケーションID・チャネルを設定した上で、通信相手からメッセージが受信されていることを確認します。
各項目を変更するたびにコマンドが生成されます。点灯ボタンを押すと、現在の設定のコマンドを再度送信します。
画面下部には、コマンドが生成されたタイムスタンプと :で始まるコマンドが表示されます。クリップボードにはこの画面の内容がコピーされます。
{MWSTAGEインストールフォルダ}/MWSTAGE/Act_extras[ C ] 長押し
フォルダ(プロジェクト、関連フォルダ)を開きます。設定メニューでVS Codeで開くように設定できます。
ESC
この画面を終了し、書換メニューに戻ります。
マウスクリック [ヘルプ]
関連ウェブサイトを開きます。
マウスクリック [フォルダ] または [VSCode]
関連フォルダを開きます。
マウスクリック [▽] または [△]
次ページ、前ページに移動します。
消灯メッセージを生成します。
点灯ボタン
現在の設定を送信します。
タブの移動(左)
[ A ] 長押し
この画面を抜けて、選択画面に戻ります。
[ B ]
割当なし
[ B ] 長押し
割当なし
[ C ]
タブの移動(右)
[ C ] 長押し
TWELITE のリセットピンを制御し、リセットします。
ESC
この画面を抜けて、選択画面に戻ります。
宛先
送信先の TWELITE を指定します。自身が子機の場合は「親機:0」宛を指定してください。自身が親機の場合は「全子機=0x78」または特定の子機ID(1..8まで指定可能)を指定します。
DI1..DI4
DI1からDI4までの設定状態です。■は選択(LOW=GNDレベル)、□は(HIGH=VCCレベル)を意味します。下項目のSELを指定してください。
SEL
各DIの選択ビット(0ならDIの指定を無視し、1なら指定を有効化)
PWM1..4
PWMのデューティ比を設定します。0はGNDレベル相当、1024(100%)はVCCレベル相当です。N.A.にしたPWMポートは変更しません。※ TWESTAGE基板のPWM1のLEDはVCCからの吸い込みとなっているため、0で最も明るく点灯し、100%では消灯となります。
子機ID
送信先の TWELITE PAL のIDを指定します。値の範囲は 1..8 です。
色
点灯色を7色から指定します。白は2種類ありますが、1つはRGBの混色で1つは白色LED単体の点灯です。
明るさ
0..15で指定します。0は消灯です。
点灯点滅
点灯または点滅パターンを選択します。
点灯時間
コマンド発行後、一定時間経過すると自動的に消灯する機能です。


消灯ボタン
キーと値の間にスペースを入れてはならない。
コメント行は ; または # を行頭に追加する。
-R {type}
{type} 値でレンダリングタイプを設定します。
0: デフォルト
1: OpenGL
2: DirectX(Windows) Metal(macOS)
3: ソフトウェア
-J
ゲームコントローラーを有効にします。
-x {x_pos}, -y {y_pos}
起動時のTWELITE STAGE Appのグラフィカルウィンドウの位置を設定します。{x_pos}と{y_pos}はウィンドウの左上のスクリーン座標です。
MWSDK
MWSDKのフォルダを変更する。デフォルトのフォルダは、TWELITE STAGE APPの実行ファイルが置かれているのと同じフォルダにある MWSDK です。古いMWSDKやカスタムMWSDKを使用する必要がある場合は、そのフォルダの名前を指定することができます。
LANG
LANG=en は、ユーザーインターフェースの言語をデフォルト(日本語)から英語に変更します。
GEOM_X, GEOM_Y
TWELITE STAGEアプリのウィンドウが表示される場所を変更する。
;;; MWSDKの参照を変更します。
; MWSDK=MWSDK
mwsdk=mwsdk2020_10
;;; インターフェース言語
; LANG=en
;;; ウィンドウのジオメトリ
GEOM_X=200
GEOM_Y=100 TWELITE_Stage.exe
TWELITE_Stage.ini | 特別な設定なし
TWELITE_Stage_ja.exe | TWELITE_Stage.exe のコピー
TWELITE_Stage_en.ini | LANG=en が設定されている。TWELITE STAGEの設定
Windows macOS Linux RasPi
各種設定を行います。
この画面のメニューはマウス操作できません。
画面の色を変更した場合に見づらくなる場合があります。
以下の解説のメニュー中には、プラットフォームによっては存在しない項目がありますが、全てを列挙して解説します。
共通メニュー以外の色設定については、解説を省略します。
起動アプリ
TWELITE STAGE始動時にビューアアプリに移動する設定です。設定値は1..{ビューアアプリメニューで列挙されている数}です。 ※ シリアルデバイスIDを設定しておかないと、始動時に接続するシリアルデバイス選択画面で入力待ちになります。
画面サイズ・描画方法
Windows macOS Linux RasPi XYの2桁の文字で指定します(X:画面サイズ Y:描画方法)X 0:640x480 1:1280x720 2:1280x960 3:1920x1440 4:2560x1440 5:320x240, Y 0:LCD風 1:CRT風 2:ぼやけ 3:ブロック
シリアルデバイスID
Windows macOS Linux RasPi 設定はシリアルデバイス名または数値の1..9 を指定します。 ※ 数値の場合はデバイス列挙順になります。
文字色・背景色
文字色、背景色を指定します。共通設定の色設定値は他の画面の設定にも継承されます。他の画面で未設定の場合は共通設定の色設定が採用されます。色はRGB 24bitを16進数で指定しますが、内部的には16bit 565 形式に値が丸められます。
ボーレート
TWELITE 側のボーレートが 115200 でない場合に、ターミナルなどの表示が化けないように設定します。
ビルド時のmakeジョブ数
Windows macOS Linux RasPi ビルドを行う際の並列ジョブ数です。適切な数を設定することでビルド時間の短縮を期待できます。 規定値0は(物理プロセッサ数-1)でジョブ数を計算しています。目安としては論理プロセッサ数を上限とすると良いでしょう。
codeでフォルダを開く (VSCode)
Windows macOS Linux 1を設定することでOS標準のフォルダウインドウの替わりにcodeコマンド(VS Code)でフォルダを開きます。TWELITE_Stage_VSCodeでは有効になっています。
書換完了後の画面
Windows macOS Linux RasPi 1を設定することでインタラクティブモード画面の替わりに、ターミナルを開きます。2を設定することで、書換メニューに戻ります。TWELITE_Stage_VSCodeでは2に設定されています。
LTOを行わない
Windows WindowのコンパイラはLTOの仕組みにより少しだけ小さいバイナリを生成することが可能ですがリンクに時間がかかります。この手順を省略しより高速なリンクを可能とします。
この画面は、データセーブ領域のメンテナンスを行うユーティリティです。EEPROM(64バイトを1セクタとして最大60セクタ、3840バイト)をエミュレートしています。
r
セクタを読み出します。0..59を入力すると、入力したセクタ番号のセクタの内容を表示します。
R
(YESを入力すると全セクタの読み出しを行いますが、一番最後の部分しか表示されません)
e
セクタを消去(0xFF)します。0..59を入力すると、入力したセクタ番号のセクタが消去されます。
E
YESを入力すると全セクタを消去します。

共通設定
ターミナル
標準アプリ ビューア
グラフ表示 (加速度リアルタイム/センサー)
簡易モニター (CUA/ARIA/Glancer)
グランサー(簡易モニタ)
コマンダー
アプリ書換
インタラクティブモード
セーブデータ ユーティリティ(ダンプ/消去)
情報a: ( 0x00) 起動アプリ指定
G: ( 0x00) 画面サイズ・描画方法
F: ( ) シリアルデバイスID
f: (0x00FFFFFF) 文字色
b: (0x005A0032) 背景色
B: ( 115200) ボーレートf: (0x00FFFFFF) 文字色
b: (0x005A0032) 背景色
j: ( 0) ビルド時のmakeジョブ数
v: ( 0) codeでフォルダを開く(VSCode)
l: ( 0) LTOを行わない
n: ( 0) 書換完了後の画面r: Read sector.
R: Read ALL sectors.
e: Erase sector.
E: Erase ALL sectors.macOSLinuxRasPiAlt(⌘)を押しながら行うキー入力は、 TWELITE STAGE APPの設定を変える操作等に割り当てられています。 その他のキー操作は、通常は文字入力として機能します。
Windows macOS Linux RasPi
ESC ESC
素早く2回ESCを押す。キャンセル、または前画面に戻る。画面によっては1回のESCで前画面に戻ります。
Enter
入力、選択
カーソル↑↓
項目の選択
Windows macOS Linux RasPi
Windows/macOS/Linux/Raspberry Piでは、Alt(⌘)を押し続けることでヘルプ画面を表示します。ヘルプ画面ではAlt(⌘)と一緒に操作できるキーの説明や一部動作状況を表示します。
ヘルプ画面は画面の左上部分にマウスポインタを移動することでも表示できます。
Windows macOS Linux RasPi
Windows/macOS/LinuxでのAlt(⌘)を押しながら行う操作について解説します。
表中ではAlt(⌘)+の表記は省略しています。上記のヘルプ画面から使用可能なキーを確認できますが、下表に補足説明を示します。
Alt(⌘)+キー
意味
I
+ + + を入力します。インタラクティブモードに入るキーシーケンスです。 ※ スリープによる間欠動作を行うアプリは非対応。
R
モジュールをリセットします。TWELITE R や MONOSTICK の機能を用いてリセットピンの制御を行います。
A, S, D
A, B, C ボタンを押します。
Shift + A, S, D
A, B, C ボタンを長押しします。
C
表示されている画面の文字列をクリップボードにコピーします。(画面によって範囲は異なります)
Alt(⌘)+Shift+Ctrl+m
MWX ライブラリコードのフォルダを開きます。
Alt(⌘)+Shift+l
log フォルダを開きます。
Windows macOS Linux RasPi
マウス操作は左クリックが中心ですが、右クリック、右ダブルクリック、ホイールを使う場合があります。
左クリック
選択
左クリックしながらドラッグ
画面によって利用(グラフ画面でのドラッグ)
左ダブルクリック
使用しない
右クリック
画面によって利用する
右ダブルクリック
画面から脱出する(ESC ESCと同様)
Windows macOS Linux RasPi
画面下部のメニュー表示にマウスポインタを移動すると、[ A ], [ B ], [ C ] という表記のボタンが表示されます。 TWELITE STAGE APPは、この3つ並びのハードウェアボタンを模したメニューに画面ごとの機能を割り当てています。 このボタンを左クリックまたは左長押しクリックすることで、機能を呼び出しできます。(Alt(⌘)+a,s,d または Alt(⌘)+Shift+a,s,dでも選択可能)
Windows macOS Linux RasPi
Windows/macOS/Linuxでは、TWELITE STAGE APP の画面を原則文字列のみで構成しますが、メニューやボタン、タブについてはマウスによる操作が可能です。
テキストのみの構成ですが、画面上部のタブや、反転表示の文字はマウスの左クリックで選択可能です。
V
クリップボードからキーボード入力としてペーストします。
F
フルスクリーン表示に遷移します。Shift+Fの場合、可能であればより拡大します。
G
画面の描画方法を変更します。640x480の液晶画面をエミュレートしていますが、拡大時の描画方式として(1. 液晶モニタ風の描画 / 2. ブラウン管風の描画 / 3. ドットを目立たせた拡大 / 4. ドットをぼやかせた拡大)の4種類が選択できます。※ 設定メニューで起動時の設定を変更できます。
J
画面サイズを選択します。選択可能な画面サイズは {640,480}, {1280, 720}, {1280,960}, {1920,1440}, {2560,1440}, {320,240} です。 ※ 設定メニューで起動時設定にできます。
Q
TWELITE STAGE APPを終了します。
0
シリアルポートを切断し、再度シリアルポートの一覧を表示します。
1,2,..
シリアルポートを選択します。
L, Shift+L
シリアルポートの入出力のログを開始します。終了時にはログファイルが Windows であればメモ帳、macOS であれば ログビューア で開かれます。Shift+L でログ格納フォルダを開きます。
ホイール
画面によって利用する(グラフ画面で拡大縮小)



TWELITE_Stage インストール (Raspberry Pi)
RasPi
TWELITE Stage アプリは、一部を除く Raspberry Pi でも動作します。
マウスとタッチスクリーンに対応します。
ビルドツールチェインが付属しており、コンパイルもできます。
実行形式には、X11版のほかにフレームバッファ版(nox)があるほか、半透明エフェクトなどを省略した軽量版があります。
お使いの RaspberryPi の OS 種別、バージョン、インストール状況によっては動作しない場合や、再コンパイル等が必要になる場合があります。
TWELITE STAGE は以下の環境で開発・動作確認しています。
ハードウェア
Raspberry Pi 3 Model B
LCD Screen: Raspberry Pi Touch Display (7")
ソフトウェア
1回目の起動で /dev/serial0 の動作に失敗することがあります。
Raspberry Pi 4B では /dev/serial0 の動作は未検証です。
Raspberry Pi 4B ではタッチスクリーンの動作は未検証です。
ダウンロードしたアーカイブファイルは、パス名に空白や日本語などが含まれないフォルダに展開します。
以下ではRaspberry Piのホームフォルダに展開しています。
TWELITE STAGE から MONOSTICK や TWELITE-R を認識するためには、ftdi_sioモジュールのアンロードや、USBデバイスに対する読み書き権限の付与が必要です。
この設定を自動化するための udev の設定スクリプトを用意しています。/etc/udev/rules.d に定義をコピーして、設定をリロードしています。設定後は USB デバイスを抜き差ししてから TWELITE_Stage.run を実行してください。起動直後の画面で USB デバイスが表示されたなら、設定が反映されています。
定義ファイル(読みやすいように改行しています)
上述の環境では、raspi-config よりシリアルポートの設定をすることで /dev/serial0 が利用できます。
TWELITE, Raspberry Pi それぞれのマニュアルを参照してください。
DIP# は TWELITE DIP のピン番号です。
上記の配線は TWELITEが安定稼働することを保証するものではありません。
フレームバッファ版はX11のデスクトップ上では動作しません。X11を終了しておきます。
TWELITE_Stage.runを実行します。スクリーン画面上のTWELITE Stageアプリが表示されます。
マウスとタッチパネルに対応します。
TWELITE Stage アプリ中で、入力した文字はコンソール画面にも表示される場合があります。
TWELITE_Stage.run 起動時に以下のエラーが出る場合がありますが、無視して構いません。
CPU数が4以上の場合、ビルド時はCPU数を一つ引いた値の並列コンパイルを実行します(4コアなら3並列)。 場合によってはメモリ不足が発生するかもしれません。その場合は並列数を変更してください。
この情報は十分な検証を行っていません。
以下の設定が必要です。OpenGL関連のドライバが有効にする必要があります。
raspi-config の Advanced Settings → A2 GL Driver → G2 GL (Fake KMS) を選択します
libgles-dev パッケージを導入しておきます
タッチスクリーンの動作は未検証です
Raspberry PI OS (32bit) Lite (Version:August 2020)
/dev/tty1上で動作してるシェルやgettyへ入力文字列がそのまま渡されます。/dev/tty1から起動することを推奨します。他のインストールや動作のプログラム(X11など)に影響を受けることがあります。
$ cd /home/pi
$ unzip MWSTAGE2020_XX_YYYY.zip../MWSTAGE
TWELITE_Stage.run TWELITE_Stage アプリ
BIN/ ファームウェアBINファイル
MWSDK/ MWSDK ライブラリなど
TWELITE_Stage/ TWELITE_Stage アプリ関連ファイル$ cd ./MWSTAGE/TWELITE_Stage/INSTALL/ubuntu/
$ sudo ./set_udev_sudo.shACTION=="add",
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",
MODE="0666",
RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"
ACTION=="add",
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015",
MODE="0666",
RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'" $ sudo raspi-config
メニューより
"3 Interface Options Configure connections to peripherals"
→"P6 Serial Port Enable/disable shell messages on the serial connection"
以下のようにログインシェルとしては利用しない、ハードウェアを有効化するを選択します。
"Would you like a login shell to be accessible over serial?" -> <No>
"Would you like the serial port hardware to be enabled?" → <Yes> [TWELITE] [RaspberryPi]
GND ------------------ Gound (#6,#9,#14,#20,#25,#30,#34,#39のいずれか)
TXD(DIO6,DIP#10) ------ GPIO15/UART0 RXD (#10)
PRG(SPIMISO,DIP#7) ---- GPIO23 (#16)
RXD(DIO7,DIP#3) ------- GPIO14/UART0 TXD (#8)
RST(RESETN,DIP#21) ---- GPIO22 (#15)
VCC ------------------ 3V3 (#1,#17のいずれか)
SET(DIO12,DIP#15) ----- GPIO12 (#32) "The path /dev/dri/ cannot be opened or is not available"加速度センサーのリアルタイムグラフの追加
センサーデータの保存とグラフ表示を行うセンサーグラフを追加
英語表示に対応
主要マニュアルをローカルhtmlファイルに変更
[ A ] [ B ] [ C ]ボタンで、ポインタから外れたボタンが残ってしまう場合があった
STAGE APPでEnter入力の際にTWELITEに対してCRLFを送信するようにした
MacのFTDIライブラリを更新しApple Silicon(M1)でもシリアル仲介プログラムを利用しなくても、動作できるようになった
Windowsでmsysツール群のPATHを内部設定し、期待しないmakeが呼び出されないようにした
TWELITE未接続でも書き込み画面に移動できるようにした(B,Rキーを入力し、対象のTWELITEモデルを指定する)
VSCodeを利用する設定を行った場合は、ActやTweAppsを選択したときに、ビルドを実行せず、build/以下の.binファイルを書き込む画面を開くようにした。(ビルドはVSCodeから実施します)
いくつかの環境変数を内部的に設定し、TWELITE STAGEから起動したVSCodeにこれらを参照させることで、VSCodeから適切なビルドを実行、VSCodeのコード解釈に対して適切なライブラリソースを参照できるようにした
MWSDKフォルダ以下にサンプルコードが格納されているが、ビルド対象のフォルダをドロップすることで、MWSDK以外のフォルダでもビルドや書き込み作業をできるようにした(フォルダ名に空白や日本語文字などが含まれてはいけません)
始動時のコンソール画面に、内部のフォルダ設定や環境変数の設定内容を表示するようにした
終了時は1秒待ってからSTAGE APPを終了するようにした
Raspberry Pi の対応を強化 (1.0.7pre2)
serial0 の対応(TWELITE STAGE HAT)
Zero 向けビルドを追加(対応ライブラリでビルド&描画フェード機能を無効化)
X11 デスクトップ向けビルドを追加
一般のFTDIデバイス(FT232,FT230)でも利用できるようにした。ファームウェア書き込みモードは手動で行う必要があります
Windowsで、シリアルポート選択画面でcキーを押すことでWindowsで割り当てられているCOMポートを表示する機能を追加した
ボーレートを115200bpsから変更できるようにした
描画フェード機能を無効にするコマンドラインオプション(-E 0)を追加。
TWELITE CUE対応(パーサー・CUEビューア)
書換メニューで、書き込み時にベリファイ(比較)を行うようにした。
Apple Silicon暫定対応(TWELITE_Stage.command はユニバーサルアプリ、シリアル処理用の外部コマンドsersrv_ftdi.command、Toolsは Rosetta2 で動作可能な intel バイナリを再ビルド、シリアル通信は外部コマンド経由のため遅くなります)
フォルダ構成で MWSTAGE/MWSDK/Tools を MWSTAGE/Toolsに移動した。(MWSDKをMWSDK_COMMONレポジトリをそのまま利用できるようにするため)
TWELITE_Stage.ini (起動ファイル名から拡張子を取り除き .ini を付加) を、起動時に読み込みMWSDKフォルダを選択できるようにした。(古い版のライブラリ一式を簡単に切り替えられるようにした)
画面描画用のSDL2ライブラリを 2.0.12 に変更した (Windows, MacOS, RaspberryPi)。
Windows では static ビルドとして DLL ファイル不要とした。
make -j による並列ビルド数を(物理CPU数 - 1)とした。
書換メニューのいくつかの場所で、シリアルポートの再オープンを明示的に行うようにした。デバイスの抜き差しを行ったときなどにUSB接続が切断した場合などに、復帰しやすいようにした。
Alt(Cmd)+Shift+m, t で mwx, twesettings を開くとき TWENET/usever.mk 記載のフォルダを
開くようにした。
[Raspberry Pi] 初回起動時に /dev/serial0 での書込メニュー遷移が失敗する問題を修正。
起動時にAlt(Cmd)押し下げ時のヘルプメッセージが出現しない場合がある。Alt(Cmd)+0を入力することで表示されます。
書換メニューでファイル名が長すぎる場合に、行の行事が乱れる場合がある。
Apple Siliconでの動作については十分な検証を行っていません。
(※包括的な検証を実施しないバージョンです)
Raspberry Pi での動作
その他、機能調整
最上位メニューにも [ウェブ] ボタンを追加し、関連リンクをブラウザで開けるようにした。
Linux版のフォルダ、ウェブ、VS Code で開く機能を実装した。
TWELITE が頻繁に UART 出力している場合に、書き込みメニューへ遷移しづらいことがあった
TWELITE CUE対応(パーサー・CUEビューア)
書換メニューで、書き込み時にベリファイ(比較)を行うようにした。
Apple Silicon暫定対応(TWELITE_Stage.command はユニバーサルアプリ、シリアル処理用の外部コマンドsersrv_ftdi.command、Toolsは Rosetta2 で動作可能な intel バイナリを再ビルド、シリアル通信は外部コマンド経由のため遅くなります)
フォルダ構成で MWSTAGE/MWSDK/Tools を MWSTAGE/Toolsに移動した。(MWSDKをMWSDK_COMMONレポジトリをそのまま利用できるようにするため)
TWELITE_Stage.ini (起動ファイル名から拡張子を取り除き .ini を付加) を、起動時に読み込みMWSDKフォルダを選択できるようにした。(古い版のライブラリ一式を簡単に切り替えられるようにした)
画面描画用のSDL2ライブラリを 2.0.12 に変更した (Windows, MacOS, RaspberryPi)。
Windows では static ビルドとして DLL ファイル不要とした。
make -j による並列ビルド数を(物理CPU数 - 1)とした。
書換メニューのいくつかの場所で、シリアルポートの再オープンを明示的に行うようにした。デバイスの抜き差しを行ったときなどにUSB接続が切断した場合などに、復帰しやすいようにした。
起動時にAlt(Cmd)押し下げ時のヘルプメッセージが出現しない場合がある。Alt(Cmd)+0を入力することで表示されます。
書換メニューでファイル名が長すぎる場合に、行の行事が乱れる場合がある。
Apple Siliconでの動作については十分な検証を行っていません。
(※包括的な検証を実施しないバージョンです)
Raspberry Pi での動作
その他、機能調整
最上位メニューにも [ウェブ] ボタンを追加し、関連リンクをブラウザで開けるようにした。
Linux版のフォルダ、ウェブ、VS Code で開く機能を実装した。
TWELITE が頻繁に UART 出力している場合に、書き込みメニューへ遷移しづらいことがあった
M5Stack版で MW-SLA-1J,E / MW-OSSLA-1J,E のデュアルライセンスとし、readme-j.txt を更新した。
ビューア一覧表示に[ウェブ]ボタンを追加し、関連サイトを開く機能を追加など。
ビューア>コマンダーの追加
標準アプリ 0x80 コマンド
NOTICE PALのLED制御 (App_Wingsにコマンドを送付)
ビューア>PALビューアのNOTICE PAL対応。
Actエクストラのメニューを追加
Act_samplesより高度なもの
外部のオープンソースライブラリ(センサー手続きなど)を利用したもの
マウスによる操作を拡大 (リスト、ボタン、タブ)
マウス移動でフォーカス、左クリックで確定、右クリックは[ESC]キー入力
画面表示負荷の低減
アプリケーションがバックグラウンドの時はスクリーンセーバーを無効にした
アプリケーションがバックグラウンドの時は、描画回数を減らして CPU 負荷を減らした
ビルドプロジェクト(Act, TWE_Apps, Actエクストラ)の一覧の機能強化
項目選択時に下部に概要を表示 (000desc.txtを読み込む。TWE_Descクラスにより処理)
プロジェクトフォルダを開く(またはVSCodeで開く)機能
関連ウェブサイトを開く機能
ログ(シリアルポート入出力)機能の追加
(Alt/Cmd+L)でログの開始・終了
ログファイルを {TWELITE_Stage 実行形式のあるフォルダ}/log に格納
ファイル名は twestage_{日付-時刻}.log
その他、変更・修正など
シリアル(FTDI)デバイス名、IDの表示方法を変更
App_UARTでインタラクティブモードに遷移しなかった問題を修正
フォルダドロップ時の挙動を変更した (これまではバイナリ書き込みになる場合があったが、メニュー遷移とした)
M5Stack で設定を保存するときにハングアップし、設定内容が初期化される場合があります。
2020_05 リリース版
ウインドウアイコンの追加
BINファイル一覧画面での最大リスト数の制約を緩和 (win/linux/mac)
Glancerビューアの追加
解説文面等の調整
コンソール画面の描画の調整
ファーム書き込み後の移動先画面(インタラクティブモードかターミナルか)の設定が動作していなかった
Alt(or Cmd)+W の割り当てを変更
その他不具合の修正
Linux 版リリース初版
リリース初版
ALt+Shift+m mwxライブラリ、Alt+Shift+t twesettingsライブラリを開く機能
ビルドメニュー中で選択中のフォルダやビルドエラーファイルを開けるようにした。
Shift+Alt/Cmd+L でログファイルフォルダを開く
ターミナル長押し時[C]でリセットに加え、画面クリアするようにした。
センサーグラフ
Windows macOS Linux RasPi
各種センサーデータをデータベースファイルに記録します。また TWELITE STAGE APP 画面上で簡易的に計測値を参照する機能もあります。
同一実行形式名の TWELITE STAGE APP を複数起動して、センサーグラフを同時に使用することはできません。
データベースファイルは {MWSTAGEインストール}/log フォルダに格納され、TWELITE_STAGE APP 実行形式名をもとにファイル名が決まります。同一実行形式の場合、同じデータベースファイルを参照するためです。TWELITE STAGE APPの実装では、複数のアプリが同時に同一のデータベースにデータを追加することを想定していません。また、状況によってはデータベースファイルのアクセスエラーとなり、TWELITE STAGE APP がクラッシュすることもあります。
例えば、MONOSTICK を2台接続して、同時に複数の「センサーグラフ」を動作させたい場合には、各々別の実行形式名 (TWELITE_Stage_a.exe, TWELITE_Stage_b.exe) とした TWELITE STAGE アプリを実行します。この時のデータベースファイル名は log/TWELITE_Stage_a_WSns.sqlite, log/TWELITE_Stage_b_WSns.sqlite です。
データの保存には sqlite3 を使用しており、 {MW_STAGE Install}/log/{実行形式名}_WSns.sqlite というファイルに格納されます。
画面遷移は [一覧(グラフプレビューあり)]>[24時間データ] >[ライブビュー]です。
[24時間データ] から更に [年] [月] [日(グラフプレビューあり)] 選択画面に遷移できます。
v1.3.9以降
「24時間データ画面」上で、画面右上のセンサーノードのメモ部分を左クリックすると、メモを編集するためのプロンプトになります。
IME入力時の操作方法は、利用のシステムに依存する場合があります。
IME入力時の操作によっては期待しない文字列が入力される場合があります。不要な文字列が入力エリアに表示された場合は BS キーで不要部分を削除します。
画面は一覧、24時間、ライブの3種類が基本になります。
[STAGE 共通設定→起動アプリ指定]にて32を指定する。
センサーノードにテキストメモ(付加情報)を格納する目的で利用する。
最後に受信したタイムスタンプを管理する目的で使用する。
一覧から特定のノードを選択します。
1秒おきのリアルタイム表示を行い、過去450秒前までのデータを表示します。
[24時間データ] 表示画面について
特定の日のデータを表示します。
1秒おきの取得とし、複数データが有る場合は間引かれます。
最大拡大時(1ピクセル1秒)以外は、各ピクセル範囲での取得値の平均により表示します。
値が画面よりはみ出す場合は上下端に測定点を表示します。
現在時間が含まれる場合は、新しいデータが来ると表示更新します。
ホイール、カーソル↑↓:時間軸の拡大・縮小
マウスの移動:マウスポインタに対応する時間軸にある取得データを簡易表示します。
カーソル→、←:隣の取得データに移動します。
クリック&ドラッグ:スクロール(拡大時のみ)
拡大時はスクロールバーによる操作も可能です。
[CSV出力] 機能では、データベースに含まれるすべての取得値を表示します。
データの抽出は https://sqlitebrowser.org/ のツールを使ってください。
1日単位グラフに移動する
[<<一覧]
一覧選択画面に移動する
[年] [月] [日]
年月日で、特定日を選択する
[最新]
今日のデータに移動
[CSV出力]
1日分のデータをCSVファイルに出力
一覧で [表示]
リストの表示方式を変更する
一覧で [ソート]
リストの並び順を変更する
一覧で [↑]
リストの並び順を反転する
タイムスタンプのミリ秒部分です。
year
INTEGER
タイムスタンプよりローカル時間の年部分です。
month
INTEGER
タイムスタンプよりローカル時間の月部分です。
day
INTEGER
タイムスタンプよりローカル時間の日部分です。
hour
INTEGER
タイムスタンプよりローカル時間の時部分です。
lid
INTEGER
ユーザにより割り当てられた LID などの識別値です。
lqi
INTEGER
受信強度の目安値です (Link Quality Indicator) 。
pkt_seq
INTEGER
パケットの続き番号です。どのような値を取りうるのかはファームウェアによって異なります。
pkt_type
INTEGER
無線パケットの種別です。
2 PAL AMB, 6 ARIA
1 PAL MAG
*3 PAL MOT,5 CUE
0x101 App_Twelite, *0x103 App_IO
*現時点で非対応
value
REAL
計測値 (パケット種別によって定義が異なります)
pkt_type->
2,6: 温度
1: 磁石の判定有無 00->磁石なし, 01->N極, 02->S極
3,5: X軸加速度(パケット中に複数サンプル含まれる場合は平均値)[G]
0x101,103: 入力IOのビットマップ(val_dioの下位8ビットと同値)
value1
REAL
計測値 (パケット種別によって定義が異なります)
pkt_type->
2,6: 湿度[%]
1: 未使用
3,5: Y軸加速度(パケット中に複数サンプル含まれる場合は平均値)[G]
0x101: ADC1[V] ,103: 未使用
value2
REAL
計測値 (パケット種別によって定義が異なります)
pkt_type->
2: 照度[lx], 6: 未使用
1: 未使用
3,5: Z軸加速度(パケット中に複数サンプル含まれる場合は平均値)[G]
0x101: ADC2[V], 103: 未使用
value3
REAL
計測値 (パケット種別によって定義が異なります)
pkt_type->
2: 未使用, 6: 未使用
1: 未使用
3,5: 未使用
0x101: ADC3[V], 103: 未使用
val_vcc_mv
INTEGER
電圧[mV]
val_dio
INTEGER
int32_t
b0..b7: DI1..DI8の値 (1はLO, 0はHIGHレベル) b24..b25: マグネット値 (b28が1の場合), 00->磁石なし, 01->N極, 10->S極 b28: 1の場合マグネットデータがb24..b25に格納される b31: 定期送信ビット(マグネットのみ)
val_adc1_mv
INTEGER
pkt_type->1,2,3,0x101: ADC1の計測値
val_adc2_mv
INTEGER
pkt_type->0x101: ADC4の計測値
val_aux
INTEGER
その他データ格納目的
ev_src
INTEGER
イベント発生元
ev_id
INTEGER
イベントID
pal_type->5: 1...6→サイコロ 16→MOVE ... 他(TWELITE CUE の資料参照)
ev_param
INTEGER
イベントパラメータ
pkt_type
value
value1
value2
value3
val_vcc_mw
val_dio
ev_id
マウスドラッグ(グラフ部分)
拡大時に表示位置を移動
マウスドラッグ(下部スクロールバー)
拡大時に位置を移動
カーソル→, ←
サンプル表示の移動
カーソル↑, ↓, ホイール
サンプル横軸の拡大・縮小
[ライブ]
最新到着データを表示する1秒刻みビューに移動する
通常文字
通常の英数文字列を直接入力すると画面上にも表示されます。
IME での入力
IMEからの入力は画面左上部分に入力途上の文字列が表示されます。ENTERキーで入力中の文字列を確定します。
BS
表示されている末尾の文字を削除します。
ENTER
入力した文字列をデータベースに反映します。
_uqid
INTEGER
データベースで使用する続き番号
sid
INTEGER
int32_t
int32_t 型で格納しているシリアル番号です。"8123abcd" というシリアル番号の場合は整数値で -2,128,368,691 の値が格納されます
ts
INTEGER
システムがパケットを受信した時刻で、int64_t 型で格納されるタイムスタンプ値です。UNIX epoch (エポック、1970年からの経過秒) です。
ts_msec
sid
INTEGER
上述のSID
sid_text
TEXT
SIDを16進数文字列に変換したもの(可読性のため)
desc
TEXT (UTF-8)
SIDに対応するメモ(補助情報)で、一覧などで一緒に表示する。
sid
INTEGER
上述のSID
ts
INTEGER
最後の受信時のタイムスタンプ
lid
以下、最後に受信時のデータの抜粋
lqi


[24時間データ]
INTEGER
[一覧] <--> [24時間] <--> [ライブ]
↓↑
[年月日選択]加速度リアルタイムグラフ
Windows macOS Linux RasPi
TWELITE CUEやTWELITE 動作センサーPALから受信したデータを参照する目的で使用します。
CUE モード、MOTモード、2525 FIFO モードの3種類に対応します。
連続したサンプルが一定数(解析窓)以上になると、XYZ軸を周波数解析した表示を行います。ただし 2525 FIFO モードでは常に連続していると仮定します。
パケットの区切りが明示的な場合(直前のパケットから3秒以上経過したとき、CUEモードは1パケットごと、MOTモードはパケットのシーケンス番号が不連続になったとき)には、4サンプル分のダミーデータを挿入しピンク色の背景色で表示します。
先着順に最大4ノードまでのデータを格納します。
複数ノード運用時には、互いのパケット衝突により通信の失敗が多くなります。特に FIFO モードでは、送信周期がほぼ一定で互いにほぼ同時期にパケット送信を試み、干渉により送信が失敗するといったことが長時間続く場合があります。原則として無線チャネル1つにつき、1ノードという運用を行います。
連続的に約 25Hz で計測したい (Transmit Interval: 0, Sensor Parameter: 03000000)
連続的に約 50Hz で計測したい (Transmit Interval: 0, Sensor Parameter: 03000100)
連続的に約 100Hz で計測したい (Transmit Interval:
サンプリングレートは、パケットの受信時間から計算しています。過去複数サンプルの受信時間を平均して1サンプル分としているため、パケットの飛びなどがある場合は誤差が大きくなります。
サンプルレートの推定が終わると、グラフ表示のスクロールをスムーズにします。
また、関連するログ記録のタイムスタンプ(T_SMPL)も同様に推測値、かつ、パケット取得時よりあとのタイムスタンプになっています。
[STAGE 共通設定→起動アプリ指定]にて31を指定する。
[表示データ保存]ボタンを押すことで、画面上の表示位置(右端サンプル)を起点として、最大512サンプル分のデータを出力します。最新のサンプルが末尾に記録されるため、冒頭には何もデータが無い場合がある点に注意してください。
ログファイル名は {logフォルダ}/acc_snap_{タイムスタンプ}.csvです。
データは、右端の一番新しいサンプルが 512 番目(ファイルの末尾)です。
周波数解析実行時は、最後のサンプルから 周波数解析サンプル数分が対象です。
周波数解析対象サンプルが記録されている行に周波数解析結果を追加しています(64サンプルの場合は 449番目から 32 行が結果で DC 成分から高周波成分までが並びます)。
本画面を開き、データが入力された時点で自動的にログファイルを出力します。
ログファイル名は logフォルダ/accel_{シリアル番号}_{タイムスタンプ}.csv です。
画面を開いている間はファイルの書出し中です。読み出し用に開けない、または開けたとしてもすべてのデータが読み出せない場合があります。
003000200約10秒おきに 約 100Hz で128サンプル分計測したい (Transmit Interval: 10, Sensor Parameter: 03000208)
約10秒おきに 約 100Hz で256サンプル分計測したい (Transmit Interval: 10, Sensor Parameter: 03000210)
約10秒おきに 約 50Hz で64サンプル分計測したい (Transmit Interval: 10, Sensor Parameter: 03000104)
約10秒おきに 約 200Hz で128サンプル分計測したい (Transmit Interval: 10, Sensor Parameter: 03000308)
表示サンプルの位置を移動(より大きなステップで)
カーソル→, ←
サンプル表示の移動
カーソル↑, ↓
サンプル横軸の拡大・縮小(等倍, 2倍, 3倍, 4倍。解析サンプル数256の場合は 2倍まで)
パケットの受信時刻から生成した各サンプルのタイムスタンプです。実際にサンプルが行われた時刻とは一致しません。(サンプルレートが受信パケット間隔より推定している点で誤差が大きくなる点と、受信サンプルにサンプル周期を加算している計算をしているため実際のサンプル時刻より1パケット周期分あとのタイムスタンプです)
X[G]
X軸のサンプル値
センサーからの値にもとづき、単位は[G]です。
Y[G]
Y軸のサンプル値
センサーからの値にもとづき、単位は[G]です。
Z[G]
Z軸のサンプル値
センサーからの値にもとづき、単位は[G]です。
FD#
周波数解析計算値の番号
周波数解析サンプル数が 64の場合は DC,1,2,...,31 の順で並びます。
Hz
周波数解析計算結果の周波数軸の値
およその周波数です。(FD# / FD_Len) * FD_Freq で計算しています。
X
X軸の周波数解析計算値
Y
Y軸の周波数解析計算値
Z
Z軸の周波数解析計算値
Label
追加情報名
下表参照
Info
追加情報
下表参照
Time_Msec_part
ログファイルオープン時の秒未満部分 [ms]
Samples
有効サンプルデータ
FD_Len
周波数解析サンプル数
FD_Start#
周波数解析開始サンプル番号
FD_Freq
周波数解析範囲の周波数推定値[Hz]
サンプル受信間隔からの推定値
パケットの受信時刻から生成した各サンプルのタイムスタンプです。実際にサンプルが行われた時刻とは一致しません。(サンプルレートが受信パケット間隔より推定している点で誤差が大きくなる点と、受信サンプルにサンプル周期を加算している計算をしているため実際のサンプル時刻より1パケット周期分あとのタイムスタンプです)
X[G]
X軸のサンプル値
センサーからの値にもとづき、単位は[G]です。
Y[G]
Y軸のサンプル値
センサーからの値にもとづき、単位は[G]です。
Z[G]
Z軸のサンプル値
センサーからの値にもとづき、単位は[G]です。
Label
追加情報名
下表参照
Info
追加情報
下表参照
Time_Msec_part
ログファイルオープン時の秒未満部分 [ms]
右部 [(I)ID#]ボタン部
クリックするごとにIDの切り替えを行う。(注:FIFOモードによる連続サンプルデータの場合は、複数IDによる運用は現実的ではありません)
右部[(f)SMP#]ボタン部
クリックするごとに解析窓サイズを 64,128,256 と変更する
右部 [PAUSE( )] ボタン
表示更新を中断する(サンプルの取得は内部の一時サンプルバッファが一杯になるまでは実行)
右部 [(c)表示データ保存] ボタン
CSV形式のデータ出力を行う (log フォルダ)。画面中の一番右に表示されているサンプルからバッファにある一番古いサンプルまでを出力する。出力数は常に 5120 となり、画面一番右に表示されているサンプルが一番最後のデータになる。
マウスドラッグ(グラフ部分)
表示サンプルの位置を移動
#
サンプル番号
T_PKT[ms]
パケット受信時刻
1パケットに複数サンプル含まれるため、同じタイムスタンプのサンプルが並びます。
SEQ
パケット続き番号
パケットの付与されており、連続していればパケットの欠落がないと考えられます。
T_SMPL[ms]
ModuleSID
送信側のシリアル番号
Tick[ms]
ログファイルオープン時のTWELITE STAGEアプリ側のシステム [ms]
Date
ログファイルオープン時の日付
Time
#
サンプル番号
T_PKT[ms]
パケット受信時刻
1パケットに複数サンプル含まれるため、同じタイムスタンプのサンプルが並びます。
SEQ
パケット続き番号
パケットの付与されており、連続していればパケットの欠落がないと考えられます。
T_SMPL[ms]
ModuleSID
送信側のシリアル番号
Tick[ms]
ログファイルオープン時のTWELITE STAGEアプリ側のシステム [ms]
Date
ログファイルオープン時の日付
Time

マウスドラッグ(下部スクロールバー)
サンプル時刻(仮想・推定)
ログファイルオープン時の時刻
サンプル時刻(仮想・推定)
ログファイルオープン時の時刻
メインメニュー
Windows macOS Linux RasPi
階層化されたメニューの最上位に位置します。
この画面では、メニュー選択を行います。メニューを反転すると、下部緑色文字部分に簡易的な解説を表示します。
ビューア : TWELITE から受信した電文を解釈して表示するビューアです。多くの場合、受信側の TWELITE には App_Wings を書き込んでおきます。
: ファームウェアをビルドし、接続した TWELITE に書き込みます。
: 接続した TWELITE 設定を、インタラクティブモードによって行います。
: TWELITE STAGE アプリの各種設定を行います。
: シリアルポートを選択します。
説明書 : 説明書を表示するメニューです。以下の説明書をブラウザで開きます。
TWELITE STAGE アプリ(この文書)
MWX ライブラリ
TWENET_C ライブラリ

スイッチを押した時にLEDを点灯
act4はTWELITE DIPに接続されたスイッチを押した時にLEDを点灯させるactを動作させます。
https://mono-wireless.com/jp/products/act/index.html[JAPANESE], [ENGLISH]
ブロックの区切り
TITLE=
タイトル行
DESC=
詳細の記述。改行を含めて複数行にすることもできます。
URL=
ウェブサイトまたはファイルへのリンク
URL=
詳細
https:, http: で始まる
そのアドレスを開きます
それ以外
{MWSDK_ROOT}/docs/ を起点とした相対フォルダを指定します。a/b/c.html とした場合は {MWSDK_ROOT}/docs/a/b/c.html に変換されます。

[JAPANESE]
TITLE=Actのテンプレート
DESC=中身が何もない setup(), loop() のみのファイルです。
新しく Act を記述するのに利用してください。
URL=jp/MWX/content/act_samples/README.html
[ENGLISH]
TITLE=Act empty template
DESC=This act file only contains empty setup() and loop(),
which is intended to write a new Act.
URL=en/MWX/content/act_samples/README.htmlシリアルポートの選択
Windows macOS Linux RasPi
シリアルポートを選択しなおします。
