セクションの複数ページをまとめています。 印刷またはPDF形式で保存...

もとのページに戻る

2024-05-14 現在

TWELITE STAGE APP

ビルドや書き換え、設定やデータ表示を行うアプリケーション
TWELITE STAGE APP は、ファームウェアのビルドや書き換え、TWELITE APPSの設定やデータ表示を行うアプリケーションです。評価開発環境 TWELITE STAGE で使用します。

1 - TWELITE STAGE APP マニュアル

ビルドや書き換え、設定やデータ表示を行うアプリケーション
TWELITE STAGE APP は、ファームウェアのビルドや書き換え、TWELITE APPSの設定やデータ表示を行うアプリケーションです。評価開発環境 TWELITE STAGE で使用します。

様々なプラットフォームで動作します。

  • 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)
  • (M5stack : バージョン1.0 まで対応。v1.3以降はソースレベルで非対応です。)

※ プラットフォームによって、動作条件や配布形式、また機能が異なります。

ルートメニュー

ルートメニュー

加速度リアルタイムグラフ

加速度リアルタイムグラフ

本資料について

  • 対象のプラットフォームを示すため、一部のページでは以下を記載しています。
    • Windows   – Windows 10
    • macOS   – Mac OS X, OS X, macOS
    • Linux   – Ubuntuなど(64bit)
    • RasPi   – Raspberry Pi

1.1 - パッケージの取得

TWELITE STAGE APP の取得方法

最新版のTWELITE STAGE アプリは、以下のいずれかの方法で取得できます。

TWELITE STAGE SDK 全体(公式サイト)

モノワイヤレス公式サイトでは、TWELITE STAGE アプリを含む開発ツール一式(Windows/macOS/Linux用)を配布しています。

TWELITE STAGE-トワイライトステージ - MONO-WIRELESS.COM

TWELITE STAGE アプリのみ(GitHub)

モノワイヤレス公式リポジトリでは、TWELITE STAGE アプリ単体のバイナリを配布しています。 TWELITE STAGE アプリだけを更新する場合や、M5Stack版を取得する際にはこちらをご利用ください。 各バイナリのバージョンはGitHub上のtagから識別できます。

Windows

monowireless/TWELITE_Stage_BIN_Win: Binary Distribution of TWELITE Stage.

macOS

monowireless/TWELITE_Stage_BIN_macOS: Binary distribution of TWELITE Stage for macOS

Linux

Linux 版のバイナリは個別に配布しておりません。 バイナリは TWELITE STAGE SDK パッケージから取得してください。 もしくは、ソースコードからビルドしてください。

Raspberry Pi

Raspberry Pi 版のバイナリは個別に配布しておりません。 バイナリは TWELITE STAGE SDK パッケージから取得してください。 もしくは、ソースコードからビルドしてください。

M5Stack

バージョン 1.0.3a までを以下のページで配布しております。

monowireless/TWELITE_STAGE_Bin_M5Stack

ソースコード (MWM5ライブラリ)

TWELITE STAGE のソースコードを含む MWM5 ライブラリは以下のページで公開しています。

monowireless/mwm5

TWELITE STAGE アプリのソースコードは、examples/TWELITE_Stageに配置しています。

1.2 - 使用方法

TWELITE STAGE APP の使用方法
TWELITE STAGE APP の画面・操作方法を解説します。

アプリの起動方法

TWELITE STAGE アプリを起動するには、{MWSTAGE インストール} にある実行形式を実行します。

実行はプラットフォーム(Windows, macOS, Linux)によって方法が異なります。

システム拡張子備考
Windows.exeエクスプローラで実行形式をダブルクリック
macOS.commandFinder で実行形式をダブルクリック
Linux RasPi.runディストリビューションやインストール環境に依存します。
Xウインドウシステム上のターミナル画面(xtermなど)から、コマンドとして実行します

アプリの実行形式

TWELITE STAGE APP には、2種類の実行形式があります。

  • TWELITE_Stage.{拡張子} - 標準設定で起動します。
  • TWELITE_Stage_VSCode.{拡張子} - 「VSCode を使う」設定済みです(設定はTWELITE_Stage_VSCode.iniに保存)。VSCodeを使う設定を有効にすると、VSCodeを用いた開発作業に適した動作を行うようになります。

アプリの実行画面

アプリを起動すると、以下の2種類のウィンドウが表示されます。

  • メイン画面
    • TWELITE STAGE APPのユーザインタフェースを表示します。
    • TWELITE STAGE APPの操作はこの中で行います。
  • コマンド画面
    • 通常は使用しませんが、補助情報を表示します。
      • シリアル通信の内容が表示されるため、ログを確認する用途に最適です。
      • コマンドラインから実行した場合には、実行元のターミナルがコマンド画面となります。
TWELITE STAGE APP 画面例

TWELITE STAGE APP 画面例

アプリの終了

いずれかの方法で終了してください。

  • 実行画面上の右上にマウスポインタを移動し、画面内に表示された終了ボタンを押します。
  • 実行画面のウインドウを閉じます(macOSの場合は⌘Qも使用できます)。

1.2.1 - キーとマウスの操作

TWELITE STAGE APP に使用するキーとマウスの操作説明

Windows   macOS   Linux   RasPi

TWELITE STAGE APP に使用するキーとマウスの操作を解説します。

キー操作

Windows   macOS   Linux   RasPi

Alt(⌘)を押しながら行うキー入力は、TWELITE STAGE APP の設定を変える操作等に割り当てられています。その他のキー操作は、通常は文字入力として機能します。

共通のキー

Windows   macOS   Linux   RasPi

キー意味
ESC ESC素早く2回ESCを押す。キャンセル、または前画面に戻る。
画面によっては1回の押下で前画面に戻ります。
ENTER入力、選択
BS一文字削除
カーソルキー
項目の選択

ヘルプ画面

Windows   macOS   Linux   RasPi

Alt(⌘)を押し続けることでヘルプ画面を表示します。ヘルプ画面ではAlt(⌘)と一緒に操作できるキーの説明や一部動作状況を表示します。

ヘルプ画面は画面の左上部分にマウスポインタを移動することでも表示できます。

ヘルプ画面

ヘルプ画面

Alt(⌘)+操作

Windows   macOS   Linux   RasPi

Alt(⌘)を押しながら行う操作について解説します。

表中ではAlt(⌘)+の表記は省略しています。上記のヘルプ画面から使用可能なキーを確認できますが、下表に補足説明を示します。

Alt(⌘)+キー意味
I+ + + を入力します。インタラクティブモードに入るキーシーケンスです。
※ スリープによる間欠動作を行うアプリは非対応。
Rモジュールをリセットします。TWELITE R や MONOSTICK の機能を用いてリセットピンの制御を行います。
A, S, DA, B, C ボタンを押します。
Shift+A, S, DA, B, C ボタンを長押しします。
C表示されている画面の文字列をクリップボードにコピーします。(画面によって範囲は異なります)
Vクリップボードからキーボード入力としてペーストします。
Fフルスクリーン表示に遷移します。Shift+Fの場合、可能であればより拡大します。
G画面の描画方法を変更します。640x480の液晶画面をエミュレートしていますが、拡大時の描画方式として(1. 液晶モニタ風の描画 / 2. ブラウン管風の描画 / 3. ドットを目立たせた拡大 / 4. ドットをぼやかせた拡大)の4種類が選択できます。
※ 設定メニューで起動時の設定を変更できます。
J画面サイズを選択します。選択可能な画面サイズは {640,480}, {1280, 720}, {1280,960}, {1920,1440}, {2560,1440}, {320,240} です。
※ 設定メニューで起動時設定にできます。
QTWELITE STAGE APPを終了します。
0シリアルポートを切断し、再度シリアルポートの一覧を表示します。
1, 2, …シリアルポートを選択します。
L, Shift+Lシリアルポートの入出力のログを開始します。終了時にはログファイルが Windows であればメモ帳、macOS であれば ログビューア で開かれます。Shift+L でログ格納フォルダを開きます。

その他の操作

