11: 2010-07-16 (金) 14:12:33 sho ソース 12: 2010-07-20 (火) 17:05:10 sho ソース
Line 12: Line 12:
-グラフィック表示 -グラフィック表示
-エスケープシーケンス対応 -エスケープシーケンス対応
- 
-※FDIII-HCは、日本語に対応していません。 
*仕様 [#bec6aa65] *仕様 [#bec6aa65]
Line 112: Line 110:
プログラムの書き込み方法等は、[[FDIII-HC]]又は[[FREEDOMjr.III>BTH051]]の技術情報をご覧下さい。 プログラムの書き込み方法等は、[[FDIII-HC]]又は[[FREEDOMjr.III>BTH051]]の技術情報をご覧下さい。
-[[ダウンロード>http://www.besttechnology.co.jp/downloa​d/FDIII-DisplaySMPL1.0.zip]]+[[ダウンロード>http://www.besttechnology.co.jp/downloa​d/FDIII-DisplaySMPL1.1.zip]]
ファイル構成は以下の通りです。 ファイル構成は以下の通りです。
Line 118: Line 116:
|acc.c||FDIII-HCの加速度センサの値に応じて線を描く。| |acc.c||FDIII-HCの加速度センサの値に応じて線を描く。|
|buffer.c||画像バッファ0~3にそれぞれ絵を描いて切り替える。| |buffer.c||画像バッファ0~3にそれぞれ絵を描いて切り替える。|
-|character.c||エスケープシーケンスで色々な文字を表示する。|+|character.c||カーソル操作や色々な文字を表示する。|
|drow.c||10x10ピクセルを1マスとした絵を描く。| |drow.c||10x10ピクセルを1マスとした絵を描く。|
|elipse.c||円の内側だけを塗りつぶすように楕円を描く。| |elipse.c||円の内側だけを塗りつぶすように楕円を描く。|
Line 125: Line 123:
|pxmap.c||画像転送モードで1ピクセルづつ画像データを画像バッファ0~3へそれぞれ転送し、表示を切り替える。| |pxmap.c||画像転送モードで1ピクセルづつ画像データを画像バッファ0~3へそれぞれ転送し、表示を切り替える。|
|share|DisplayDraw.c|FDIII-DISPLAY用の関数が記述されている。| |share|DisplayDraw.c|FDIII-DISPLAY用の関数が記述されている。|
- 
***FREEDOMjr.III Operationサンプルプログラム [#jf622c1c] ***FREEDOMjr.III Operationサンプルプログラム [#jf622c1c]
Line 138: Line 135:
シリアル通信の設定は以下の通りです。 シリアル通信の設定は以下の通りです。
|パラメータ|設定値| |パラメータ|設定値|
-|ボーレート|9600,14400,19200,38400,57600,115200|+|ボーレート|9600,14400,19200,38400,57600,115200&br;初期設定は115200|
|データ長|8bit| |データ長|8bit|
|パリティビット|なし| |パリティビット|なし|
|ストップビット|1bit| |ストップビット|1bit|
|フロー制御|なし| |フロー制御|なし|
- 
- 
-**制御コード [#n4b5ce45] 
- 
-|16進表記|コード|概要|| 
-|0x08|BS|カーソル位置の左側の文字を削除し、カーソルを左に移動します。|| 
-|0x09|TAB|タブ位置にカーソルを移動します。文字サイズによって初期状態でのタブ間隔は異なります。|| 
-|~|~|文字サイズ(全角)|タブ間隔(半角基準)| 
-|~|~|4x8(8x8)|8| 
-|~|~|5x12(10x12)|6| 
-|~|~|8x16(16x16)|4| 
-|0x0A|LF|カーソル位置を1行下に移動します。最終行の場合は、1行スクロールします。|| 
-|0x0C|FF|カーソル位置を1行下に移動し、先頭行にカーソルを移動します。最終行の場合は、1行スクロールします。|| 
-|0x0D|CR|先頭行にカーソルを移動します。|| 
-|0x1B|ESC|本コード以下のコードにより、規定のエスケープシーケンスを実行します。エスケープシーケンスについては、[8 エスケープシーケンス] をご確認下さい。|| 
-|0x7F|DEL|カーソル位置の文字を削除し、カーソル位置を右に移動します。|| 
- 
-**エスケープシーケンス表 [#q7a0a904] 
- 
--エスケープシーケンス内のカッコで囲まれた小文字については、任意の数値を意味します。 
--エスケープシーケンス内の…は、任意のパラメータを複数羅列可能なことを意味します。羅列時は、パラメータ間をセミコロンで区切ります。(ただし、最後のパラメータと識別子の間にはセミコロンは不要です。)パラメータは数値のみ有効です。 
--数値を省略した省略型は、入力値を初期値として扱います。 
- 
-|エスケープシーケンス|内容|| 
-|ESC[(y);(x)H&br;ESC[H&br;ESC[(y);(x)f&br;ESC[f|カーソルを(y)行(x)列に移動します(初期値x=0;y=0)。設定値は半角基準です。(x)及び(y)を省略した場合は、初期値の位置にカーソルを移動します。移動先が、全角の2 バイト目の場合も、列補正を行いません。画面範囲外の設定値の場合は、設定値を0 として判断します。|| 
-|ESC[(n)A&br;ESC[A|カーソルを(n)行上に移動します(初期値n=1)。列の位置は保ちますが、移動先が全角文字の場合は、列位置の補正を行います。最上行から上には移動できません。|| 
-|ESC[(n)B&br;ESC[B|カーソルを(n)行下に移動します(初期値n=1)。列の位置は保ちますが、移動先が全角文字の場合は、列位置の補正を行います。最下行からは下には移動できません。|| 
-|ESC[(n)C&br;ESC[C|カーソルを(n)列右に移動します(初期値n=1)。カーソルの移動量は、該当位置の文字サイズに依存します。文字が設定されていない場合は、半角文字1つ分移動します。|| 
-|ESC[(n)D&br;ESC[D|カーソルを(n)列左に移動します(初期値n=1)。カーソルの移動量は、該当位置の文字サイズに依存します。文字が設定されていない場合は、半角文字1つ分移動します。|| 
-|ESC[0J&br;ESC[J|カーソル位置から最下行の右端までの文字を削除します。|| 
-|ESC[1J|画面先頭からカーソル位置までの文字を削除します。|| 
-|ESC[2J&br;ESC[*|画面全体の文字を削除し、カーソル位置を最上行の左端に移動します。|| 
-|ESC[0K&br;ESC[K|カーソル位置からカーソル位置の行の右端までの文字を削除します。|| 
-|ESC[1K|カーソル位置の行の先頭列から、カーソル位置までの文字を削除します。|| 
-|ESC[2K|カーソル位置の行の文字を削除し、カーソル位置をカーソル位置の行の先頭列に移動します。|| 
-|ESC[(n);(n);…m&br;ESC[m|文字属性を変更します。(n)には以下の設定値を入力して下さい。(初期値n=0)|| 
-|~|設定値|内容| 
-|~|0|初期値が設定されます。初期値は以下の通りです。文字色:白、文字背景色:透過、下線:無し、太字:無し、点滅表示:無し、反転:無し| 
-|~|1|太字表示に設定| 
-|~|4|下線付きに設定| 
-|~|5|点滅表示に設定| 
-|~|7|文字色と文字背景色を反転| 
-|~|8 or 16|不可視(文字色と文字背景色が透過となります。)| 
-|~|30|文字色を黒に設定| 
-|~|17 or 31|文字色を赤に設定| 
-|~|18 or 32|文字色を緑に設定| 
-|~|19 or 33|文字色を黄色に設定| 
-|~|20 or 34|文字色を青に設定| 
-|~|21 or 35|文字色を紫に設定| 
-|~|22 or 36|文字色を水色に設定| 
-|~|23 or 37 or 39|文字色を白に設定| 
-|~|40|文字背景色を黒に設定| 
-|~|41|文字背景色を赤に設定| 
-|~|42|文字背景色を緑に設定| 
-|~|43|文字背景色を黄色に設定| 
-|~|44|文字背景色を青に設定| 
-|~|45|文字背景色を紫に設定| 
-|~|46|文字背景色を水色に設定| 
-|~|47|文字背景色を白に設定| 
-|~|49|文字背景色を初期値(透過)に設定| 
-|~|24|下線無しに設定| 
-|~|25|点滅表示無しに設定| 
-|~|27|反転無しに設定| 
-|~|29|太字表示無しに設定| 
-|~|60|文字色を透過に設定| 
-|~|61|文字背景色を透過に設定| 
-|ESC[(n)P&br;ESC[P|カーソル位置から(n)文字削除し、削除文字分、カーソル位置より右側の文字を左に詰めます(初期値n=1)。|| 
-|ESC[(n)X&br;ESC[X|カーソル位置から(n)文字削除します(初期値n=1)。カーソルは移動しません。|| 
-|ESC[(n)M&br;ESC[M|カーソル行を含めて(n)行削除し、削除行分上に行を詰めます(初期値n=1)。詰めた分は空白行が挿入されます。|| 
-|ESC[(n)L&br;ESC[L|カーソル行を含めて(n)行空白行を挿入します(初期値n=1)。画面範囲外にはみ出る行は削除されます。|| 
-|ESC[s&br;ESC7|カーソル位置及び文字属性を保存します。|| 
-|ESC[u&br;ESC8|カーソル位置及び文字属性をロードします。(未設定の場合は初期値がロードされます。)|| 
-|ESC[>5l|カーソル表示をON にします。|| 
-|ESC[>5h|カーソル表示をOFF にします。|| 
-|ESC[0g&br;ESC[g|今のカーソル位置のタブ設定をクリアします。|| 
-|ESC[3g|タブ設定をすべてクリアします。|| 
-|ESC$B&br;ESC$@|漢字IN コード(ISO-2022-JP にて使用)|| 
-|ESC(B&br;ESC(J|漢字OUT コード(ISO-2022-JP にて使用)|| 
-|ESCD|カーソルを1行下に移動します。列の位置は保ちますが、移動先が全角文字の場合は、列補正を行います。最下行で移動した場合は、1行スクロールします。|| 
-|ESCM|カーソルを1行上に移動します。列の位置は保ちますが、移動先が全角文字の場合は、列補正を行います。最上行からは上に移動できません。|| 
-|ESCE|カーソルを最下行の先頭に移動します。カーソルが最下行にある場合は、1行スクロールします。|| 
-|ESCH|今のカーソル位置にタブを設定します。|| 
-|ESCc|初期状態に戻します。文字サイズ、文字コード、ボーレートはディップスイッチの状態を参照します。ジャンパー設定の状態も参照します。背景画像は消去し、受信データも削除します。|| 
-|ESCT|カーソル位置をカーソル位置の行の先頭に移動します。|| 
-|ESC@0Z|受信データを削除し、背景を含め画面をクリアします。(文字サイズ、文字コード、ボーレートは変更しません。)|| 
-|ESC@1Z|文字コードをSHIFT-JIS に設定 [初期値]|| 
-|ESC@2Z|文字コードをEUC-JP に設定|| 
-|ESC@3Z|文字コードをUTF-8 に設定|| 
-|ESC@4Z|文字サイズを小(4x8)に設定し、背景を含め画面をクリアします。受信データも削除します。|| 
-|ESC@5Z|文字サイズを中(5x12)に設定し、背景を含め画面をクリアします。受信データも削除します。|| 
-|ESC@6Z|文字サイズを大(8x16)に設定し、背景を含め画面をクリアします。受信データも削除します。 [初期値]|| 
-|ESC@10Z|ボーレートを9600 に設定 [初期値]|| 
-|ESC@11Z|ボーレートを14400 に設定|| 
-|ESC@12Z|ボーレートを19200 に設定|| 
-|ESC@13Z|ボーレートを38400 に設定|| 
-|ESC@14Z|ボーレートを57600 に設定|| 
-|ESC@15Z|ボーレートを115200 に設定 (大量のデータを受信した場合に、データの取りこぼしが発生する可能性があります。)|| 
-|ESC@20Z|画面右端にカーソルがある場合の、自動的な改行動作を有効とします。[初期値]|| 
-|ESC@21Z|画面右端にカーソルがある場合の、自動的な改行動作を無効としま。CR、LF、FF によって、改行動作が有効となります。改行無効中は画面右端にカーソルがある場合に文字は追加されませんが、エスケープシーケンスや制御コードによるカーソルの移動または文字の削除を伴う動作があった後は、カーソル位置への文字の追加が有効となります。画面外にはみ出た文字については、保存されません。|| 
-|ESC@22Z|最下段右端にカーソルがある場合の、自動的なスクロール動作を有効とします。[初期値]|| 
-|ESC@23Z|最下段右端にカーソルがある場合、次の表示位置が最上段の左端に設定されます。(スクロールせず、文字が回りこむ動作をします。)|| 
-|ESC@30Z|背景表示用バッファを0 に設定します。|| 
-|ESC@31Z|背景表示用バッファを1 に設定します。|| 
-|ESC@32Z|背景表示用バッファを2 に設定します。|| 
-|ESC@33Z|背景表示用バッファを3 に設定します。|| 
-|ESC@40Z|LF のみでCR+LF の動作を行います。|| 
-|ESC@41Z|LF は規定の動作を行います。 [初期値]|| 
-|ESC@42Z|CR のみでCR+LF の動作を行います。|| 
-|ESC@43Z|CR は規定の動作を行います。 [初期値]|| 
-|ESC@44Z|DEL でカーソル位置の文字を削除し、カーソル右側の文字を削除文字サイズ分左に詰めます。|| 
-|ESC@45Z|DEL で削除を行いません。(カーソル右移動のみ)|| 
-|ESC@46Z|DEL は規定の動作を行います。[初期値]|| 
-|ESC@48Z|BS で削除を行いません。(カーソル左移動のみ)|| 
-|ESC@49Z|BS は規定の動作を行います。 [初期値]|| 
-|ESC@50Z|バー無し表示 (全角スペース挿入)|| 
-|ESC@51Z|縦方向バー1表示|| 
-|ESC@52Z|縦方向バー2表示|| 
-|ESC@53Z|縦方向バー3表示|| 
-|ESC@54Z|縦方向バー4表示|| 
-|ESC@55Z|縦方向バー5表示|| 
-|ESC@56Z|縦方向バー6表示|| 
-|ESC@57Z|縦方向バー7表示|| 
-|ESC@58Z|縦方向バーMAX表示|| 
-|ESC@60Z|バー無し表示 (全角スペース挿入)|| 
-|ESC@61Z|横方向バー1表示|| 
-|ESC@62Z|横方向バー2表示|| 
-|ESC@63Z|横方向バー3表示|| 
-|ESC@64Z|横方向バー4表示|| 
-|ESC@65Z|横方向バー5表示|| 
-|ESC@66Z|横方向バー6表示|| 
-|ESC@67Z|横方向バー7表示|| 
-|ESC@68Z|横方向バーMAX表示|| 
-|ESC@0;(n1);(n2);(n3);(n4);(n5);(n6)z&br;ES​C@0z|四角形の単色データを背景に表示します。&br;(n1):設定バッファ(0-3) (n2):四角形幅 (n3):四角形高さ (n4):表示位置X 座標(n5):表示位置Y 座標 (n6):カラーデータ(RGB555 形式10 進)&br;初期値 :n1=0,n2=320,n3=240,n4=0,n5=0,n6=32768(透過)&br;320×240 の表示エリアからはみ出るデータに関しては、無視されます。また、設定値が範囲外の場合は無効となります。&br;(例1) 背景バッファ0 の画面全体を白で塗りつぶすESC@0;0;320;240;0;0;32767z&br;(例2) 背景バッファ1 の座標(80,60)から(100,100)のサイズを青で塗りつぶすESC@0;1;100;100;80;60;31z|| 
-|ESC@2;(n1);(n2);(n3);(n4);(n5);(n6)z|(x​0,y0)-(x1,y1)間にラインを表示します。&br;(n1):設定バッファ(0-3) (n2):x0 座標 (n3):y0 座標 (n4):x1 座標(n5):y1 座標 (n6):カラーデータ(RGB555 形式:10 進)&br;X 座標は0-319、Y 座標は0-239 の値を設定して下さい。|| 
- 
-***画像データを背景に表示する [#tdb49d08] 
- 
-まず、以下のエスケープシーケンスにて、画像転送モードに切り替えます。 
- 
-ESC@1;(n1);(n2);(n3);(n4);(n5)z~ 
-(n1): 設定バッファ(0-3)~ 
-(n2): 転送画像幅(1-320)~ 
-(n3): 転送画像高さ(1-240)~ 
-(n4): 画像表示位置X 座標(0-319)~ 
-(n5): 画像表示位置Y 座標(0-239) 
- 
-上記のエスケープシーケンスが正しく解釈された場合、”START¥r¥n”という文字列が返信されるので、その文字列を確認後、(n1)及び(n2)に設定した画像の大きさで、画像左上のデータからX方向に順に転送を行います。 
- 
-転送する画像データはRGB555形式です。 
-|色|2進数||||16進数| 
-|^|1:黒表示| R | G | B |^| 
-|白|0|11111|11111|11111|0x7FFF| 
-|赤|0|11111|00000|00000|0x7C00| 
-|黒|1|xxxxx|xxxxx|xxxxx|-| 
-※xは0、1どちらでも可 
- 
-最上位ビットが1 の場合は、以下のビットにかかわらず黒が表示されます。 
-正常終了すると、”END¥r¥n”という文字列が返信されます。 
-その後、自動的に通常モードに復帰します。 
- 
-表示エリアをはみ出すデータに関しては、自動的に切り捨てられます。 


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom