フォト
2025年4月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
無料ブログはココログ

« 豊四季 Tiny BASIC でOLEDとグラフィック液晶の対応 | トップページ | 注文していたスイッチが到着 »

2017年9月20日 (水)

グラフィック描画まわりの実装に苦戦

ここ数日、手がけている豊四季Tiny BASIC for ArduinoのOLED(SSD1309)利用
グラフィックスクロール処理の実装ではまっていました。

画面の向き(縦横の変更)を変えることが出来て、各画面の向きに応じて
画面の任意矩形領域の上下左右1ドット単位スクロールを行うというコマンドの実装です。

いきなりコーディングしていたのですが、上手く動かず。
それで、机上で図やなりやらを書いて、変換式を求めて再度実装すると
期待通りの動きが出来ました。

やはり、コーディング => 実行 => 修正の繰り返しの試行錯誤で「何となく動いた」ではなく
ちぇんとロジックと方式を検討してからコードを書かないとだめですね。効率的にも..

Dscn7032

具体的な数値の変換例から、抽象的な数式を求めて一般化しました。

とりあえず、GSCROLLコマンドが実装出来ました。


デモ動画では全画面スクロールですが、画面上の任意の矩形領域のスクロールも可能です。
あまり用途の無いコマンドですが、まあいいでしょう^^

OLEDだと、スクロールしても残像もなくっ切り表示ですね。
手持ちのモノラルグラフィック液晶はもう、使いたくなくなります。


動画の動作確認のプログラムはつぎのような感じです。

10 'GSCROLL TEST
20 FOR R=0 TO 3
30 SCREEN 1,R
40 FOR D=0 TO 3
50 GOSUB "@DISP"
60 FOR I=1 TO 8
70 GSCROLL 0,0,GW-1,GH-1,D
80 WAIT 200
90 NEXT I
100 NEXT D
110 NEXT R
120 SCREEN 1
130 END
140 "@DISP"
150 CLS:GPRINT 10,10,"GSCROLL"
160 GPRINT 0,0,"A"
170 GPRINT GW-7,0,"B"
180 GPRINT 0,GH-9,"C"
190 GPRINT GW-7,GH-9,"D"
200 RETURN

« 豊四季 Tiny BASIC でOLEDとグラフィック液晶の対応 | トップページ | 注文していたスイッチが到着 »

日記・コラム・つぶやき」カテゴリの記事

arduino」カテゴリの記事

表示器制御関連」カテゴリの記事

ARM」カテゴリの記事

STM32」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: グラフィック描画まわりの実装に苦戦:

« 豊四季 Tiny BASIC でOLEDとグラフィック液晶の対応 | トップページ | 注文していたスイッチが到着 »