このページでは言語に関係ない IchigoLatte ファームウェア共通仕様を記載しています。
言語別で異なる場合、JS=JavaScript・R=Ruby・F=FORTH・P=Python となっています。
表の項目「対応」はこの項目が対応されているファームウェアのバージョンです。
記載がない場合は公開された初版のファームウェア IchigoLatte 0.3 から最新版まで対応しています。
IchigoCake JavaScript は W 版(W が付いたバージョン)になります。
IchigoDake の D 版(D が付いたバージョン)はこのページでの区別はありません。
電源を入れ、上の画面になれば正常に起動できています。
「IchigoLatte (バージョン)」(JavaScript の初期バージョン)または「IchigoLatte (言語) (バージョン)」表記です。
IchigoCake JavaScript はバージョンに W、IchigoDake・DakeJacket 版はバージョンに D が付いています。
IchigoLatte 0.8(JavaScript)より本体ボタン BTN を押すとシリアルの入出力とビデオ出力を切り替えます。
(シリアル→ビデオも本体ボタンで変更可能になりました)
他言語版は初版から対応しています。
通信速度は 115200bps 固定、データ長 8 ビット、パリティなし、ストップビット 1 ビット、
ローカルエコー ON、改行コード LF です。
動作がおかしい場合は行送信機能で送出して下さい。
現在のところシリアルの動作で vi は使用できません。代わりに cat uart > . を用いてプログラムを転送して下さい。
シェル環境です。起動した時も lash になっています。bash から名前がきているようです。
lash では次のコマンドを使用できます。存在しないコマンドを入力すると、使用できるコマンドが表示されます。
背景の色を変えているのは W 版(含 IchigoCake JavaScript)でのコマンド動作です。
コマンド | 対応 (言語) | 解説 |
cat 元 [> 先] | プログラムを出力します。先 を省略した場合は画面出力です。 | |
echo 内容 [> 先] | 内容 を出力します。先 を省略した場合は画面出力です。 | |
ls |
0.9〜 (JS) 全 (R・F・P) |
EEPROM の中身を一覧します。プログラム先頭に // プログラム名 を入れるのがおすすめ。 |
ls [.|@] | 1.1.5W~(JS) |
W 版(含 IchigoCake JS)で ls のみの場合は ls . と同じで本体の中身を一覧します。 |
ms (JavaScript) nuby (Ruby) ts (FORTH) ny (Python) |
~0.5 (JS) |
インタラクティブモード(対話モード)に移ります。 |
ms . (JavaScript) nuby . (Ruby) ts . (FORTH) ny (Python) |
0.6〜 (JS) 全 (R・F・P) |
プログラムを実行します。 |
vi [@番号] | プログラムを編集します。1.1.1 よりプログラム番号指定で EEPROM の中身を編集できます。 | |
skl 配列 |
type R のみ
0.5.1~ (F) |
キーボード配列を変更します。配列は次の 2 文字です。 |
video モード |
type R のみ 0.9~ (JS) 0.7~ (FORTH) 0.5~ (P・R) |
表示モードを変更します。モードは IchigoJam BASIC 共通です。 |
cat の 元・先、echo の先は次の指定です。Ruby・FORTH・Python は W 版(.[番号])を除き、初版から対応しています。
入出力 | 対応 (言語) | 解説 |
. | 0.4〜 (JS) | IchigoLatte 本体 |
.[番号] | 1.1.5W~ (JS) |
IchigoLatte 本体、プログラム番号は .0~.3(56k)・.0~.7(64k)・ .0~.1(type R 旧バージョン)・.0~.15(type R 新バージョン)です。. のみは .0 |
uart | 0.4〜 (JS) | シリアル。通常 USB-シリアルモジュール。MixJuice が含まれます。 |
@番号 | 0.9〜 (JS) | EEPROM。プログラム番号は @0〜@63 です。(1024k の場合) |
IchigoCake JavaScript は 56k 仕様の LPC1114 なので、プログラム番号は .0~.3 になります。
type R 新バージョンは 20211006 以降のバージョンです。(JS 0.9.0~、Ruby 0.5.0~、FORTH 0.7.0~、Python 0.5.0~)
いくつか例をあげます。
テキストエディタ。プログラムの編集に用います。実際 vi というコマンド名のエディタが使われます。
Esc キーで vi を終了します。この時プログラムは保存されます。電源を切っても保存されています。
IchigoLatte 0.8(JavaScript)より Ctrl+D で終了することで保存されずに終了するようになりました。
IchigoLatte 1.1.1(JavaScript)より vi @0 などとして EEPROM の中身を直接参照し、編集できるようになりました。
Ruby・FORTH・Python はここまでの機能に初版から対応しています。
言語によって実行環境のコマンド名が異なります。
ここでは JavaScript の ms で紹介しますが、コマンド名以外は他言語でも共通です。
lash より ms . (javaScript は IchigoLatte 0.6 より。IchigoLatte 0.5 以前は ms )でプログラムを実行します。
lash の画面に続けて出力されます。
IchigoCake JavaScript は ms .[プログラム番号] で任意のプログラムを実行可能です。
Esc キーでプログラムの動作を中断する事が可能です。
IchigoLatte 0.6(JavaScript)より ms とするとインタラクディブモード(対話モード)になります。
Ruby・FORTH・Python は初版から対応しています。
ms> となるので、直接コマンドを入れて下さい。そのコマンドをすぐに実行します。ana なども使用できます。
IchigoJam のダイレクトモードみたいな使用が可能です。Esc キーで lash に戻ります。
バージョンによって入っているキャラクターが異なります。
現在は 32~255 が定義されています。IchigoJam BASIC に近い定義になっている事が分かります。
0~31 はバージョン・環境で異なる表示になるため、ここは使用しないで下さい。
IchigoLatte 1.0.0 で 32~255 のキャラクターが定まっています。
一方 1 にあった ▉ は削除されました。143(0x8f)を使用して下さい。
IchigoLatte FORTH も 32~255 は上記と同じキャラクターになっていますが、プログラムでは数字のみが出力できます。
JavaScript 版の chr() 追加は IchigoLatte 0.9 からなので、IchigoLatte 0.8 以前の 160~255 は Alt を押しながら入力します。
また、cat uart > . でコードを入れたファイルを転送し、vi で参照する事も可能です。
(0~31・127 はコントロールコードになるので、外してあります)
16 進数 0x00~0xFF での出力です。
16 進数は言語に関係なく 0x を頭に付けます。
右は IchigoLatte 1.1 の場合で、0x00~0x1F はバージョンで違いがあります。
そのため、0x00~0x1F の使用は実用的ではなく、
0x20~0xFF(除 0x7F)がキャラクターとして使える範囲となります。
IchigoLatte ではどの言語 BASIC の HEX に該当する命令がありません。
そのため 16 進数を表示させたい場合は
桁毎にキャラクターコードへ変換して出力する処理が必要です。
PanCake のテキストコマンドは 16 進数で指定する必要があるため、
変数の値を入れる場合はバイナリーコマンドが実用的になります。
そこで IchigoCake JavaScript では PanCake 専用コマンドを用意する事で
容易に PanCake を操作できるようになっています。
SkyBerryJAM は 栃木県立栃木工業高等学校 が管理する登録商標であり、
SkyBerryJAM は 栃木県立栃木工業高等学校 の商標です。
Raspberry Pi は
Raspberry Pi 財団 の登録商標です。
Raspberry Pi is a registered trademark or
trademark of
the Raspberry Pi Foundation.
"RISC-V" の商品名は RISC-Vインターナショナル が管理する登録商標です。
The “RISC-V” trade name is a registered trade mark of
RISC-V International.