Harucom で使える Ruby API のリファレンスです。

Harucom API

Harucom は画面描画やキーボード入力のためのライブラリを備えています。

DVI モジュール

DVI 出力の制御と画面描画のための低レベル API です。 テキストモード(106桁 x 37行)とグラフィックスモード(640x480 / 320x240)の 2つの表示モードがあります。

DVI.set_mode(DVI::GRAPHICS_MODE)
DVI::Graphics.fill_circle(160, 120, 50, 0xE0)
DVI::Graphics.commit

複雑な画面描画を行うにはP5 描画ライブラリ を使うと便利です。

P5 描画ライブラリ

Processingライクなインターフェースを提供する描画ライブラリです。 DVI::Graphics をラップして、塗りつぶし・線の色、座標変換、ブレンドモードなどを 扱いやすくまとめた API を提供します。

require "p5"
p5 = P5.new
p5.fill(p5.color(255, 0, 0))
p5.circle(160, 120, 50)
p5.commit

Keyboard

USB キーボードからの入力を扱う API です。 グローバル変数 $keyboard を通じてキー入力を取得できます。

key = $keyboard.read_char
case key
when Keyboard::CTRL_Q then break
when Keyboard::ENTER  then puts "Enter"
end

PicoRuby ライブラリ

Harucom は PicoRuby で動いています。

以下の PicoRuby ライブラリが使えます。 詳しい使い方は各リンク先の PicoRuby リファレンスを参照してください。

ファイルシステム

クラス 説明
File ファイルの読み書き
Dir ディレクトリの操作
File.open("/data.txt", "r") { |f| f.read(256) }
File.open("/data.txt", "w") { |f| f.write("hello") }
Dir.mkdir("/mydir")

データ形式

クラス 説明
JSON JSON の読み書き
YAML YAML の読み書き
Marshal Ruby オブジェクトのシリアライズ
Base64 Base64 エンコード・デコード
Base16 16進文字列の変換

ハードウェア・システム

クラス 説明
GPIO GPIO ピンの制御
Time 時刻の取得・操作
Watchdog ウォッチドッグタイマー
Math 数学関数

組み込みクラス

クラス 説明
String 文字列
Array 配列
Hash ハッシュ
Integer 整数
Float 浮動小数点数
Kernel putssleep などの基本メソッド

require

require "p5"   # $LOAD_PATH(デフォルト: ["/lib"])から検索