display モジュールは、GR-PEACH 4.3inch LCD Shield
に搭載された液晶の制御を行います。
"4.3inch" - GR-PEACH 4.3inch LCD Shield画像の出力は、マイコンに搭載されたハードウェアリソース(VDC5)を用いてプログラムとは非同期に実行されます。
config {Object} LCDの設定type {string} 接続するLCDの種類。"4.3inch"のみ指定可能。必須項目です。callback {Function} コールバック関数err {Error|null} エラーオブジェクト(失敗のとき) または null(成功のとき)。lcd {Object} Lcdクラスのインスタンス (成功のとき)LCDディスプレイに接続します。処理は非同期で行われ、処理が完了または失敗すると、コールバック関数が呼び出されます。
注意: ハードウェアリソースを排他で使用するため、複数の
Lcdインスタンスを同時に使用することはできません。別のLCDに接続する場合は、先に生成されたインスタンスに対してclose()を実行してください。
var display = require('display');
var AlignedBuffer = require('aligned_buffer').AlignedBuffer;
var buf1 = new AlignedBuffer(480 * 272 * 2, 32);
var buf2 = new AlignedBuffer(480 * 272 * 2, 32);
display.openLCD({
type: '4.3inch'
}, function(err, lcd) {
if (err) {
/* display.openLCD 失敗... */
console.log(err);
return;
}
/* display.openLCD 成功... */
lcd.start(0, buf1, 'rgb565', function(err) {
if (err) {
/* lcd.start 失敗... */
console.log(err);
return;
}
/* lcd.start 成功... */
lcd.update(0, buf2, function(err) {
if (err) {
/* lcd.update 失敗... */
console.log(err);
return;
}
/* lcd.update 成功... */
lcd.stop(0, function(err) {
if (err) {
/* lcd.stop 失敗... */
console.log(err);
return;
}
/* lcd.stop 成功... */
lcd.close(function (err) {
if (err) {
/* lcd.close 失敗... */
console.log(err);
}
/* lcd.close 成功... */
});
});
});
});
});
config {Object} LCDの設定display.openLCD()の説明を参照。Lcdクラスのインスタンスdisplay.openLCD()の同期版です。処理は同期で行われ、処理が完了するとLcdクラスのインスタンスを返却します。失敗すると例外をスローします。
var display = require('display');
var AlignedBuffer = require('aligned_buffer').AlignedBuffer;
var buf1 = new AlignedBuffer(480 * 272 * 2, 32);
var buf2 = new AlignedBuffer(480 * 272 * 2, 32);
try {
var lcd = display.openLCDSync({ type: '4.3inch' });
/* display.openLCDSync 成功... */
lcd.startSync(0, buf1, 'rgb565');
/* lcd.startSync 成功... */
lcd.updateSync(0, buf2);
/* lcd.updateSync 成功... */
lcd.stopSync(0);
/* lcd.stopSync 成功... */
lcd.closeSync();
/* lcd.closeSync 成功... */
} catch (err) {
console.log(err);
}
LCDの制御、画像データの出力を行うクラスです。
display.openLCD()のconfig.typeに指定した値が得られます。layer {number} LCDのレイヤID。0~3の値。buf {AlignedBuffer} LCD出力するバッファ。32バイトのアライメントである必要があります。format {string} 入力画像(フレームバッファ)に用いるピクセルフォーマット。"ycbcr422","rgb565","rgb888","argb8888","argb4444"のいずれかが指定可能。必須項目です。callback {Function} コールバック関数err {Error|null} エラーオブジェクト(失敗のとき) または null(成功のとき)。画像の出力を開始します。処理は非同期で行われ、処理が完了または失敗すると、コールバック関数が呼び出されます。
layer {number} LCDのレイヤID。0~3の値。buf {AlignedBuffer} LCD出力するバッファ。32バイトのアライメントである必要があります。format {string} 入力画像(フレームバッファ)に用いるピクセルフォーマット。"ycbcr422","rgb565","rgb888","argb8888","argb4444"のいずれかが指定可能。必須項目です。lcd.start()の同期版です。処理は同期で行われ、処理が完了すると呼び出し元に戻ります。失敗すると例外をスローします。
layer {number} LCDのレイヤID。0~3の値。callback {Function} コールバック関数err {Error|null} エラーオブジェクト(失敗のとき) または null(成功のとき)。画像の出力を停止します。処理は非同期で行われ、処理が完了または失敗すると、コールバック関数が呼び出されます。
layer {number} LCDのレイヤID。0~3の値。lcd.stop()の同期版です。処理は同期で行われ、処理が完了すると呼び出し元に戻ります。失敗すると例外をスローします。
layer {number} LCDのレイヤID。0~3の値。buf {AlignedBuffer} LCD出力するバッファ。32バイトのアライメントである必要があります。callback {Function} コールバック関数err {Error|null} エラーオブジェクト(失敗のとき) または null(成功のとき)。LCDに表示するフレームバッファを更新(置き換え)します。
フレームバッファはlcd.start()のformatで指定したフォーマットである必要があります。
処理は非同期で行われ、処理が完了または失敗すると、コールバック関数が呼び出されます。
layer {number} LCDのレイヤID。0~3の値。buf {AlignedBuffer} LCD出力するバッファ。32バイトのアライメントである必要があります。lcd.update()の同期版です。処理は同期で行われ、処理が完了すると呼び出し元に戻ります。失敗すると例外をスローします。
callback {Function} コールバック関数err {Error|null} エラーオブジェクト(失敗のとき) または null(成功のとき)。画像出力に関するハードウェアリソースを解放します。lcd.start()により画像の出力が開始されている場合、この関数の内部で自動的にlcd.stop()が呼び出されて停止されます。処理は非同期で行われ、処理が完了または失敗すると、コールバック関数が呼び出されます。
注意: この関数を呼んだ後には、この
Lcdインスタンスに対していかなる操作も行えません。このとき各プロパティの返す値は未定義であり、各関数の呼び出しを行うとエラーが発生します。
lcd.close()の同期版です。処理は同期で行われ、処理が完了すると呼び出し元に戻ります。失敗すると例外をスローします。