表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

14/22

14.jpegデコーダと組み合わせるときのLCDコントローラの設定

picocalcのLCDコントローラ ILI9488 (以下LCDC)のデータシートを眺めて設定すべきレジスタを特定する。


LCDCは、Memory Write コマンドに続くデータをLCDC内部のRAM(以下VRAM)に連続的に書き込む。

現行の displayドライバは、320x320ピクセル分のデータをひたすら転送する処理をやっている。

その処理を無効にして、勝手にデータを LCDC へ送ることにする。


前回の再掲

jpeg画像は画像を分割して圧縮しているので、展開するときは画像の一部が展開される構造。これを利用して、展開が済んだ部分からLCDコントローラに転送するという仕掛けだった。


実現するためのLCDCのコマンドは Column Address Set と Page Address Set の二つ

これで Memory Writeコマンドが送信するデータの画面上の位置(縦位置、横位置、縦サイズ、横サイズ)を指定できる。


これだけで一応画像は出た。しかもdisplay ドライバの文字表示は、4bit/pixelのモードのままなのでメモリも節約できる。

問題は、デコードしながらLCDCにデータを転送するせいで上から下に描画していくのが、なんとなく見えるのだ。性能実測で 100ms 弱。10fps だとそりゃ見えるよね。なんとも美しくない。


仮想的に2画面を作れれば解決なのだが、どうなることやら。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