02.M5PaperS3で日本語テスト


02.M5PaperS3で日本語テスト

説明

今までのLovyanGFXとほぼ同じです。違いは最初に、
#include <epdiy.h> // 電子ペーパードライバー
を付け、今まで通りに書きますがこのままでは表示せず、表示させる時に
display.display(); // EPD側メモリのデータをパネルに表示
を追加します。

スケッチ


// 日本語表示テスト
#include <epdiy.h>     // 電子ペーパードライバー
#include <M5GFX.h>     // M5Stack用グラフィックライブラリ
static M5GFX display;  // M5GFXのインスタンスを作成
uint16_t i = 1;        // 表示数カウント

void SetFont() {                                  // Font等初期化関数
  display.init();                                 // パネルの初期化
  display.startWrite();                           // バッファを効率的に使用
  if (display.isEPD()) {                          // e-Paper displayなら
    display.setEpdMode(epd_mode_t::epd_fastest);  // 描画速いが、低品質に設定
  }
  if (display.width() < display.height()) {          // 幅より高さが大きければ
    display.setRotation(display.getRotation() ^ 1);  // 横長に回転する
  }
  display.fillScreen(TFT_BLACK);                // 全画面黒
  display.setFont(&fonts::lgfxJapanGothic_32);  // 固定幅ゴシック体 8,12,16,20,24,28,32,36,40
  display.setTextColor(TFT_WHITE, TFT_BLACK);   // (白字,黒地)
  display.setTextSize(1);                       // 文字サイズの倍数 1-7
  display.setTextWrap(true, true);              // 自動折返し(横,縦)
}

void setup() {
  SetFont();                // Font等初期化関数へ
  display.setCursor(0, 0);  // カーソル位置
}
void loop() {
  display.printf("(%d)日本語文字の固定幅ゴシック体で表示します。", i);  // 文字列表示
  display.display();                                                    // EPD側メモリのデータをパネルに表示
  i++;                                                                  // iに1加算
  delay(2000);                                                          // 2秒待つ
}
* flash memory(最大1.3MB)は、スケッチが67%使用。RAM(最大327kB)は、global変数が6%を使用、local変数で307kB使用可能。(1000byte=1kbyteで計算。パーテーションはDefaltです)