2016年8月23日火曜日

Scratch MESH グローバル変数

今日は、MESHとグローバル変数の関係を調べてみます。

MESH HOSTは、グローバル変数をブロードキャストしてくれることは、先日記載しました。

そこで、今日は、cmdと言うグローバル変数を使って実験してみます。cmdは、Desktop Stationへのコマンドとなります。

スプライトは、削除してステージだけにしてしまいます。
そして、ステージに変数を追加します。ステージ上の変数は、グローバル変数になります。
(スプライトの変数は、グローバル変数かローカル変数か、選択できます。)


もう一つ、今度は、settingと言うリストを作成してみます。ここには、後々、設定値を格納します。


コマンドを設定するスクリプトは、以下の様な感じにしました。


「0」キーが、押された時に、「setPower(0)」をcmdニセットし、「1」キーが押された時に「setPower(1)」をcmdにセットするようにしています。

Node-REDの受信結果は、以下の通りです。


この様に、グローバル変数がブロードキャストされます。ここでは、文字データのみが、表示されていますが、実際には、先頭4バイトのデータ長がセットされています。詳細は、フォーマットの仕様を参照してください。
今回必要としているのは、cmdの内容だけですので、Node-REDに、以下のフローにしました。


switchノードは、以下の通りです。


functionノードは、以下の通りです。


Node-REDの受信結果は、以下の通りです。


この受信データを、先日作成した、Desktop Stationへのシリアル送信に繋げばDCCの制御が可能になります。


0 件のコメント:

コメントを投稿