だいぶ前に買ったのを放置してたので動かした。なぜかSDカードコネクタとかついてる。最初は 5V インターフェイスでレギュレータを使うようになっているが、ジャンパで 3.3V にすることができる。
「Adafruit_ST7735」という名前のライブラリがいくらか公開されているので、それを参考にちょっと書きかえた。ST7735 シリーズは細かい違いがたくさんあるようでなかなか難しい。
このライブラリは setRotation するときに MADCTL を発行するが、RGB と BGR の選択もコマンドで設定を行うため、setRotation をすると色が反転するみたいなことが起きて困った。
基本的には setAddrWindow して更新範囲を指定して pushColor して更新する。
tft.setAddrWindow(offsetx, offsety, offsetx + width - 1, offsety + height - 1); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { usbserial.read(2, buf); uint16_t c = (buf[0] << 8) | buf[1]; tft.pushColor(c); } }