Skip to content

Latest commit

 

History

History
67 lines (51 loc) · 4.16 KB

lpm013m126a.md

File metadata and controls

67 lines (51 loc) · 4.16 KB

LPM013M126A ディスプレイドライバ

Copyright 2017 Moddable Tech, Inc.
改訂: 2017年12月29日

LPM013M126A JDI (Japan Display Inc. Group) メモリディスプレイコントローラは、3ビット/ピクセルのディスプレイを動作します。このコントローラは、赤、緑、青の各チャンネルに1ビットの色情報を許可し、合計で8色を表示できます。

プロジェクトに LPM013M126A を追加する

プロジェクトにLPM013M126Aドライバを追加するには、そのマニフェストをインクルードします:

"include": [
	/* other includes here */
	"$(MODULES)/drivers/lpm013m126a/manifest.json"
],

CommodettoまたはPiuを使用する場合、マニフェストの config オブジェクトの screen プロパティを lpm013m126a に設定して、LPM013M126Aをデフォルトのディスプレイドライバにします。タッチ入力がないため、タッチドライバ名を空の文字列に設定して無効にします。

"config": {
	"screen": "lpm013m126a",
	"touch": ""
},

ピクセルフォーマット

LPM013M126Aドライバは入力として8ビットカラーのピクセルを必要とします。mcconfig を使用してビルドする場合、コマンドラインでピクセルフォーマットを rgb332 に設定します:

mcconfig -m -p esp -f rgb332

定義

以下のディザーおよびSPIセクションで説明されているものを除いて、マニフェストには固有のdefinesはありません。

ディザー

LPM013M126Aドライバはオプションのディザリングを実装しています。ディザリングは、より多くの色レベルの近似を提供します。ディザリングを有効にすると、約380バイトの追加RAMを使用し、レンダリングが遅くなります。ディザリングが特定のアプリケーションに最適かどうかは、描画内容と必要なフレームレートによります。ディザリングはデフォルトでは無効です。ディザリングを有効にするには、マニフェストのdefinesセクションでditherプロパティをtrueに設定します。

"defines": {
	"lpm013m126a": {
		/* other properties here */
		"dither": true
	}
}

ドライバのディザリング実装は、一度に8行のピクセルで動作します。したがって、Pocoは8ピクセルのグループでレンダリングするように設定する必要があります。これを行うには、コンストラクタに渡される辞書のpixelsプロパティをディスプレイの幅に8を掛けた値に設定します。Piuを使用する場合も、pixelsプロパティを設定すると、それがPocoに伝播されます。以下の例では、幅176ピクセルのディスプレイに対してピクセルが8行に設定されています。

new Application(null, {displayListLength: 4096,
	touchCount: 0, pixels: 176 * 8 });

SPIの設定

definesオブジェクトにはspi_portCSピン番号が含まれている必要があります。cs_portプロパティが提供されていない場合、デフォルトでNULLになります。

"defines": {
	"lpm013m126a": {
		/* other properties here */
		"cs_pin": 4,
		"spi_port": "#HSPI"
	}
}

hzプロパティが存在する場合、SPIバスの速度を指定します。デフォルト値は2,500,000 Hzで、これはLPM013M126Aがサポートする最大SPI速度に近い値です。

描画

LPM013M126Aドライバは常にフルスキャンラインを更新しますが、任意のスキャンラインを更新することもできます。これにより、行単位の部分的な更新が可能になります。Piuはこれを自動的に処理するため、Piuを使用するスクリプトはこれを考慮する必要はありません。Pocoを使用するスクリプトは、poco.begin()を呼び出す際にxパラメータがゼロであり、widthパラメータがpoco.widthと等しいことを確認する必要があります。