「PIC32MM0064GPL028 + ST7735 でプログラム・メモリに置いた画像を表示させる。 – データの準備 –」
あるいは
「PIC32MM0064GPL028 + ST7735 でプログラム・メモリに置いた画像を表示させる。- データの準備GIMP編 –」
の続き。
ここからは PIC32MM0064GPL028 + ST7735 での作業だ。
というか、MPLAB X + MCC + XC32 での作業だけど。
1.44インチのカラー液晶のドライブICであるST7735のデータ・シートには以下のようにある。
そもそもフルカラーではなかったんだな。
用意したBMPファイルは、色数には限りがあるものの色データ的には3バイト分持っているので、
262k colors, RGB 6-6-6-bit input
ってやつにすればいいだろう。
そのまま送ればいいようにも思うし、2ビットは0にしなきゃいけないような気もする。
それに間のD8の1ってのもよくわからない。
D0~D7があって、さらにD8があるのだ。
とにかくこうやってみた。
表示できた。
Arduinoから移植した時の設定と変えたのは下に示した部分だけだ。
上に書いた、今回選んだ方式の display data formatsってやつに設定するコマンドだ。
この要領で画像を3枚持つとメモリが一杯になる。
ST7735方式のうち、ここで選んだものでデータを用意すると、
128 × 128 × 18 = 294912 bits = 36 KiB
用意したBMP画像は、
128 × 128 + 54 + 256 × 4 = 17462 bytes = 17KiB
なので、こちらの方がサイズは小さくて済む。
実際はCのデータ文に直すときにパレットのダミー・データは捨ててるので、さらに256バイトだけ小さい。
ST7735方式の一番データの少ない場合は、
128 × 128 × 12 = 196608 bits = 24576 bites = 24 KiB
となって、ここでやったBMPの減色方法よりサイズは大きくなる。
BMPファイルのもっとデータの少ない場合の16色では、
128 × 128 + 54 + 16 × 4 = 16502 bytes = 16KiB
となって、色的に悲しい割にサイズにお得感が全く無い。
結局、見た目的にパレット方式ってどうよ、ってことに尽きる気がする。
上に載せたように肌色の多いお姉ちゃん画像ならたぶんパレット方式の勝ちだろう。
プロジェクトのZIPパッケージをBOOTHで販売中
MPLAB X IDE Project Package ZIP File On Sale