ruby4ij

Ruby for IchigoJam

ruby4ij(RUby for IchigoJam)は Ruby でプログラムを開発できます。

Ruby は IchigoLatte Ruby も存在していますが、
ruby4ij は Windows・macOS で mruby を用いてマシン語へ変換し、IchigoJam の転送まで行います。

IchigoJam 本体のプログラム番号 0~3 をプログラム+Ruby VM で使用します。

 



ダウンロード・インストールなど

次の環境が必要になります。

 

Ruby for IchigoJam (ruby4ij)

GNU Embedded Toolchain for Arm

使用する OS の開発環境

Windows の場合は Visual Studio が必要です。Visual Studio 2019 は Community 版が無料ダウンロードできます。

 

ダウンロード | Visual Studio 2019

 

make

ruby4ij では make を使用しているので、インストールが必要です。OS によっては開発環境に含まれています。

 

Windows では別途インストールが必要な場合があります。存在していない場合は次からダウンロードして下さい。

 

Make for Windows

 

Bison

Windows では mruby のインストール時に必要です。

 

Bison for Windows

 

Ruby

オブジェクト指向スクリプト言語 Ruby

 

Windows では RubyInstaller をインストールして下さい。

 

Downloads | RubyInstaller

 

mruby

mruby/mruby | GitHub

 

インストールのためにはビルドが必要になります。

 

lpc21isp

福野さんが公開している -sector オプションが追加されたバージョンが必要です。通常公開では動作に問題が発生します。

 

taisukef/lpc21isp | GitHub

 

ソースで公開されているため、ビルドが必要になります。

 

IchigoJam BASIC を入れた IchigoJam

IchigoJam BASIC 1.4.0b9 以降(正式版 1.4.0 以降)となります。古い場合は更新して下さい。

 

USB-シリアルモジュール

lpc21isp を用いてプログラムと Ruby VM を転送するので、USB-シリアルモジュールが必要です。

周辺機器/パソコンと接続 を参照して下さい。


mruby

ruby4ij は mruby を用います。mruby 特有の情報はこちらを参照して下さい。

 

https://github.com/mruby/mruby/tree/master/doc


ライブラリ

IchigoJam 特有のライブラリがいくつか存在します。

 

cls

画面をクリアします。BASIC の CLS に同じです。

 

lc x,y

カーソル位置を x,y へ変更します。BASIC の LC(LOCATE)に同じです。

 

scr x,y

座標 x,y のキャラクターコードを返します。BASIC の SCR(VPEEK)に同じです。

 

inkey

入力されているキャラクターコードを返します。BASIC の INKEY に同じです。

 

rnd max

0 以上 max 未満の乱数を得ます。BASIC の RND に同じです。

 

wait time

time(1/60 秒)の間待ちます。BASIC の WAIT に同じです。

 

p chr

chr の 1 文字を表示します。

 

print str

文字列 str を表示します。

 

クラスの拡張

クラスの拡張は src 内の main.c から行えます。.c とあるとおり、C 言語(c4ij)の形式です。

 

src/main.c


Makefile

make の前に Makefile を編集する必要があります。

 

RUBY_SRC

ビルドを行う Ruby ソースファイルを指定します。

 

BAS2BIN

bas2bin がある場所。./bas2bin は macOS 向けファイルです。

Windows 実行ファイルが存在していないため、Visual Studio でビルドを要します。

bas2bin.exe を生成した後、拡張子のない bas2bin を削除するか、BAS2BIN 行を ./bas2bin.exe に変更して下さい。

 

LPC21ISP

lpc21isp がある場所。ruby4ij には含まれず、またソースしか公開されていないのでビルドが必要です。

Windows の場合、ドライブ名(C: または D: など)からの開始が可能です。

 

USBSERIAL

USB-シリアルモジュールのポート番号、デフォルトに入っているのは macOS の表記です。

Windows では代わりに com3 などと指定します。

 

その他

lpc21isp で処理が失敗する場合、$(LPC21ISP) ではじまる行の 115200 を 57600 に変更してみて下さい。


make

IchigoJam 本体のプログラム番号 0~3 を使用します。プログラムを入れている場合は予め他の場所へ保存して下さい。

USB-シリアルモジュールを接続し、ISP モード(ISP-GND 接続)で電源を入れます。

このまま macOS・Windows 側から make を実行して下さい。

Windows ではコマンドプロンプト・PowerShell だと echo がおかしく、エラーになります。
Makefile を変更するか、Git bash を使って下さい。

 

make write

Ruby VM を IchigoJam へインストールします。

すでにインストールしていて、他のプログラムを転送する場合は再度実行する必要ありません。

 

make mrbc

Ruby ソースをビルドし、IchigoJam へ転送します。

シリアルモジュールを外して普通に起動する事で自動起動するプログラムになっています。

 

注意

BASIC の状態へ戻す場合はプログラムを終了・中断した後、NEW し、

SAVE 0 から SAVE 3 を順に実行して下さい。

 

プログラムで中断・終了を考慮していない場合、プログラムを止める事ができません。
このままだとその IchigoJam では EEPROM などの他プログラムが実行できない事になります。

サンプルプログラムなど、終了するプログラムを再度転送するなどして普通に使う事ができます。