以下のようなインターフェースを用いて簡単に使えます。
- インスタンスを生成する。ピン配置はヘッダファイルを見て下さい。
- SG12864A lcd(p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18);
- リセットする。
- lcd.reset();
- バッファをクリアする。
- lcd.bufferClear(reverse);
- バッファに線を描画する。
- lcd.bufferDrawLine(0, 0, SG12864A::PIXEL_X - 1, SG12864A::PIXEL_Y - 1);
- バッファに文字を描画する。
- lcd.bufferDrawString(1, 1, "This is a test #1.");
- バッファにチェックボックスを描画する。
- lcd.bufferDrawCheckbox(50, 50, 60, 60, true);
- バッファにプログレスバーを描画する。
- lcd.bufferDrawProgressbar(10, 10, 118, 20, min, max, val, true);
- バッファの内容を表示に反映させる。
- lcd.bufferPush();
このバッファがあることで
- 重ねて描画したい時にLCDからデータを読みなおさなくて良い。
- 描画指令毎にI/Oしなくて済む。
- ページ概念の追加などの拡張対応が可能。
ライブラリは Users » shintamainjp » Published programs » SG12864A に置きました。
何かの参考になれば幸いです。
現在のところハードウェアインターフェースの部分は抽象化していませんが、他のプラットフォームで使う際に再考したいと思います。
0 件のコメント:
コメントを投稿