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

もとのページに戻る

2024-05-14 現在

メインメニュー

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

Windows   macOS   Linux   RasPi

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

メインメニュー画面の例

メインメニュー画面の例

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

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

1 - ビューア

ビューアについて

Windows   macOS   Linux   RasPi

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

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 - 標準アプリ ビューア

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

Windows   macOS   Linux   RasPi

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

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

概要

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

操作

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

1.3 - グラフ

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

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.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.4 - 簡易モニタ

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

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.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.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.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を点灯させます。

画面下部の表示

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

2 - アプリ書換

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

Windows   macOS   Linux   RasPi

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

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

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

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

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

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]関連フォルダを開きます。
マウスクリック [▽] または [△]次ページ、前ページに移動します。

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]関連フォルダを開きます。
マウスクリック [▽] または [△]次ページ、前ページに移動します。

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]関連フォルダを開きます。
マウスクリック [▽] または [△]次ページ、前ページに移動します。

2.5 - 指定

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

Windows   macOS   Linux  

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

2.6 - 再書換

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

Windows   macOS   Linux   RasPi  

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

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この画面を抜けて、書換メニューに戻ります。

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

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

Windows   macOS   Linux   RasPi

概要

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

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

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

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

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

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

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

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

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

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

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を入力すると全セクタを消去します。

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

シリアルポートの選択

Windows   macOS   Linux   RasPi

概要

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

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

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