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()
の同期版です。処理は同期で行われ、処理が完了すると呼び出し元に戻ります。失敗すると例外をスローします。