初めてのMyDisplay
MyDisplayを使うには
を行う必要があります。
スマートフォンやタブレットを表示用端末化するためのアプリをインストールする
スマートフォンやタブレットを表示用端末にするためのアプリケーションをスマートフォンやタブレットにインストールします。
次のアドレスよりAPK(Android Application Package)ファイルをダウンロードします。
https://myhobby.maplesoft.jp/download/mydisplay.apk
(2022/05/20 Ver2.00)
ダウンロードしたmydisplay.apkを実行すればインストールされます。
途中でいろいろと警告がでますが、おじさんを信用できるなら警告を無視して下さい。
画面に
アイコンが追加されます。
マイコンで表示用のプログラムを作る
マイコンから表示用端末に描画命令を送るためのマイコン側のプログラムを作ります。
テスト用に表示用端末に次の様な描画を行います。

- 表示範囲の縦横比を4:3にし、背景を白にます。
- サンシェリフ、太字のフォントを用意します。
- 緑で四角を塗り潰しします。
- その中に青で角丸四角を線で描きます。
- その上に文字「Hello world」を2で用意したフォントを用いて赤色で中央揃えで描きます。
ARM MBED の Cプログラム
#include "mbed.h"
Serial pc(USBTX, USBRX);
int main() {
pc.baud(9600);
pc.format(8, Serial::None, 1);
pc.printf("\n");
pc.printf("Init 100, 75, #FFFFFF\n");
pc.printf("Font 1, SANS_SERIF, BOLD, 8\n");
pc.printf("DrawRect 10, 15, 80, 45, #00FF00, FILL\n");
pc.printf("DrawRoundRect 15, 20, 70, 35, 2, 2, #0000FF, 2\n");
pc.printf("DrawText Hello world, 50, 37.5, 4, 1, #FF0000\n");
exit(0);
}
IchigoJam の BASICプログラム
10 BPS 9600 20 PRINT 30 PRINT "Init 100,75,#FFFFFF" 40 PRINT "Font 1,SANS_SERIF,BOLD,8" 50 PRINT "DrawRect 10,15,80,45,#00FF00,FILL" 60 PRINT "DrawRoundRect 15,20,70,35,2,2,#0000FF,2" 70 PRINT "DrawText Hello world,50,37.5,4,1,#FF0000"
簡単ですね。少し補足すると、最初にInit命令で100,75と指定していますが、これは画面の描画領域を横100対縦75にすると宣言しています。
実際は端末画面の大きさや向きに応じて、100対75で最大に確保できる領域を描画領域にします。
この100と75は描画領域上の位置や大きさを指定するときのスケールとなります。描画領域の左上は(0,0)右下は(99,74)となります。
Fontに指定している8はフォントの大きさで描画領域の高さの8/75となります。
Initで指定する大きさは自由ですので、自分の考えやすい単位で指定して下さい。
各命令の詳細はリファレンスを参照して下さい。
マイコンと表示用端末をUSBケーブルで接続する
マイコンと表示用端末をUSBケーブルで接続します。
始めてマイコンと表示用端末をUSBケーブルで接続したときに、表示用端末のMyDisplayアプリがすでに起動されているか、接続後に起動するかにより、表示用端末のメッセージが異なります。
起動前接続
表示用端末のMyDisplayアプリを起動せずに、表示用端末とマイコンをUSBシリアルケーブルで接続します。
表示用端末にUSBを使用するアプリを選択する画面が表示されます。

常時接続を選択すると次回以降この画面は開かれなくなります。
接続後接続
表示用端末のMyDisplayアプリを起動してから、表示用端末とマイコンをUSBシリアルケーブルで接続します。
表示用端末のこのアプリでUSBを使用する許可を求められます。

「接続したら常にMyDisplayを起動する」にチェックすると、次回以降ケーブルを接続するだけでMyDisplayが起動されます。
表示用端末のアプリおよびマイコンの表示用プログラムを起動する
表示用端末とマイコンがUSBシリアルケーブルで接続され、且つMyDisplayアプリが起動されているとき、はじめてマイコンより描画データを受け取ることができます。
この時、まだマイコンのプログラムが動いていないのなら、マイコンのプログラムを開始すれば表示用端末に正常に表示されます。
既にマイコンのプログラムが動いている場合は、既にいくつか描画データをマイコンから表示用端末に送っていますが、それらは表示用端末で受けられずに喪失されています。
このような場合はマイコンのプログラムを再起動すれば正しく表示されるようになります。
別の方法としてMyDisplayアプリが起動されるとき、表示用端末より準備完了通知として「$RDY」を送信しますので、マイコン側でそれを受信して描画データを再送するようにプログラムすることもできます。