PICLCD

秋月電子のPICLCDキットを制御するクラス。

クラスメソッド:

PICLCD.new(devfile = '/dev/cuaa0', autoflush = true, wait_echoback = true)
PICLCD.open(devfile = '/dev/cuaa0', autoflush = true, wait_echoback = true)
PICLCD.open(devfile = '/dev/cuaa0', autoflush = true, wait_echoback = true) {|piclcd| ... }

devname で指定されるファイルに対応したシリアルポートを開き、 PICLCD オブジェクトを返します。

autoflush が true の場合は、各出力メソッドを実行した際に自動的に flush を行います。 wait_echoback が true の場合は、1バイト出力するごとにPICLCDからのエコーバックを待ちます。

open() にブロックを指定した場合は、PICLCDオブジェクトが与えられ、実行されます。 ブロックの実行が終了するとファイルを自動的に閉じ、ブロックの実行結果を返します。

メソッド:

close
ポートを閉じます。以後、このオブジェクトに対して出力を行うことはできません。
print(arg)
引数を to_s によって文字列化し、ポートに出力します。
putc(arg)
引数を1バイト分ポートに出力します。
flush
出力ポートのバッファをフラッシュします。

PICLCD制御メソッド

back
カーソルの直前の文字を削除します。
clear
画面をクリアします。カーソルはホーム位置に戻ります。
setlcdsize(width, height)
液晶モジュールのサイズを設定します。
move(x, y)
カーソル位置を指定位置に移動します。
newline
改行します。
dump
キットのEEPROMデータ(64バイト分)を返します。

行単位バッファ機能

setbufsize(width, height)
行単位バッファのサイズを、指定された幅・高さに設定します。
setbuf(arg, row, fill_with_space = false)

arg を to_s によって文字列化し、バッファ中の row 番目の行に書き込みます。 arg が setbufsize で設定された幅より長い場合は、切り捨てられます。

fill_with_space が true の場合は、arg の長さがバッファの長さに満たない部分を 空白文字で埋めます。

バッファに書き込んだ内容は、update を実行するまでポートに出力されません。

update(clear = true)

行単位バッファの内容をポートに出力します。

clear が true の場合は、バッファの内容を出力する前に clear を実行します。

定数

OP_BACKSPACE
OP_CLEAR
OP_SETSIZE
OP_SETTITLE
OP_MOVE
OP_NEWLINE
OP_COMMAND
OP_DUMP
OP_WRITE_RA
OP_WRITE_RB
OP_READ_RA
OP_READ_RB
OP_SETTRIS_RA
OP_SETTRIS_RB
液晶キットの特殊コードです。