4.埋め込みコマンド詳細 - Tamakichi/IchigoMsg GitHub Wiki
4.埋め込みコマンド詳細
埋め込みコマンドはメッセージ文に埋め込んで利用するこの出来るコマンドです.
埋め込みコマンド部の半角英字は大文字、小文字のどちらでも利用可能です.
埋め込みコマンドの実行時にエラーは発生した場合はそのコマンドの処理をスキップします.エラーメッセージの出力は行いません.
4.1 登録フォント挿入 {fフォント番号}
フォント番号(0~23)で指定した登録フォントを挿入表示します.
書式
{fフォント番号}
引数
- フォント番号
0~23
説明
フォント番号(0~23)で指定した登録フォントを挿入表示します.
フォント番号の指定が正しくない場合は処理をスキップします.
事前にフォント番号に対応するフォントの登録を行う必要があります.
利用例
@setfont 0,1245A81A58181423C
@print I love {f0}さん
4.2 指定フォントパターン挿入 {oフォント定義}
フォント定義(16桁16進数 8バイト分8x8ドット)を挿入表示します.
書式
{oフォント定義}
引数
- フォント定義
16桁16進数(8バイト分)
説明
フォント定義でしたフォントパターンを挿入表示します.
コマンドの引数が正しくない場合は処理をスキップします.
フォント定義は8x8ドットの8バイト分を16進数16桁で指定します.
フォントのレイアウトは次のようになります.
横1行8ドットは左がMSB、右がLSBとなります. 点灯する点を1、点灯しない点が0として定義します.
フォント定義は8行分を連結した形式となります.
利用例
@print I love {o245A81A58181423C}さん
4.3 utf16コード指定フォント挿入 {u文字コード}
Utf16文字コード(4桁16進数)に該当するフォントを挿入表示します.
書式
{u文字コード}
引数
- 文字コード
4桁16進数utf16コード
説明
Utf16文字コード(4桁16進数)に該当するフォントを挿入表示します.
該当する文字が存在しない場合は□が表示されます.
利用例
@print {u3042}{u3044}{u3046}{u3048}{u304A}
上記の例ではドットマトリックスLEDにあいうえおと表示されます.
4.4 IchigoJamフォント挿入 {a文字コード}
文字コード(0~255)に該当するIchigoJamフォントを挿入表示します.
書式
{a文字コード}
引数
- 文字コード
0~255の整数値
説明
文字コード(0~255)に該当するIchigoJamフォントを挿入表示します.
挿入するフォントはIchigoJamファームウェアバージョン1.2.1のものです.
利用例
@print いちごのアイコン{a255}とねこのアイコン{a236}
4.5 登録メッセージ挿入 {mメッセージ番号}
メッセージ番号(0~7)で指定したメッセージ文を挿入表示します.
書式
{mメッセージ番号}
引数
- メッセージ番号
0~7の整数
説明
メッセージ番号(0~7)で指定したメッセージ文を挿入表示します.
利用例
@setmsg 0,今日は10月12日です.
@print {m0}
上記のコマンド実行により、ドットマトリックスLEDには「 今日は10月12日です. 」と表示されます.
@print {m0}は、あらかじめ登録しておいたメッセージ番号0のメッセージ文を参照して表示します.
4 .6 変数値挿入 {v変数番号}
変数番号(0~9)で指定した変数の内容を挿入表示します.
書式
{v変数番号}
引数
- 変数番号
0~9の整数値
B説明
変数番号(0~9)で指定した変数の内容を挿入表示します.
利用例
@setmsg 0,今日は{v0}月{v1}日です.
@setvalue 0,10
@setvalue 0,12
@print {m0}
上記のコマンド実行により、ドットマトリックスLEDには「今日は10月12日です.」と表示されます.
あらかじめ登録したメッセージ文の一部を変更する場合に利用できます.
4.7 半角2文字挿入 {h文字1文字2}
文字1文字2(0x20~0x7dの範囲の文字)2文字を表示します.
書式
{h文字1文字2}
引数
- 文字1文字2
文字1、文字2とも半角文字でキャラクターが0x20~0x7dの範囲の文字
説明
文字1文字2(0x20~0x7dの範囲の文字)2文字を表示します.
8x8ドット表示画面に2文字を同時表示します.
利用例
@print {s0}{h03}{d1000}{h02}{d1000}{h01}{d1000}{h00}{d1000}
上記の例では簡易的に1秒間隔で03から00までカウントダウン表示を行います.
4.8 ドット表示 {横座標 縦座標 ドット}
任意の座標のドットをON/OFFを制御します.
書式
{横座標 縦座標 ドット}
引数
- 横座標
0~7までの整数値 - 縦座標
0~7までの整数値 - ドット
0:ドットOFF、1:ドットON
説明
任意の座標のドットをON/OFFを制御します.
{001}は横座標0、縦座標0のドットをONにします.
{770}は横座標7、縦座標7のドットをOFFにします.
利用例
@print {001}{111}{221}{331}{441}{551}{661}{771}
上記の例では、ドットマトリックスLED上に斜めの線を引きます.
4.9 表示の消去{}
現在の表示を消去します.
書式
{}
引数
なし
説明
現在(直前)の表示を消去します.
空白文字の代用にも利用可能です.
利用例
@print {s0}{t0}{c500}{}こんにちは!{d1000}{}
上記の例は直前の表示を消した後、
"こ"、"ん"、"に"、"ち"、"は"、"!"と0.5秒間隔で表示し、1秒後に"!"の表示を消します.
4.10 スクロール動作設定 {s動作}
スクロール動作の設定を行います.
書式
{s動作}
引数
- 動作
動作コード0~15または+、-
説明
ドットマトリックスLEDにメッセージを表示する際のスクロール動作を設定します.
スクロール方向はドットマトリックスLEDの型番印刷面を基準となります.
動作には動作コードど相対増減+-の指定が可能です.
動作コードによる動作は次の表となります.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
スクロール無し | ↑上 | ↗斜め右上 | →右 | ↘斜め右下 | ↓下 | ↙斜め左下 | ←左 | ↖斜め左上 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|
→右↑上 | →右↓下 | ↓下←左 | ↓下→右 | ↘斜め右下(上書き) | →右(上書き) | ↓下(上書き) |
動作コード0は、スクロールせずに表示内容が順次次の文字に切り替わります.
動作コード1~8は1増える毎に45度づつ時計回りに向が変わります.
相対増減+-の指定時は動作コード1~8の範囲で向きを変更します.
動作コード9~12は弧を描くような動作をします.
動作コード13~14は既存の表示文字をスクロールせずに上書きして文字を表示します.
本埋め込みコマンドは@scrlコマンドの第2引数の設定を同じ機能となります.
利用例
@print {s1}{t40}こ{s+}ん{s+}に{s+}ち{s+}は{s+}!{s5}
上記の例では、1文字毎にスクロール方向を変えて動きのあるメッセージ表示を行っています.
4.11 スクロール速度設定 {tウェイト}
スクロール速度の設定を行います.
書式
{tウエイト}
引数
- ウエイト
0~32767の整数.単位はミリ秒.
説明
スクロールで1ドット動く際のウェイトを指定することで、スクロール速度を設定します.
8ドットの文字が完全前に表示されるのに有する時間は、ウェイト×8ミリ秒となります.
実用的な値は20~100です(1文字換算で160~800ミリ秒).
本埋め込みコマンドは@scrlコマンドの第2引数の設定を同じ機能となります.
利用例
@print {s1}{t40}こ{s+}ん{s+}に{s+}ち{s+}は{s+}!{s5}
上記の例では、1文字毎にスクロール方向を変えて動きのあるメッセージ表示を行っています.
{t40}の40を調節することで全体のスクロール速度の調整が行えます.
4.12 即時ウェイト {dウエイト時間}
指定した時間、ウェイト(0~32767msec)を行います.
書式
{dウエイト時間}
引数
- ウエイト時間
0~32767の整数.単位はミリ秒.
説明
指定した時間、ウェイト(0~32767msec)を行います.
利用例
@print {s0}{t0}{c500}{}こんにちは!{d1000}{}
上記の例は直前の表示を消した後、
"こ"、"ん"、"に"、"ち"、"は"、"!"と0.5秒間隔で表示し、1秒後に"!"の表示を消します.
4.13 1ドットスクロール {>[動作コード]}
1ドットスクロールを行います.
書式
{>[動作コード]}
引数
- 動作コード
0~15または省略
説明
1ドットスクロールを行います.
引数の 動作コード は、「スクロール動作設定 {s動作}」で指定する動作コードど同じです.
詳細については、「スクロール動作設定 {s動作}」を参照して下さい.
省略した場合は、現在のスクロール動作設定にてスクロール動作を行います.
利用例
@print {s5}あ{>}{>}{>}{>}
上記の例では"あ"を表示後4ドットスクロールします.
4.14 メッセージ間ウエイト設定 {w間隔}
メッセージ文間のウェイト(0~32767 msec デフォルト0)を指定します.
書式
{w間隔}
引数
- 間隔
0~32767の整数.単位はミリ秒.
説明
メッセージ文間のウェイト(0~32767 msec デフォルト0)を指定します.
メッセージ文表示後、次のメッセージの表示が開始されるまでの待ちとして動作します.
本埋め込みコマンドは メッセージ間ウエイト設定(@mwait 間隔) と同じ機能です.
本設定は以降の全てのメッセージ文表示に継承されます.
特定のメッセージ文のみ待ちを行う場合は 即時ウェイト {dウエイト時間} を使う選択もあります.
利用例
@setmsg 0,{m1000}{s5}{t0}こんにちは!
@setmsg 1,今日も明るく元気にいきましょう!
@setlist 01
@play 2
上記の例ではメッセージ文を登録してバックグランドで連続再生再生を行っています.
メッセージ文に埋め込むことで、別の割り込んでメッセージ文を表示する際に設定が変更されても、
繰り返し再生の過程で自動で元の設定に戻ることができます。
4.15 文字間ウェイト設定 {c間隔}
以降のメッセージ文の文字間隔(0~32767 msec デフォルト0)を設定します.
書式
{c間隔}
引数
- 間隔
0~32767の整数.単位はミリ秒.
説明
メッセージ文の文字と文字の間のウェイト(0~32767 msec デフォルト0)を指定します.
間隔の値を調節することで、コマ送りのようなスクロール動作となります.
利用例
@print {s0}{t0}{c500}{}こんにちは!{d1000}{}
上記の例は直前の表示を消した後、
"こ"、"ん"、"に"、"ち"、"は"、"!"と0.5秒間隔で表示し、1秒後に"!"の表示を消します.
4.16 文字の回転補正 {r向き}
以降のメッセージ文の回転補正(0~3 デフォルト3)を行います.
書式
{r向き}
引数
- 向き
相対90度づつ増減:+-
向きコード(0~3 デフォルト3)
説明
ドットマトリックスLEDに表示する文字の向きの補正を行います.
ドットマトリックスLEDモジュールを配置する向きに応じて文字の向きを補正することが出来ます.
また、絵文字等の文字を回転して表示する際にも利用出来ます.
本埋め込みコマンドは 文字の回転補正(@rotate 向き) と同等の機能を有します.
向きコードと実際の向きの対応
0 | 1 | 2 | 3 |
---|---|---|---|
文字の向きはドットマトリックスLEDの型番印刷面を基準となります.
相対90度増減+-を用いる場合、現在の設定に対して+が時計回りに90度回転、-が反時計周りに90度回転となります.
本埋め込みコマンドによる設定は以降、全ての文字の表示に対して継続されます.
4.17 文字の回転 {/+}、{/-}
表示している内容を回転させます.
書式
{/+} または、{/-}
説明
表示している内容を回転させます.
{/+}で右90度回転(時計回り)に、 {/-}で左90度回転(時計回り)します.
利用例
@print A{/+}
4.18 IchigoJamコード系利用 {i}
以降のメッセージ文をIchigoJam asciiとして扱います.
書式
{i}
引数
なし
説明
以降のメッセージ文をIchigoJam asciiとして扱います.
これにより、IchigoJamに接続して利用する際にIchigoJamの文字列およびフォント直接メッセージ文に利用することが可能となります.
この宣言を行わない場合、ドットマトリックスLEDにてフォントが正しく表示されません.
利用例
100 ?"@print {i}コンニチハ サイタマケン"
上記の例はIchigoJamからの利用の例です.
半角カタカタをUTF-8の3バイト半角カタカナとしてではなく、IchigoJamの1バイト半角カタカナとして処理し、
ドットマトリックスLEDにて正常に表示できます.
4.19 utf8コード系利用 {n}
以降のメッセージ文をutf8コードとして扱います.
書式
{n}
引数
なし
説明
以降のメッセージ文をutf8コードとして扱います.
デフォルトではutf8コード系利用となっていますが、変更して利用している場合は、明示的に utf8コード系利用を指定して下さい.
利用例
@print {n}こんにちは
利用例
@print {i}コンニチハ サイタマケン"
4.20 設定値読込 {!}
EEPROMから設定値をロードして設定を初期化します.
書式
{!}
引数
なし
説明
EEPROMから設定値をロードして設定を初期化します.
利用例
@print {s1}{t40}こ{s+}ん{s+}に{s+}ち{s+}は{s+}!{!}
上記の例ではスクロール動作とスクロール速度を設定変更行ってメッセージ表示を行った後、最後に設定を初期化しています.