7735S」というバリエーションがあり、このうち7735Rと7735Sには縦スクロールの機能があります。MicroPython用のST7735ドライバモジュールに、この機能を追加実装してみました。コードは以下のGitHubリポジトリにアップロードしてあります。MicroPythonこの機能については、このリポジトリのIssuesに「ST7735ドライバをMicroPythonのFrameBufコンパチブルにしてはどうか」というコメントがあり、そこで教えていただきました。詳細については、以下のリンク先が参考になります。Compilerスクロール機能の概要は以下の図のようになります。この図はST7735SのマニュアルのP70に掲載されているものです。Area)で、画面上端からTFAピクセル分、画面下端からBFAピクセル分を「スクロールしない範囲」として指定します。Area)はループ状(両端がつながった状態)でスクロールします。162となっており、2ピクセルの非表示部分があります。非表示部分は可視部分の上と下にそれぞれ1ピクセルずつです。スクロール値は絶対値で指定します。このとき、スクロールによって液晶コントローラ内のフレームバッファ上のデータは更新されません。その代わり、下図のように液晶へ表示する際のフレームバッファの読み出し開始位置が変化します。図の左がフレームバッファの構成で、縦162ピクセルあり、上からTFAまでが非スクロール領域です。すると、表示は図の右のように、TFA領域のあとにADDR位置~BFA直前までのフレームバッファの内容が表示され、そのあとにTFA~ADDRのフレームバッファの内容が表示されます。フレームバッファの先頭と末尾1ピクセル分は表示されません。(この非表示領域の設定は、コマンド0x2Bで行うことができます。このドライバでは、初期化の際に設定しています。)TFAとBFAの指定はコマンド0x33、ADDRの指定はコマンド0x37で行います。addr)として定義しました。スクロールを指定するときに、上の図のADDRの値を直接指定すると、常にTFAの値を意識する必要があるため直感的ではありません。value)は別に用意しました。valueが0のときスクロール無しになり、valueが正なら上、負なら下へスクロールします(FrameBufferクラスのスクロール指定とはvalueの正負が逆になっています)。最後にESP32でのサンプルコードと結線を載せておきます。http://blog.boochow.com/wp-content/uploads/st7735-vscroll.mp4関連ESP8266/ESP32MicroPythonboochow楽しくやろう。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ホームESP8266/ESP32元マイコン少年が、調べたことや作ったものを気まぐれに紹介するブログです。(9)メタ情報ログイン投稿フィードコメントフィードWordPress.org楽しくやろう。元マイコン少年が、調べたことや作ったものを気まぐれに紹介するブログです。(9)メタ情報ログイン投稿フィードコメントフィードWordPress.org。