Copyright 2017 Moddable Tech, Inc.
改訂: 2017年12月29日
LPM013M126A JDI (Japan Display Inc. Group) メモリディスプレイコントローラは、3ビット/ピクセルのディスプレイを動作します。このコントローラは、赤、緑、青の各チャンネルに1ビットの色情報を許可し、合計で8色を表示できます。
プロジェクトに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 });
defines
オブジェクトにはspi_port
とCS
ピン番号が含まれている必要があります。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
と等しいことを確認する必要があります。