M5PaperのE-ink画面への表示はEPDドライバ経由で利用すると思いますが
結構ハマったので使用法を記載します。
(開発はPlatformIOが対象)
#Hello World
SampleのHello Worldは
M5EPD_Canvas canvas(&M5.EPD);
canvas.drawString("Hello World", 45, 350);
canvas.pushCanvas(0,0,UPDATE_MODE_DU4);
ですが、この後16階調のテストをしてハマりました。
次に記載する表示モードの指定が重要となります。
UPDATE_MODE_DU4は4階調モードなので16階調表示が出来ません。
#画面更新モード
EPDドライバには8種類の画面更新モードがあります
モード | ゴースト | 色モード | 更新速度 | 使用用途 |
---|---|---|---|---|
INIT | なし | なし | 2000ms | 表示初期化 |
GC16 | 超低 | 16 | 450ms | 16階調画像表示 |
GL16 | 中 | 16 | 450ms | 白背景の更新の少ない場合 |
DU4 | 中 | 4 | 120ms | 速度が必要なページめくり等 |
DU | 低 | 2 | 260ms | タッチ入力、メニュー選択 |
GLR16 | 低 | 16 | 450ms | 白背景のテキストの更新 |
GLD16 | 低 | 16 | 450ms | 白背景のテキスト及び画像の更新 |
A2 | 中 | 2 | 290ms | 高速な更新、フラッシュ無し |
NONE | - | - | キャッシュ転送のみ | - |
仕様書によるとINIT,GC16,GL16,DU4を通常使用すれば良いようです。 | ||||
以下に各モードの特徴を記載しておきます。 | ||||
##INIT (UPDATE_MODE_INIT) | ||||
この更新モードを使用すると画面が初期化されます。 |
##GC16 (UPDATE_MODE_GC16)
ゴースト:超低 更新速度:低
16階調の画像表示などを表示する場合に使用します。
画像表示ではこれを使うといいでしょう。
##GL16 (UPDATE_MODE_GL16)
ゴースト:中 更新速度:低
アンチエイリアシングされたテキスト等を16階調が必要だが白い背景の更新率の低い画面更新に使用。
画面フラッシュがすくニアがゴーストは中程度発生する
DU4 (UPDATE_MODE_DU4)
ゴースト:中 更新速度:高
更新速度が速く4階調が使用できます
色指定No. 1, 6, 11, 16が使用できます。
DU (UPDATE_MODE_DU)
ゴースト:低 更新速度:中
DUでの画面更新は中間色から白or黒への更新のみです。
画面ボタン選択時の色反転等に使用。
このモードで中間色の画面を更新すると表示されません。
##GLR16 (UPDATE_MODE_GLR16)
ゴースト:低 更新速度:低
白背景のテキストの更新に使用する。
##GLD16 (UPDATE_MODE_GLD16)
ゴースト:低 更新速度:低
白背景のテキスト及び画像の更新に使用する。
A2 (UPDATE_MODE_A2)
ゴースト:中 更新速度:中
画面フラッシュを行わないため高速な白黒アニメーションなどに使用できます。
16階調→白黒の遷移時にA2で白画面を挟むと高速でゴーストの少ない遷移が可能です。