キー意味
Alt(⌘)+Shift+Ctrl+mMWX ライブラリコードのフォルダを開きます。
Alt(⌘)+Shift+llog フォルダを開きます。

マウス操作

Windows   macOS   Linux   RasPi

マウス操作は左クリックが中心ですが、右クリック、右ダブルクリック、ホイールを使う場合があります。

マウス操作意味
左クリック選択
左クリックしながらドラッグ画面によっては利用(グラフ画面でのドラッグ)
左ダブルクリック使用しない
右クリック画面によっては使用する
右ダブルクリック画面から脱出する(ESC ESCと同様)
ホイール画面によって利用する(グラフ画面で拡大縮小)

マウスによるA,B,Cボタン

Windows   macOS   Linux   RasPi

画面下部のメニュー表示にマウスポインタを移動すると、[ A ], [ B ], [ C ] という表記のボタンが表示されます。 TWELITE STAGE APPは、この3つ並びのハードウェアボタンを模したメニューに画面ごとの機能を割り当てています。 このボタンを左クリックまたは左長押しクリックすることで、機能を呼び出しできます。(Alt(⌘)+a,s,d`` または Alt(⌘)+Shift+a,s,d`でも選択可能)

画面下部の仮想[ B ]ボタンの表示例

画面下部の仮想[ B ]ボタンの表示例

マウスによる画面操作

Windows   macOS   Linux   RasPi

Windows/macOS/Linuxでは、TWELITE STAGE APP の画面を原則文字列のみで構成しますが、メニューやボタン、タブについてはマウスによる操作が可能です。

コマンダー画面例

コマンダー画面例

画面はテキストのみの構成ですが、画面上部のタブや、反転表示の文字はマウスの左クリックで選択可能です。

1.2.2 - 画面の操作

TWELITE STAGE APP の各画面における操作説明

Windows   macOS   Linux   RasPi

メニュー画面の例

メニュー画面の例

Windows / macOS / Linux / Raspberry Pi

TWELITE STAGE APPはコンソール画面(コマンドライン)から起動するアプリケーションです。コンソール画面とウインドウ画面の両方に情報を出力します。

コンソール画面には、ターミナルと同様にUART出力を表示します。

Raspberry Pi (nox)

X11 を使わず、フレームバッファに表示します。

通常(フレームバッファ上のシェル画面から起動した場合)はコンソール画面を表示しません。

1.2.2.1 - シリアルポート選択

シリアルポート選択画面の操作説明

Windows   macOS   Linux   RasPi

概要

Windows / macOS / Linux では、始動時にTWELITEが接続されたシリアルポートを選択する画面を表示します。 ただし、シリアルポートは、あとから接続することもできます。

シリアルポート選択画面の例

シリアルポート選択画面の例

Windows

cキーを押すと、リストで反転中のシリアルポートのCOMポート名が表示されます。

Raspberry Pi

Raspberry Pi ではUSBデバイスに加えて/dev/serial0 /dev/serial1があれば serial0, serial1 を表示します。なお、通常はserial0を使用します。

1.2.2.2 - メインメニュー

メインメニュー画面の操作説明

Windows   macOS   Linux   RasPi

階層化されたメニューの最上位に位置します。

メインメニュー画面の例

メインメニュー画面の例

この画面では、メニュー選択を行います。メニューを反転すると、下部緑色文字部分に簡易的な解説を表示します。

  • ビューア : TWELITE から受信した電文を解釈して表示するビューアです。多くの場合、受信側の TWELITE には App_Wings を書き込んでおきます。
  • アプリ書き換え : ファームウェアをビルドし、接続した TWELITE に書き込みます。
  • インタラクティブモード : 接続した TWELITE 設定を、インタラクティブモードによって行います。
  • TWELITE STAGEの設定 : TWELITE STAGE アプリの各種設定を行います。
  • シリアルポートの選択 : シリアルポートを選択します。
  • 説明書 : 説明書を表示するメニューです。以下の説明書をブラウザで開きます。
    • TWELITE STAGE アプリ(この文書)
    • MWX ライブラリ
    • TWENET_C ライブラリ

1.2.2.2.1 - ビューア

ビューアについて

Windows   macOS   Linux   RasPi

ビューアは、接続した TWELITE から受信した情報を表示したり、コマンドを送ったりするための機能です。

1.2.2.2.1.1 - ターミナル

ターミナル画面の操作説明

Windows   macOS   Linux   RasPi

ターミナル画面の例

ターミナル画面の例

概要

一般的なVT100系のシリアルターミナルです。

TWELITE のインタラクティブモードやリセット制御をサポートしています。

操作

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

1.2.2.2.1.2 - 標準アプリ ビューア

標準アプリビューア画面の操作説明

Windows   macOS   Linux   RasPi

標準アプリビューア画面の例

標準アプリビューア画面の例

概要

通信相手の TWELITE には App_Twelite(標準アプリ)を書き込んでおきます。標準アプリのボタンやアナログ入力の状態のメッセージ (0x81メッセージ) を受信すると、その内容を mwm5 のパーサーライブラリにより解釈して表示します。

操作

操作説明
[ A ]割当なし
[ A ]
長押し
この画面を抜けて、前のメニューに戻ります。
[ B ]フォントを変更します。
[ B ]
長押し
テスト用のダミーデータによる画面表示を行います。
[ C ]割当なし
[ C ]
長押し
TWELITE のリセットピンを制御し、リセットします。
ESC ESCESCキーを入力することで、この画面を抜けます。

1.2.2.2.1.3 - グラフ

グラフ画面の一覧
  • 加速度リアルタイムグラフ:加速度センサーのパケットをリアルタイムで表示します。周波数領域の表示や CSV ファイルの保存ができます。
  • センサーグラフ:TWELITE 各種センサーのデータを sqlite3 データベースに保存し、グラフを表示します。

1.2.2.2.1.3.1 - 加速度リアルタイムグラフ

加速度リアルタイムグラフ画面の操作説明

Windows   macOS   Linux   RasPi

デモデータの表示例

デモデータの表示例

概要

TWELITE CUETWELITE 動作センサーPAL から受信したパケットを参照します。加速度データをリアルタイムで表示できるほか、周波数解析や CSV 出力の機能があります。

CUE モード、MOTモード、2525 FIFO モードの3種類に対応しています。

連続したサンプルが一定数(解析窓)以上になると、XYZ軸を周波数解析した表示を行います。ただし 2525 FIFO モードでは常に連続していると仮定します。

パケットの区切りが明示的である場合(直前のパケットから3秒以上経過したとき、CUEモードは1パケットごと、MOTモードはパケットのシーケンス番号が不連続になった場合)には、4サンプル分のダミーデータを挿入しピンク色の背景色を表示します。

先着順に最大4ノードまでのデータを格納します。

操作

操作説明
右上部
(i)ID# ボタン
クリックするごとにIDの切り替えを行います。
(注:FIFOモードによる連続サンプルデータは、複数IDによる運用に向きません)
右上部
(f)SMP# ボタン
クリックするごとに解析窓サイズを 64,128,256 と変更します。
右下部
(c)表示データ保存 ボタン
log フォルダにCSV形式のデータ出力を行います。
バッファにある最も古いサンプルから、画面右端の最新のサンプルまでを出力します。
(注:出力数は常に 5120 サンプルであり、末尾のデータが最新です)
右下部
PAUSE( ) ボタン
表示更新を中断します。
(注:サンプルの取得は内部の一時サンプルバッファが一杯になるまで行います)
マウスドラッグ
(グラフ部分)
表示サンプルの位置を移動します。
マウスドラッグ
(下部スクロールバー)
より大きなステップで表示サンプルの位置を移動します。
カーソルキー
サンプルの表示領域を移動させます。
カーソルキー
サンプルの横軸を拡大・縮小(等倍 / 2倍 / 3倍 / 4倍)します。
(注:解析サンプル数 256 の場合は2倍まで)

サンプルレートの推定

サンプリングレートは、パケットの受信時間から計算しています。過去複数サンプルの受信時間を平均して1サンプル分としているため、パケットの飛びなどがある場合は誤差が大きくなります。 また、関連するログ記録のタイムスタンプ(T_SMPL)も同様に推測値であり、パケット取得時と比較して遅れたタイムスタンプになります。 なお、サンプルレートの推定が終わると、グラフ表示のスクロールをスムーズにします。

CUEグラフモードの起動時に開く

[STAGE 共通設定→起動アプリ指定]にて31を指定してください。

ログ出力(表示データ保存)

(c)表示データ保存 ボタンを押すことで、画面上の表示位置(右端サンプル)を起点とした最大 512 サンプル分のデータを出力できます。

ログファイル名は {logフォルダ}/acc_snap_{タイムスタンプ}.csv です。

  • データは、画面右端の一番新しいサンプルが 512 番目(ファイルの末尾)です。
  • 周波数解析実行時は、最後のサンプルから 周波数解析サンプル数分が対象です。
  • 周波数解析対象サンプルが記録されている行に周波数解析結果を追加しています(64 サンプルの場合は 449 番目から 32 行が結果で DC 成分から高周波成分までが並びます)。
ラベル項目名説明
#サンプル
番号
T_PKT[ms]パケット
受信時刻
1パケットに複数のサンプルが含まれるため、同じタイムスタンプのサンプルが並びます。
SEQパケット
続き番号
各パケットに付与されており、連続していればパケットの欠落がないと考えられます。
T_SMPL[ms]サンプル
時刻(仮想・推定)
パケットの受信時刻から生成した各サンプルのタイムスタンプです。
実際にサンプルが行われた時刻とは一致しません。
(注:サンプルレートをパケット受信間隔から推定しているため誤差が大きくなるほか、サンプル周期を都度加算しているため実際のサンプル時刻よりも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 のように計算しています。
XX軸の周波数解析計算値
YY軸の周波数解析計算値
ZZ軸の周波数解析計算値
Label追加情報名下表参照
Info追加情報下表参照

追加情報

情報名解説
ModuleSID送信側のシリアル番号
Tick[ms]ログファイルを開いたときのシステム時間
(注:TWELITE STAGEアプリ側)
Dateログファイルを開いたときの日付
Timeログファイルを開いたときの時刻
Time_Msec_partログファイルを開いたときの秒未満部分 [ms]
Samples有効サンプルデータ
FD_Len周波数解析サンプル数
FD_Start#周波数解析開始サンプル番号
FD_Freq周波数解析範囲の周波数推定値[Hz]
(注:サンプル受信間隔からの推定)

ログ出力(自動保存)

加速度リアルタイムグラフ画面を開き、データが入力された時点から自動的にログファイルを出力します。

ログファイル名は logフォルダ/accel_{シリアル番号}_{タイムスタンプ}.csv です。

ラベル項目名説明
#サンプル
番号
T_PKT[ms]パケット
受信時刻
1パケットに複数のサンプルが含まれるため、同じタイムスタンプのサンプルが並びます。
SEQパケット
続き番号
各パケットに付与されており、連続していればパケットの欠落がないと考えられます。
T_SMPL[ms]サンプル
時刻(仮想・推定)
パケットの受信時刻から生成した各サンプルのタイムスタンプです。
実際にサンプルが行われた時刻とは一致しません。
(注:サンプルレートをパケット受信間隔から推定しているため誤差が大きくなるほか、サンプル周期を都度加算しているため実際のサンプル時刻よりも1パケット周期分遅れたタイムスタンプを記録します)
X[G]X軸のサンプル値単位はGです。センサーの値に基づいています。
Y[G]Y軸のサンプル値単位はGです。センサーの値に基づいています。
Z[G]Z軸のサンプル値単位はGです。センサーの値に基づいています。
Label追加情報名下表参照
Info追加情報下表参照

追加情報

情報名解説
ModuleSID送信側のシリアル番号
Tick[ms]ログファイルを開いたときのシステム時間
(注:TWELITE STAGEアプリ側)
Dateログファイルを開いたときの日付
Timeログファイルを開いたときの時刻
Time_Msec_partログファイルを開いたときの秒未満部分 [ms]

1.2.2.2.1.3.2 - センサーグラフ

センサーグラフ画面の操作説明

Windows   macOS   Linux   RasPi

データの表示例

データの表示例

概要

各種センサーデータを SQLite データベースに記録し、画面上にグラフ形式で表示します。データベースファイルは外部のアプリケーションから参照することも可能です。

  • データベースには SQLite (sqlite3) を使用しており、{MW_STAGE Install}/log/{実行形式名}_WSns.sqlite というファイルに格納されます。
  • 画面遷移は [一覧(グラフプレビューあり)]>[24時間データ] >[ライブビュー]です。
    • [24時間データ] から更に [年] [月] [日(グラフプレビューあり)] 選択画面に遷移できます。
  • [ライブ]表示画面について
    • 一覧から特定のノードを選択します。
    • 1秒おきのリアルタイム表示を行い、過去 450 秒間のデータを表示します。
  • [24時間データ] 表示画面について
    • 特定の日のデータを表示します。
    • 1秒おきの更新とし、その間に複数のデータがあった場合は間引かれます。
    • 最大拡大時(1ピクセル1秒)以外は、各ピクセルの範囲における取得値の平均を表示します。
    • 値が画面よりはみ出す場合は、上下端に測定点を表示します。
    • 現在時刻が含まれる場合には、新着データで表示を更新します。
    • マウスホイールやカーソルキー の入力:時間軸の拡大・縮小
    • マウスポインタの移動:マウスポインタに対応した時間軸にある取得データを簡易表示します。
      • カーソルキー :隣の取得データに移動します。
    • マウスクリック&ドラッグ:スクロール(拡大時のみ)
    • 拡大時はスクロールバーによる操作も可能です。
    • [CSV出力] 機能では、データベースに含まれるすべての取得値を表示します。

操作

操作説明
マウスドラッグ
(グラフ部分)
拡大時に表示サンプルの位置を移動します。
マウスドラッグ
(下部スクロールバー)
表示サンプルの位置を移動します。
カーソルキー
サンプルの表示領域を移動させます。
カーソルキー
サンプルの横軸を拡大・縮小します。
[ライブ]1秒刻みで最新のデータを表示するビューに移動します。
[24時間データ]1日単位のグラフに移動します。
[<<一覧]一覧選択画面に移動します。
[年] [月] [日]年月日で、特定の日を選択します。
[最新]今日のデータに移動します。
[CSV出力]1日分のデータをCSVファイルに出力します。
一覧で[表示]リストの表示方式を変更します。
一覧で[ソート]リストの並び順を変更します。
一覧で[↑]リストの並び順を反転します。

センサーノードのメモ(補助情報)の編集

v1.3.9+

「24時間データ画面」で、画面右上のセンサーノードのメモ部分を左クリックすると、メモを編集するためのプロンプトを使用できます。

センサーノードのメモを編集する様子

センサーノードのメモを編集する様子(IMEオン)

キー説明
通常の半角文字通常の半角英数文字列を直接入力した場合は画面上にも表示されます。
IME による入力IMEからの入力は画面左上部分に入力途上の文字列が表示されます。
ENTERキーで入力中の文字列を確定します。
BS表示されている末尾の文字を削除します。
ENTER入力した文字列をデータベースに反映します。

画面遷移

基本の画面は一覧、24時間、ライブの3種類に分けられます。

[一覧] <--> [24時間] <--> [ライブ]
              ↓↑
          [年月日選択]

センサーグラフモードの起動時に開く

[STAGE 共通設定 → 起動アプリ指定] にて 32 を指定してください。

DBのテーブルについて

sensor_data

受信したデータを格納します。

カラム名解説
_uqidINTEGERデータベースで使用する続き番号
sidINTEGER
int32_t
int32_t 型で格納しているシリアル番号です。
例えば “8123abcd” というシリアル番号の場合は整数値で -2,128,368,691 の値が格納されます。
tsINTEGER
int64_t
システムがパケットを受信した時刻で、int64_t 型で格納されるタイムスタンプ値です。
UNIX epoch (エポック、1970年からの経過秒) です。
ts_msecINTEGERタイムスタンプのミリ秒部分です。
yearINTEGERタイムスタンプよりローカル時間の年部分です。
monthINTEGERタイムスタンプよりローカル時間の月部分です。
dayINTEGERタイムスタンプよりローカル時間の日部分です。
hourINTEGERタイムスタンプよりローカル時間の時部分です。
lidINTEGERユーザにより割り当てられた LID などの識別値です。
lqiINTEGER受信強度の目安値です (Link Quality Indicator) 。
pkt_seqINTEGERパケットの続き番号です。どのような値を取りうるのかはファームウェアによって異なります。
pkt_typeINTEGER無線パケットの種別です。
2 PAL AMB 6 ARIA 1 PAL MAG *3 PAL MOT 5 CUE 0x101 App_Twelite *0x103 App_IO
*現時点で非対応
valueREAL計測値です(パケット種別によって定義が異なります)。
pkt_type->
2,6: 温度[°C]
1: 磁石の判定有無 (00->磁石なし, 01->N極, 02->S極)
3,5: X軸加速度(パケット中に複数サンプル含まれる場合は平均値)[G]
0x101,103: 入力IOのビットマップ(val_dioの下位8ビットと同値)
value1REAL計測値です(パケット種別によって定義が異なります)。
pkt_type->
2,6: 湿度[%]
1: 未使用
3,5: Y軸加速度(パケット中に複数サンプル含まれる場合は平均値)[G]
0x101: ADC1[V]
103: 未使用
value2REAL計測値です(パケット種別によって定義が異なります)。
pkt_type->
2: 照度[lx]
6: 未使用
1: 未使用
3,5: Z軸加速度(パケット中に複数サンプル含まれる場合は平均値)[G]
0x101: ADC2[V]
103: 未使用
value3REAL計測値です(パケット種別によって定義が異なります)。
pkt_type->
2: 未使用
6: 未使用
1: 未使用
3,5: 未使用
0x101: ADC3[V]
103: 未使用
val_vcc_mvINTEGER電源電圧[mV]
val_dioINTEGER
int32_t
b0..b7: DI1..DI8の値 (1はLOW, 0はHIGHレベル)
b24..b25: マグネット値 (b281の場合) 00->磁石なし, 01->N極, 10->S極
b28: 1の場合マグネットデータがb24..b25に格納される
b31: 定期送信ビット(マグネットのみ)
val_adc1_mvINTEGERpkt_type->
1,2,3,0x101: ADC1の計測値
val_adc2_mvINTEGERpkt_type->
0x101: ADC4の計測値
val_auxINTEGERその他データ格納目的
ev_srcINTEGERイベント発生元
ev_idINTEGERイベントID
pal_type->
5: サイコロ(1...6)
16→MOVE他資料参照
ev_paramINTEGERイベントパラメータ

sensor_node

センサーノードにテキストメモ(付加情報)を格納します。

カラム名解説
sidINTEGER上述のSID
sid_textTEXT可読性のためにSIDを16進数に変換した文字列
descTEXT
UTF-8
SIDに対応するメモ(補助情報)。一覧などで表示する

sensor_last

最後に受信したタイムスタンプを管理します。

カラム名解説
sidINTEGER上述のSID
tsINTEGER最後の受信したときのタイムスタンプ
lid以下、最後に受信時のデータの抜粋
lqi
pkt_type
value
value1
value2
value3
val_vcc_mv
val_dio
ev_id

1.2.2.2.1.4 - 簡易モニタ

簡易モニタの一覧
  • CUEビューア : TWELITE CUE からのパケットを解釈して簡易表示します
  • ARIAビューア : TWELITE ARIA からのパケットを解釈して簡易表示します
  • Glancer : TWELITE の多くの形式に対応した簡易モニタです

1.2.2.2.1.4.1 - CUE ビューア

CUE ビューア画面の操作説明

Windows   macOS   Linux   RasPi

サイコロ面の検出例

サイコロ面の検出例

概要

TWELITE CUE から受信したメッセージを解釈して表示します。

TWELITE CUE の動作

工場出荷時の TWELITE CUE は、TWELITE CUEモードに設定されています。

TWELITE CUEモードでは、コイン電池で駆動できるように間欠駆動をしながら、いくつかの要因によってスリープから起床して、様々なデータを送信します。

起床要因

TWELITE CUE がスリープから起床するには、以下のうちいずれかの要因を必要とします。

  • タイマーによる起床(定期的な起床)
  • 加速度の検出による起床
  • 磁気センサーによる起床(磁石が近づいたことを検出した場合)

送信するデータの種類

TWELITE CUE は、以下のデータをパケットに収めて送信します。

  • 検出イベント(後述
  • モジュール電源電圧
  • 磁気センサーの検出値
  • 加速度データ

パケットの属性

受信したパケットの属性からは、その基本情報を得ることができます。

属性解説
#????これまでの受信パケット数です。
種別mwm5ライブラリにおけるE_PKTの値で、パケット種別です。
TWELITE CUEからのパケットは通常PKT_PAL=02です。
ID送信元の論理IDです。通常は0..100の値になります。
AD送信元のシリアル番号です。
LQ受信強度の目安値です (Link Quality Indicator) 。
SQパケットの続き番号です。

イベント

TWELITE CUEモードでは、必ず加速度イベントを出力します。 起床要因に関わらず、起床後には一定サンプル数の加速度を計測します。このとき、加速度の計測結果に応じてイベントを判定します。

イベント番号解説
ダイス1(0x00) .. 6(0x06)定期起床と磁気センサー検出起床を起点に判定します。
起床後に大きな加速度が検出される場合は、
判定不可としたイベント(0xFF)を検出する場合があります。
ムーブ16(0x10)加速度センサーが一定以上の加速度を検出したときに、
ムーブまたはシェイクのイベントが発生します。
ムーブは、計測した加速度の変化が比較的小さい場合
(加速度の変化は検出したが、連続的な加速度の変化がなかった場合)に発生します。
シェイク0x08加速度センサーが一定以上の加速度を検出したときに、
ムーブまたはシェイクのイベントが発生します。
シェイクは、計測した加速度の変化が比較的大きい場合
(連続的な加速度の変化を検出した場合)に発生します。

電圧

モジュールの電源電圧[mV]です。

磁石

検出された磁石の極または未検出を表示します。

加速度

起床後に計測された加速度を表示します。

  • サンプル:加速度のサンプル数を表示しています。10サンプル固定です。
  • レートID:加速度のサンプルレートです。04固定で100Hzです。
  • X,Y,Z:3つの軸の加速度です。8サンプル分の平均値として求めています。単位はミリG (1000mG=1G=9.8m/s2)です。

画面の表示例

ムーブイベントの検出例

ムーブイベントの検出例

シェイクイベントの検出例

シェイクイベントの検出例

1.2.2.2.1.4.2 - ARIA ビューア

ARIA ビューア画面の操作説明

Windows   macOS   Linux   RasPi

温湿度データ表の表示例

温湿度データ表の表示例

概要

TWELITE ARIA から受信したメッセージを解釈して表示します。

TWELITE ARIA の動作

工場出荷時の TWELITE ARIA は、TWELITE ARIAモードに設定されています。

TWELITE ARIAモードでは、コイン電池で駆動できるように間欠駆動をしながら、いくつかの要因によってスリープから起床して、様々なデータを送信します。

起床要因

TWELITE ARIA がスリープから起床するには、以下のうちいずれかの要因を必要とします。

  • タイマーによる起床(定期的な起床)
  • 磁気センサーによる起床(磁石が近づいたことを検出した場合)

送信するデータの種類

TWELITE ARIA は、以下のデータをパケットに収めて送信します。

  • モジュール電源電圧
  • 磁気センサーの検出値
  • 温湿度データ

パケットの属性

受信したパケットの属性からは、その基本情報を得ることができます。

属性解説
#????これまでの受信パケット数です。
種別mwm5ライブラリにおけるE_PKTの値で、パケット種別です。
TWELITE ARIAからのパケットは通常PKT_PAL=02です。
ID送信元の論理IDです。通常は0..100の値になります。
AD送信元のシリアル番号です。
LQ受信強度の目安値です (Link Quality Indicator) 。
SQパケットの続き番号です。

温湿度データ表

TWELITE ARIAから受信した過去9回分のデータの履歴を表示します。最新のデータが最上部に表示されます。

時間[s]

TWELITE STAGE APPが起動してからデータを受信するまでの時間[秒]です。

ID

モジュールの論理デバイスIDです。

VCC(mV)

モジュールの電源電圧[mV]です。

温度(C)

モジュールが計測した温度(°C)です。

湿度(%)

モジュールが計測した湿度(%)です。

磁石

検出された磁石の極または未検出を表示します。

1.2.2.2.1.4.3 - グランサー

グランサー画面の操作説明

Windows   macOS   Linux   RasPi

概要

Glancer は、受信メッセージ中の情報を簡易的に表示します。

接続する TWELITE には App_Wings を書き込んでおくことで、通信相手のTWELITE (App_Twelite, TWELITE PAL, … アプリケーションIDと周波数チャネルを一致させれば混在も可) から受信した情報を表示できます。

操作

一覧表示の画面と選択表示の画面を切り替えて使用します。

一覧表示

一覧表示の例

一覧表示の例

通信相手からの情報を列挙します。

表示内容は(メッセージの種別、論理デバイスID、シリアルID、LQI (Lq)、電源電圧(情報に含まれている場合)、タイムスタンプ)です。

操作説明
[ A ]リストの前項目に移動します。
[ A ]
長押し
この画面を抜けて、前メニューに戻ります。
[ B ]選択表示に移行します。
[ B ]
長押し
項目をソートします。
ソートを実行するたびに、ソートキーは順に変わります。
[ C ]リストの次項目に移動します。
[ C ]
長押し
TWELITE のリセットピンを制御し、リセットします。
ESCこの画面を抜けます。

選択表示

選択表示の例

選択表示の例

一覧表示で項目を移動し反転表示になったところで選択操作を行うことで、この画面に遷移します。特定の通信相手に関する情報を到着順に表示します。

選択されてからの受信パケット数と LQI の平均値が表示されます。

操作説明
[ A ]割当なし
[ A ]
長押し
この画面を抜けて、前メニューに戻ります。
[ B ]割当なし
[ B ]
長押し
割当なし
[ C ]割当なし
[ C ]
長押し
TWELITE のリセットピンを制御し、リセットします。
ESC選択画面に戻ります。

1.2.2.2.1.5 - コマンダー

コマンダー画面の操作説明

Windows   macOS   Linux   RasPi

概要

コマンダーは、TWELITE にシリアルメッセージを送信する機能です。

操作

コマンダーの最初の画面は留意事項について記載しています。

画面上部にはテキストで表現されたタブがあり、これをマウスでクリックすることでタブ中の画面に移動できます。

操作説明
[ A ]タブの移動(左)
[ A ]
長押し
この画面を抜けて、選択画面に戻ります。
[ B ]割当なし
[ B ]
長押し
割当なし
[ C ]タブの移動(右)
[ C ]
長押し
TWELITE のリセットピンを制御し、リセットします。
ESCこの画面を抜けて、選択画面に戻ります。

タブ:TWELITE

この画面では、 標準アプリ(App_Twelite)0x80コマンドを生成し、送信します。

接続する TWELITE には App_Twelite または 親機・中継機アプリ(App_Wings) を書き込んでおき、アプリケーションID・チャネルを設定した上で、通信相手からメッセージが受信されていることを確認してください。

TWELITEタブの表示例

TWELITEタブの表示例

項目内容
宛先送信先の TWELITE を指定します。
自身が子機の場合は「親機:0」宛を指定してください。
自身が親機の場合は「全子機=0x78」または特定の子機ID(1..8まで指定可能)を指定します。
DI1..DI4DI1からDI4までの設定状態です。
■は選択(LOW=GNDレベル)、□は(HIGH=VCCレベル)を意味します。
下項目のSELを指定してください。
SEL各DIの選択ビットです。
(0ならDIの指定を無視し、1なら指定を有効化します。)
PWM1..4PWMのデューティ比を設定します。
0はGNDレベル相当、1024(100%)はVCCレベル相当です。
N.A.にしたPWMポートは変更しません。
(注:MW-STA-KIT-0/MW-STA-SOLO-0基板のPWM1はVCCからの吸い込みとなっているため、
 LEDは0のときに最も明るく点灯し、100%で消灯します。)

タブ:NOTICE

この画面では、通知PAL(NOTICE PAL)LED制御コマンド を生成します。

接続する TWELITE には App_Wings を書き込んでおき、アプリケーションID・チャネルを設定した上で、通信相手からメッセージが受信されていることを確認します。

TWELITEタブの表示例

TWELITEタブの表示例

項目内容
宛先送信先の TWELITE PAL の ID を指定します。
値の範囲は 1..8 です。
点灯色を7色から指定します。
白は2種類ありますが、一方はRGBの混色でもう一方は白色LED単体が点灯します。
明るさ0..15で指定します。0は消灯です。
点灯点滅点灯または点滅パターンを選択します。
点灯時間コマンド発行後、一定時間経過すると自動的に消灯する機能です。
消灯(x)消灯メッセージを生成し、LEDを消灯させます。
点灯(SPACE)現在の設定を送信し、LEDを点灯させます。

画面下部の表示

画面下部には、コマンドが生成されたタイムスタンプと :で始まるコマンドが表示されます。クリップボードにはこの画面の内容がコピーされます。

1.2.2.2.2 - アプリ書換

アプリ書換の機能について

Windows   macOS   Linux   RasPi

アプリ書換機能では、TWELITE のアプリ(ファームウェア)を書き込むことができます。

  • ビルド済みの.BINファイルを書き込む
  • アクト(act)などのソースファイルからビルドして書き込む

ソースファイルのビルド、ターミナル切断、書き込みユーティリティ起動、ターミナル接続といった煩雑さを解消できます。

  • TWELITE を自動で認識する
  • 書き込み終了後にリセットしてからインタラクティブモードまたはターミナルに遷移する
  • 各プロジェクトのリストから、プロジェクトフォルダまたはVSCode等の環境を起動する (Raspberry Pi版を除く)
  • 各プロジェクトのリストから、関連情報のウェブページを開く (Linux版、Raspberry Pi版を除く)

1.2.2.2.2.1 - BINから選択

BINから選択の画面の操作説明

Windows   macOS   Linux   RasPi

概要

ビルド済みのアプリ(.BINファイル)を書き込むことができます。

BINから選択画面の例

BINから選択画面の例

メニューを選択すると、.BINファイルの一覧が表示されます。書き込むファームウェアを選択してください。

あらかじめ用意されている.BINファイルとは別のファイルを使用する際は、メニューを選択する前に書き込むファイルを以下に格納してください。

プラットフォーム場所
Windows, macOS, Linux, Raspberry Pi{MWSTAGEフォルダ}/BIN

BINフォルダには、ファイル名を変更せずに TWELITE STAGE でビルドした .BINファイル(各プロジェクトのbuildフォルダ以下に格納されています)を格納してください。

../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
       ...

1.2.2.2.2.2 - actビルド&書換

actビルド&書換の画面の操作説明

Windows   macOS   Linux   RasPi

概要

MWX ライブラリによって記述されたアクト(act)のビルドと書き換えを行うことができます。

サンプルアクト選択画面の例

サンプルアクト選択画面の例

この画面では、以下のパスに配置されたアクトによるプロジェクトの一覧を表示します。

{MWSTAGEインストールフォルダ}/MWSTAGE/Act_samples

操作

一覧から書き込むプロジェクトを選択することで、ビルド~書き込みを行えます。

なお、書き込み終了後に ENTER または[ B ]ボタンを押すことで、TWELITE をリセットしてインタラクティブモード画面(もしくはターミナル画面、要設定)に遷移できます。

ビルド~書き込み画面

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

1.2.2.2.2.3 - TWELITE APPSビルド&書換

TWELITE APPSビルド&書換の画面の操作説明

Windows   macOS   Linux   RasPi

概要

TWENET C ライブラリによって記述された TWELITE APPS のビルドと書き換えを行うことができます。

アプリ選択画面の例

アプリ選択画面の例

この画面では、以下のパスに配置されたプロジェクトの一覧を表示します。

{MWSTAGEインストールフォルダ}/MWSTAGE/Wks_TweApps

操作

一覧から書き込むプロジェクトを選択することで、ビルド~書き込みを行えます。

なお、書き込み終了後に ENTER または[ B ]ボタンを押すことで、TWELITE をリセットしてインタラクティブモード画面(もしくはターミナル画面、要設定)に遷移できます。

ビルド~書き込み画面

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

1.2.2.2.2.4 - Act_extras

Act_extras画面の操作説明

Windows   macOS   Linux   RasPi

概要

MWX ライブラリによって記述されたアクト(act)のビルドと書き換えを行うことができます。

アクト選択画面の例

アクト選択画面の例

この画面では、以下のパスに配置されたアクトによるプロジェクトの一覧を表示します。

{MWSTAGEインストールフォルダ}/MWSTAGE/Act_extras

操作

一覧から書き込むプロジェクトを選択することで、ビルド~書き込みを行えます。

なお、書き込み終了後に ENTER または[ B ]ボタンを押すことで、TWELITE をリセットしてインタラクティブモード画面(もしくはターミナル画面、要設定)に遷移できます。

ビルド~書き込み画面

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

1.2.2.2.2.5 - 指定

プロジェクトを指定した書き込み

Windows   macOS   Linux  

フォルダまたは.BINファイルを TWELITE STAGE APP の画面にドラッグ&ドロップすることで、特定のプロジェクトを書き込むことができます。 ドロップした対象のビルドや書き込みを行うときに選択します。

1.2.2.2.2.6 - 再書換

直前に書き込んだプロジェクトの再書き込み

Windows   macOS   Linux   RasPi  

直前に書き換え・指定したプロジェクトを再選択します。

1.2.2.2.2.7 - ビルド・書換画面

ビルド・書換画面の操作説明

Windows   macOS   Linux   RasPi  

ここでは、プロジェクトのビルドや書換を行うときに表示される画面の操作説明を行います。

ビルド中

ビルド(コンパイル)中の画面です。ビルドコマンドの内容は、コンソール画面に出力されます。画面中の ... はビルドしたファイル数、下部の暗い色の表示はビルドしているファイル名です。

コンパイル中の画面の例

コンパイル中の画面の例

ビルドエラー

ビルドエラーが発生した場合は、上記のような画面を表示します。再ビルドの実行やエラーログの表示を行うことができます。また、一定時間でタイムアウトして直前のメニューに戻ります。

エラー表示画面の例

エラー表示画面の例

画面上のエラーメッセージは、代表的なものだけが表示されます。ビルドが失敗したとき、エラー内容のメッセージが表示されないこともあります。

操作説明
[ A ]割当なし
[ A ]
長押し
この画面を抜けて、前のメニューに戻ります。
[ B ]エラー時に再ビルドします。
[ B ]
長押し
割当なし
[ C ]
[ C ]
長押し
エラーログを表示します(Windows/macOS)。
保存場所は{プロジェクトフォルダ}/build/builderr.logです。
ESCこの画面を抜けて、書換メニューに戻ります。
ENTERエラー時に再ビルドします。

書換中

ビルドが成功すると、ファームウェアを書き込む画面を表示します。

書換中画面の例

書換中画面の例

書換失敗

書換がエラーの場合は、下記のような画面を表示します。

書換失敗画面の例

書換失敗画面の例

操作説明
[ A ]
長押し
この画面を抜けて、選択画面に戻ります。
[ B ]再度書換を行う
(直前の書き換えメニューに戻ります。
 自動的にメニュー項目が選択されるため、
 もう一度[ B ]を押すことで再書換できます)
ESCこの画面を抜けて、書換メニューに戻ります。

書換完了

書換が無事に成功すると、下記のような画面を表示します。

書換完了画面の例

書換完了画面の例

操作説明
[ A ]
長押し
この画面を抜けて、選択画面に戻ります。
[ B ]TWELITE をリセットして、
インタラクティブモード画面(または設定によりターミナル)画面に移動します。
ESCこの画面を抜けて、書換メニューに戻ります。

1.2.2.2.3 - インタラクティブモード

インタラクティブモードの利用

Windows   macOS   Linux   RasPi

概要

この画面から、接続した TWELITE のインタラクティブモードを利用できます。

インタラクティブモード画面の例

インタラクティブモード画面の例

この画面はターミナルとほぼ同じ振る舞いをしますが、インタラクティブモードに遷移するための操作と離脱の検出を行うなど、インタラクティブモードに固有の機能を追加しています。

  • 接続する TWELITE には、インタラクティブモードに対応したファームウェアをあらかじめ書き込んでおく必要があります。
  • TWELITE の入出力を使用するため、シリアル通信に文字化けなどが発生した場合など、期待通りにインタラクティブモードへの遷移や離脱ができない場合もあります。
  • マウス操作には対応しておりません。キーボード(カーソル での操作は可能)操作を行ってください。

インタラクティブモード画面の動作フロー

以下に大まかな処理の流れを記載します。

[画面黒背景にする]
  ↓
[TWELITEのリセット (制御可能ならSET=LO)]
  ↓
<間欠動作アプリのインタラクティブモードメッセージを検出?> --YES--> [操作画面]へ
  ↓タイムアウト
['+' を3回入力]
  ↓
<通常アプリのインタラクティブモードメッセージを検出?> --YES--> [操作画面]へ
  ↓タイムアウト
[操作画面へ] ※ この状態はインタラクティブモードではない

[操作画面]
  ↓
<インタラクティブモード脱出メッセージ?> --> [終了]
  ↓
<画面離脱操作 [ A ] 長押しなど> --> [終了]
  ↓
 -> <入力中判定> --NO-> [終了]
  ↓            ↓
[入力文字列をTWELITEへ送信]
  ↓
[操作画面]へ戻る

[終了]
  ↓
[TWELITEのリセット]
  ↓
[画面離脱] インタラクティブモード画面を終了し前の画面へ戻る

1.2.2.2.4 - TWELITE STAGE の設定

TWELITE STAGE APP の設定

Windows   macOS   Linux   RasPi

概要

この画面から、TWELITE STAGE APP の各種設定を行います。

設定画面の例

設定画面の例

以下の解説のメニュー中には、プラットフォームによっては存在しない項目がありますが、全てを列挙して解説します。

共通メニュー以外の色設定については、解説を省略します。

ルートメニュー

共通設定
 ターミナル
 標準アプリ ビューア
 グラフ表示 (加速度リアルタイム/センサー)
 簡易モニター (CUA/ARIA/Glancer)
 グランサー(簡易モニタ)
 コマンダー
 アプリ書換
 インタラクティブモード
セーブデータ ユーティリティ(ダンプ/消去)
情報

共通設定

a: (      0x00) 起動アプリ指定
G: (      0x00) 画面サイズ・描画方法
F: (          ) シリアルデバイスID
f: (0x00FFFFFF) 文字色
b: (0x005A0032) 背景色
B: (    115200) ボーレート
設定内容
起動アプリ指定TWELITE STAGE始動時にビューアアプリに移動する設定です。
設定値は1..{ビューアアプリメニューで列挙されている数}です。
注:シリアルデバイスIDを設定しておかないと、
始動時に接続するシリアルデバイス選択画面で入力待ちになります。
画面サイズ・描画方法(M5Stack版を除く)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(M5Stack版を除く)設定はシリアルデバイス名または数値の1..9を指定します。
注:数値の場合はデバイス列挙順になります。
文字色・背景色文字色、背景色を指定します。
共通設定の色設定値は他の画面の設定にも継承されます。
他の画面で未設定の場合は共通設定の色設定が採用されます。
色はRGB 24bitを16進数で指定しますが、内部的には16bit 565形式に値が丸められます。
ボーレートTWELITE 側のボーレートが 115200 ではない場合に、ターミナルなどの表示が化けないように設定します。

アプリ書換

f: (0x00FFFFFF) 文字色
b: (0x005A0032) 背景色
j: (         0) ビルド時のmakeジョブ数
v: (         0) codeでフォルダを開く(VSCode)
l: (         0) LTOを行わない
n: (         0) 書換完了後の画面
設定内容
ビルド時のmakeジョブ数(M5Stack版を除く)ビルドを行う際の並列ジョブ数です。適切な数を設定することでビルド時間の短縮を期待できます。
規定値0は(物理プロセッサ数-1)でジョブ数を計算しています。
目安としては論理プロセッサ数を上限とすると良いでしょう。
codeでフォルダを開く (VSCode)(VSCodeのインストールが必要)1を設定することでOS標準のフォルダウインドウの代わりにcodeコマンド(VSCode)でフォルダを開きます。
実行ファイルTWELITE_Stage_VSCodeではデフォルトで1に設定されています。
書換完了後の画面(M5Stack版を除く)1を設定することでインタラクティブモード画面の代わりにターミナルを開きます。
2を設定することで、書換メニューに戻ります。
TWELITE_Stage_VSCodeでは2に設定されています。
LTOを行わない(Windowsのみ)1を設定すると、WindowsのコンパイラでLTOを行いません。
LTOは比較的小さなバイナリを生成できる一方でリンクに時間を要します。
LTOを省略することでより高速なリンクが実現できます。

セーブデータユーティリティ

r: Read sector.
R: Read ALL sectors.
e: Erase sector.
E: Erase ALL sectors.

この画面は、データセーブ領域のメンテナンスを行うユーティリティです。EEPROM(64バイトを1セクタとして最大60セクタ、3840バイト)をエミュレートします。

設定内容
rセクタを読み出します。
0..59を入力すると、入力したセクタ番号のセクタの内容を表示します。
RYESを入力すると全セクタの読み出しを行いますが、末尾の部分のみを表示します。
eセクタを消去(0xFF)します。
0..59を入力すると、入力したセクタ番号のセクタが消去されます。
EYESを入力すると全セクタを消去します。

1.2.2.2.5 - シリアルポートの選択

シリアルポートの選択

Windows   macOS   Linux   RasPi

概要

この画面では、シリアルポートを再選択できます。

シリアルポート選択画面の例

シリアルポート選択画面の例

1.2.3 - ログ機能

TWELITE と PC 間のログ機能

Windows   macOS   Linux   RasPi

TWELITE と PC 間のシリアル通信のログを記録できます。

操作

記録開始

Alt(⌘)+L を押します。

ログの開始画面の例

ログの開始画面の例

記録終了

記録中に再度 Alt(⌘)+L キーを押します。

ログの終了画面の例

ログの終了画面の例

ログの記録が終了し、その時点のログファイルをOS標準の方法(Windowsはメモ帳、macOSはコンソール.app)で開きます。

仕様

ログの記録

TWELITE から受信した文字列は、そのまま記録されます。

TWELITE に送信した文字列は、1文字ずつ記録されます。 Windowsの場合は 「 」、 macOS / Linux / RaspBerryPi は « » で囲われます。 例えば«t»とある場合は、キーボードからtを入力したことを意味します。

ログ記録のフォルダとファイル名

{TWELITE STAGE APP の実行形式のあるフォルダ}/log にログ開始時の日時を元にしたファイル名で保存されます。

Alt(⌘)+Shift+L を押すことで、そのフォルダを開きます。

ログ出力フォルダの例

ログ出力フォルダの例

1.3 - 詳細な仕様

TWELITE STAGE APP の詳細な仕様

1.3.1 - コマンドライン引数とiniファイルによる詳細設定

コマンドライン引数とiniファイルによる TWELITE STAGE APP の詳細設定

コマンドライン引数

コマンドライン引数は、TWELITE STAGE APPのいくつかの細かい設定を行います。

コマンドライン引数内容
-E 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}はウィンドウの左上のスクリーン座標です。

iniファイル

iniファイルはTWELITE STAGE APPの基本的な設定(MWSDKのフォルダを参照するなど)を行うために使用されます。

iniファイル名は{TWELITE STAGE APPの実行ファイルのベース名} + .ini です。 通常は TWELITE_Stage.ini となります。

;;; MWSDKの参照を変更します。
; MWSDK=MWSDK
mwsdk=mwsdk2020_10

;;; インターフェース言語
; LANG=en

;;; ウィンドウのジオメトリ
GEOM_X=200
GEOM_Y=100

シンタックス

  • ini ファイルはプレーンテキストファイルとして記述される。
  • キーと値は = で区切られた1行に格納される (例: KEY=value)。
  • キーと値の文字列は行頭から始まる(キーの前に空白や他の文字は許されない)。
  • キーと値の間にスペースを入れてはならない。
  • コメント行は ; または # を行頭に追加する。

設定

キー
MWSDKMWSDKのフォルダを変更する。デフォルトのフォルダは、TWELITE STAGE APPの実行ファイルが置かれているのと同じフォルダにある MWSDK です。古いMWSDKやカスタムMWSDKを使用する必要がある場合は、そのフォルダの名前を指定することができます。
LANGLANG=en は、ユーザーインターフェースの言語をデフォルト(日本語)から英語に変更します。
GEOM_X, GEOM_YTWELITE STAGEアプリのウィンドウが表示される場所を変更する。

異なる設定の TWELITE STAGE APP を実行する

異なる設定の TWELITE STAGE APP が必要な場合は、TWELITE STAGE APPと同じフォルダに実行ファイルをコピーして、同じ名前の .ini ファイルを作成します。

例えば、英語のインターフェースを使用する場合、TWELITE_Stage.exe(注: .exe はWindowsの実行ファイルの拡張子)を TWELITE_Stage_en.exe にコピーして、 LANG=en の設定を TWELITE_Stage_en.ini に書き込むことで、英語のインターフェースを有効化した実行ファイルを作成できます。

  TWELITE_Stage.exe
  TWELITE_Stage.ini | 特別な設定なし

  TWELITE_Stage_ja.exe | TWELITE_Stage.exe のコピー
  TWELITE_Stage_en.ini | LANG=en が設定されている。

1.3.2 - 環境変数

TWELITE STAGE APP が使用する環境変数

内部的に設定される環境変数

環境変数解説
MWSDK_ROOT標準では TWELITE STAGE APP の実行形式が格納されるフォルダにある MWSDK フォルダ(つまり../MWSTAGE/MWSDK)が指定されます。 MWSDK.iniが指定される場合は、指定されたフォルダ名を採用します。
MWSDK_TWENET_LIBSRCサンプルコードやTWELITE APPSのソースコードフォルダには、Microsoft社の Visual Studio Code (VS Code) 用の定義ファイルを予め作成しています。この定義ファイル中にVS Codeエディタ中でコード解釈を行う目的でライブラリソースコードの参照先を指定しますが、この環境変数を用いています。
MWSDK_TWENET_LIBSRC環境変数が適切に指定されると、MWSDK以下ではないプロジェクトフォルダでもコード解釈が行われ、ライブラリ関数名の補完などが機能します。(参考
LANG=Cツールチェインのメッセージを規定の言語(英語)にするため、明示的に設定しています。
PATHWindowsでは、SDK添付のmsysユーティリティへのPATHを追加します。
MWSDK_MAKE_JOBS
MWSDK_MAKE_DISABLE_LTO
VS Codeの設定定義で利用します。
JOBS : STAGE APPで設定された並列ビルド数を渡します
DISABLE_LTO : LTOを無効化します( Windows )

参考

.vscode/settings.json の設定例(抜粋)

    "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/**"
    ],

"../../"で始まる定義は、TWELITE STAGEアプリからプロジェクトを開く場合は不要です。環境変数MWSDK_TWENET_LIBSRCを設定しない場合に、既定のフォルダ構成の時にソース参照先を指定しています。

1.3.3 - 000desc.txt によるプロジェクト説明の追加

000desc.txt によるプロジェクト説明の追加方法について

プロジェクトフォルダに000desc.txtを作成した場合には、TWELITE STAGE APP が、プロジェクトフォルダの一覧にその内容を表示します。

000desc.txtの表示例

000desc.txtの表示例

ファイルは UTF-8 形式のプレーンテキストで記述します。書式は以下の2種類があります。

書式1

スイッチを押した時にLEDを点灯
act4はTWELITE DIPに接続されたスイッチを押した時にLEDを点灯させるactを動作させます。
https://mono-wireless.com/jp/products/act/index.html
  • 1行目はタイトル行です。
  • 2行目以降は詳細の記述です。
  • 最終行が http で始まる場合は、ウェブサイトへのリンクになります。

書式2

[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

iniファイルのような書式です。行頭から始まる項目名と=文字までを項目の定義として=以降が項目の内容です。

項目定義詳細
[JAPANESE], [ENGLISH]ブロックの区切り
TITLE=タイトル行
DESC=詳細の記述。改行を含めて複数行にすることもできます。
URL=ウェブサイトまたはファイルへのリンク

URL 指定について

URL=詳細
https:, http: で始まるそのアドレスを開きます
それ以外{MWSDK_ROOT}/docs/ を起点とした相対フォルダを指定します。
a/b/c.html とした場合は {MWSDK_ROOT}/docs/a/b/c.html に変換されます。

1.4 - ライセンス

ライセンスについて

モノワイヤレス 株式会社が配布するTWELITE_Stageの実行形式は MW-SLA-1J,1E が適用されます。

利用したオープンソース成果物

高品質なソースコードを提供いただいたオープンソースプロジェクトに感謝いたします。

名前記述
SDL2Simple DirectMedia Layer Copyright (C) 1997-2020 Sam Lantinga
getoptCopyright (c) 1987, 1993, 1994The Regents of the University of California. All rights reserved.
regexregex - Regular expression pattern matching and replacementBy: Ozan S. Yigit (oz) Dept. of Computer Science York University
printfCopyright (c) 2014 Marco Paland
東雲フォント2001 The Electronic Font Open Laboratory http://openlab.ring.gr.jp/efont/
M+ BITMAP FONTSCopyright 2002-2005 COZ coz@users.sourceforge.jp
SQLiteC++Copyright (c) 2012-2021 Sebastien Rombauts (sebastien.rombauts@gmail.com)
sqlite3All of the code and documentation in SQLite has been dedicated to the public domain by the authors.

1.5 - 改訂履歴

TWELITE STAGE APPの改訂履歴

ソースコードの変更履歴は https://mwm5.twelite.info/changes および https://github.com/monowireless/mwm5 を参照してください。

プラットフォームによっては、配布中の最新バージョンと改訂履歴の最新バージョンが一致しない場合があります。

1.3.8 MWSTAGE2022_08収録版

メジャーバージョンアップ。

  • 内部描画解像度を320x240から640x480ピクセルに変更
  • 加速度センサーのリアルタイムグラフの追加
  • センサーデータの保存とグラフ表示を行うセンサーグラフを追加
  • 英語表示に対応
  • 主要マニュアルをローカルhtmlファイルに変更

1.0.8 MWSTAGE2021_09収録版

  • [ 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を終了するようにした

1.0.7pre2

  • Raspberry Pi の対応を強化 (1.0.7pre2)
    • serial0 の対応(TWELITE STAGE HAT)
    • Zero 向けビルドを追加(対応ライブラリでビルド&描画フェード機能を無効化)
    • X11 デスクトップ向けビルドを追加
  • 一般のFTDIデバイス(FT232,FT230)でも利用できるようにした。ファームウェア書き込みモードは手動で行う必要があります
  • Windowsで、シリアルポート選択画面でcキーを押すことでWindowsで割り当てられているCOMポートを表示する機能を追加した
  • ボーレートを115200bpsから変更できるようにした
  • 描画フェード機能を無効にするコマンドラインオプション(-E 0)を追加。

1.0.3 MWSTAGE2020_12収録版

  • 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での動作については十分な検証を行っていません。

0.9.11 MWSTAGE2020_10, Raspberry Pi 版 (暫定版)

(※包括的な検証を実施しないバージョンです)

  • Raspberry Pi での動作
  • その他、機能調整

0.9.9 - MWSTAGE2020_10収録版

  • 最上位メニューにも [ウェブ] ボタンを追加し、関連リンクをブラウザで開けるようにした。
  • Linux版のフォルダ、ウェブ、VS Code で開く機能を実装した。
  • TWELITE が頻繁に UART 出力している場合に、書き込みメニューへ遷移しづらいことがあった

0.9.8a

https://github.com/monowireless/TWELITE_STAGE_Bin_M5Stack/releases/tag/0.9.8a

M5Stack版で MW-SLA-1J,E / MW-OSSLA-1J,E のデュアルライセンスとし、readme-j.txt を更新した。

0.9.8

ビューア一覧表示に[ウェブ]ボタンを追加し、関連サイトを開く機能を追加など。

改定内容

  • ビューア>コマンダーの追加
    • 標準アプリ 0x80 コマンド
    • NOTICE PALのLED制御 (App_Wingsにコマンドを送付)
  • ビューア>PALビューアのNOTICE PAL対応。
  • Act_extrasのメニューを追加
    • Act_samplesより高度なもの
    • 外部のオープンソースライブラリ(センサー手続きなど)を利用したもの
  • マウスによる操作を拡大 (リスト、ボタン、タブ)
    • マウス移動でフォーカス、左クリックで確定、右クリックは[ESC]キー入力
  • 画面表示負荷の低減
    • アプリケーションがバックグラウンドの時はスクリーンセーバーを無効にした
    • アプリケーションがバックグラウンドの時は、描画回数を減らして CPU 負荷を減らした
  • ビルドプロジェクト(act, TWE_Apps, Act_extras)の一覧の機能強化
    • 項目選択時に下部に概要を表示 (000desc.txtを読み込む。TWE_Descクラスにより処理)
    • プロジェクトフォルダを開く(またはVSCodeで開く)機能
    • 関連ウェブサイトを開く機能
    • ALt+Shift+m mwxライブラリ、Alt+Shift+t twesettingsライブラリを開く機能
    • ビルドメニュー中で選択中のフォルダやビルドエラーファイルを開けるようにした。
  • ログ(シリアルポート入出力)機能の追加
    • (Alt/Cmd+L)でログの開始・終了
    • ログファイルを {TWELITE_Stage 実行形式のあるフォルダ}/log に格納
    • ファイル名は twestage_{日付-時刻}.log
    • Shift+Alt/Cmd+L でログファイルフォルダを開く
  • その他、変更・修正など
    • シリアル(FTDI)デバイス名、IDの表示方法を変更
    • App_UARTでインタラクティブモードに遷移しなかった問題を修正
    • フォルダドロップ時の挙動を変更した (これまではバイナリ書き込みになる場合があったが、メニュー遷移とした)
    • ターミナル長押し時[C]でリセットに加え、画面クリアするようにした。

既知の問題

  • M5Stack で設定を保存するときにハングアップし、設定内容が初期化される場合があります。

0.8.9

2020_05 リリース版

  • ウインドウアイコンの追加
  • BINファイル一覧画面での最大リスト数の制約を緩和 (win/linux/mac)
  • Glancerビューアの追加
  • 解説文面等の調整
  • コンソール画面の描画の調整
  • ファーム書き込み後の移動先画面(インタラクティブモードかターミナルか)の設定が動作していなかった
  • Alt(or Cmd)+W の割り当てを変更
  • その他不具合の修正

0.8.6

Linux 版リリース初版

0.8.5

リリース初版