Sint32 pdVmsLcdWrite( port, data, flag )
Uint32 port
void *data
Uint32 flag
port ポート番号 data ピクセルデータのアドレス flag フラグ
PDD_LCDERR_OK 表示に成功 PDD_LCDERR_NO_LCD LCDデバイスが接続されていない PDD_LCDERR_BUSY LCDデバイスはアクセス中
LCDデバイスにビットマップのグラフィックを表示します。ポート番号portには次の値を指定します。
定義 意味 PDD_PORT_A1 コントロールポートAの拡張ソケット1 PDD_PORT_A2 コントロールポートAの拡張ソケット2 PDD_PORT_A3 コントロールポートAの拡張ソケット3 PDD_PORT_A4 コントロールポートAの拡張ソケット4 PDD_PORT_A5 コントロールポートAの拡張ソケット5 PDD_PORT_B1 コントロールポートBの拡張ソケット1 PDD_PORT_B2 コントロールポートBの拡張ソケット2 PDD_PORT_B3 コントロールポートBの拡張ソケット3 PDD_PORT_B4 コントロールポートBの拡張ソケット4 PDD_PORT_B5 コントロールポートBの拡張ソケット5 PDD_PORT_C1 コントロールポートCの拡張ソケット1 PDD_PORT_C2 コントロールポートCの拡張ソケット2 PDD_PORT_C3 コントロールポートCの拡張ソケット3 PDD_PORT_C4 コントロールポートCの拡張ソケット4 PDD_PORT_C5 コントロールポートCの拡張ソケット5 PDD_PORT_D1 コントロールポートDの拡張ソケット1 PDD_PORT_D2 コントロールポートDの拡張ソケット2 PDD_PORT_D3 コントロールポートDの拡張ソケット3 PDD_PORT_D4 コントロールポートDの拡張ソケット4 PDD_PORT_D5 コントロールポートDの拡張ソケット5
LCDデバイスのスペックは以下の通りです。
引数 dataに指定するピクセルデータ形式は、 この関数では、取り扱いやすいように1ピクセルを8ビット(1バイト)で表現します。
- 解像度:横48x縦32ピクセル
- 階調数:2階調(モノクロ)
下位4ビットで階調を表現しますが、このライブラリではビット3のみを参照します。
ピクセルデータは液晶画面全体では48x32=1536バイトのデータとなります。
- 白(液晶のベース色)にするピクセルにはビット3を0にしたデータ( 0x00、0x07等) 、
- 黒にするピクセルにはビット3を1にしたデータ( 0x0f、0x08等)を格納してください。
ピクセルデータは左から右、上から下に連続して格納します。 以下は、ピクセルデータのメモリイメージの例です。
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) { /* Display not possible */ }