port | ポート番号 |
*data | ピクセルデータアドレス |
flag | フラグ |
PDD_LCDERR_OK | 成功 |
PDD_LCDERR_NO_LCD | ビジュアルメモリが接続されていない |
PDD_LCDERR_BUSY | ビジュアルメモリはアクセス中 |
解像度 | 横48x縦32ピクセル |
階調数 | 2階調(モノクロ) |
引数 portには次の値を指定します。
PDD_PORT_A1 | ポートAの拡張ソケット1 |
PDD_PORT_A2 | ポートAの拡張ソケット2 |
PDD_PORT_B1 | ポートBの拡張ソケット1 |
PDD_PORT_B2 | ポートBの拡張ソケット2 |
PDD_PORT_C1 | ポートCの拡張ソケット1 |
PDD_PORT_C2 | ポートCの拡張ソケット2 |
PDD_PORT_D1 | ポートDの拡張ソケット1 |
PDD_PORT_D2 | ポートDの拡張ソケット2 |
引数 dataに指定するピクセルデータ形式は、ソフトウェアで取り扱いやすいように1ピクセルを8ビット(1byte)で 表現します。下位4ビットで階調を表現しますが、このライブラリではビット3のみを参照します。
白(液晶のベース色)にするピクセルにはビット3を0にしたデータ( 0x00、0x07等) 、
黒にするピクセルにはビット3を1にしたデータ( 0x0f、0x08等)を格納してください。
ピクセルデータは液晶画面全体では48x32=1536バイトのデータとなります。 ピクセルデータは左から右、上から下に連続して格納します。
以下は、ピクセルデータのメモリイメージの例です。
0x8C100000 | ( 0, 0 ) | ( 1, 0 ) | ( 2, 0 ) | ... | ( 47, 0 ) |
0x8C100030 | ( 0, 1 ) | ( 1, 1 ) | ( 2, 1 ) | ... | ( 47, 1 ) |
: | : | : | : | ||
0x8C1005D0 | ( 0, 31 ) | ( 1, 31 ) | ( 2, 31 ) | ... | ( 47, 31 ) |
ソフトウェアでの記述には以下のような方法を用いることができます。
const Uint8 cgdata[48 * 32] = {
0x00, 0x00, 0x0f, 0x0f, ...
...
};
引数 flagには次の値を指定します。
PDD_LCD_FLAG_NOFLIP | データをそのまま表示 |
PDD_LCD_FLAG_HFLIP | 左右反転して表示 |
PDD_LCD_FLAG_VFLIP | 上下反転して表示 |
PDD_LCD_FLAG_HVFLIP | 上下左右反転して表示 |
const Uint8 cgdata[48 * 32] = { 0x00, 0xff, ... : }; ret = pdVmsLcdWrite(PDD_PORT_A1, cgdata, PDD_LCD_HVFLIP); if (ret != PDD_LCDERR_OK) { /* 表示できなかった */ }