IchigoLatte に関する Q&A



使用できる IchigoJam に制限はありますか?

ありません。過去公開されている IchigoJam・互換機 はすべて使用可能です。

IC ソケットがなく CPU を基板に半田付けしている IchigoJam でも CPU のファームウェアを更新して問題なければ使用可能です。
当然この場合 IchigoJam BASIC と保存されていたプログラムはなくなります。
(IchigoJam BASIC はファームウェアを入れなおして戻す事は可能です。プログラムはこの場合でも復旧できません)

 

IchigoLatte は外部クリスタル必須です。初代プリント基板、ブレッドボードではクリスタルを付けて下さい。


電源を入れましたが起動しません

Ichigolatte は外部クリスタル必須です。付いていない場合は起動しません。(LED が点灯します)

初代プリント基板やブレッドボードなどを使用する場合は外部クリスタルを付けて下さい。

外部クリスタルが付いている IchigoJam で LED が点灯し起動しない場合、

クリスタル関連の端子が他の端子と接続しショートしているか、クリスタルが壊れている可能性があります。


モニタの表示が縦に流れてしまいます

Print Screen キーを押してみて下さい。
IchigoLatte はビデオ出力時の同期モードを 2 種類備えていて、Print Screen キーで切替できます。


I/O や UART の端子は IchigoJam BASIC と同じですか?

IchigoJam BASIC での割り当てに同一です。IchigoJam のピン配置ラベルがそのまま有効です。
IchigoJam のピン配置ラベルをそのまま使用しても構いませんが、区別できるような外見にしておくと良いでしょう。


どの位のプログラムが作成できますか?

2k バイト(2048 バイト)でプログラムを制作できる仕様になっています。

この文字数はインテントを付ける目的の空白や改行を含めます。

 

mem で空き容量が表示されますが、この容量をフルに使用するわけではありません。


IchigoJam BASIC の SAVE みたいに保存できないのですか?

vi から Esc で終了した時点で本体にプログラムは保存されます。

電源を切っても残っていて、後日電源を入れて続きの編集・実行も可能です。

 

IchigoLatte 0.9 より EEPROM に対応しています。IchigoJam BASIC と同じ接続で使用できます。

  • lash>cat . > @0 … プログラム番号 0 番へ保存
  • lash>cat @63 > . … プログラム番号 63 番から読み出し
  • lash>cat @0 …プログラム番号 0 番を表示

※ ms @0 という感じにはできません。

 

1024k EEPROM で @0〜@63 の 64 箇所です。(保存数は IchigoJam BASIC の半分)
運営者は 32k EEPROM での動作も確認できています。

実質 @0 と @1 と 2 箇所です。(@2〜@31 は @0・@1 に同じ)これが最小になります。

 

lash より ls でプログラムの一覧を表示できます。IchigoJam BASIC の FILES に似た感じです。

ls はプログラムの 1 行目を参照し、一覧表示しているため、1行目は // プログラム名 にしておくのがおすすめです。 


画面のサイズは?

横座標が 0〜31 の 32 文字、縦座標が 0〜23 の 24 文字です。

これは現在公開されている IchigoJam BASIC と同じです。

 

lc での座標指定も IchigoJam BASIC の LOCATE に同じで

座標 0,0 は左上となります。

 

右の画面は一の位が 0 または 5 で ■ となるようにした画面です。


プログラムを消したい場合は?

lash で echo > . として下さい。 


vi を入力したところ、カップマークが画面に表示されます

IchigoLatte プリント基板を入手して、はじめて vi を使用した時に

右画面のようにカップが一覧に表示される場合があります。

 

これは CPU の初期状態が CHR(255) になっていて、

ファームウェアではプログラムを残すためにプログラム領域を上書きしていないため

CHR(255) のマークであるカップマークで表示されるためです。

 

Esc キーを押して lash へ戻り、echo > . を入力して下さい。 

これでプログラム領域が初期化され、表示されなくなります。


パソコンとの転送を行えますか?

USB-シリアルモジュールを使用してパソコンとのプログラム転送が可能です。

ただし、IchigoJam BASIC とは仕様が異なります。

 

パソコンから IchigoLatte へプログラムを転送する場合、 

IchigoLatte では lash より cat uart > . とします。
その後パソコンからプログラムが入っているテキストファイルを送信して下さい。

これで IchigoLatte にプログラムが転送されます。

cat .vi でプログラムを確認して下さい。

 

IchigoLatte からパソコンへプログラムを転送する場合、

IchigoLatte から lash より cat . > uart とします。

パソコンにプログラムが出力されるので、これをコピーし、

テキストエディタに貼り付けて保存して下さい。
(右画像は Linux より CuteCom でプログラムを受信した例)

 

テキストエディタで作成する場合、改行コードは LF にして下さい。

CR が含まれると IchigoLatte では ■ の文字になってしまいます。


IchigoLatte から PanCake を操作できますか?

IchigoLatte のプログラムから PanCake を操作する場合は、uart で PanCake のコマンドを送出して下さい。

LF の改行コードを PanCake は認識します。

 

var r;

video(0);

uart("PANCAKE VIDEO 01\n");

uart("PANCAKE IMAGE 00\n");

r=input();

uart("PANCAKE VIDEO 00\n");

video(1);

 

log の場合は lash などで表示されている状態にのみ出力します。
ビデオ出力であれば、ビデオ出力を表示を行うのみで、 PanCake が使用するシリアル(uart)には送出されません。

画面とシリアルを同時に出している IchigoJam BASIC と異なるところなので、ご注意下さい。

 

裏技として、vi などでは PanCake のコマンドのみを羅列しておきます。

 

PANCAKE RESET

PANCAKE VIDEO 01

PANCAKE IMAGE 00

 

lash より cat . > uart とする事で、PanCake へ送出する事が可能です。


MixJuice 経由で IchigoLatte の操作は行えますか?

IchigoLatte 0.7 以降で可能です。lash の状態で

 

echo MJ コマンド> uart;cat uart 

 

として MixJuice の送受を行えます。例えば……

 

echo MJ VER> uart;cat uar

 

起動後はじめての出力では文字化けした文字列の出力がありますが、これは MixJuice の仕様です。

最初は echo > uart; を頭に付けておくと確実です。(何だかの信号を MixJuice が受け取っているのを改行して無視します)

 

echo > uart;echo MJ VER> uart;cat uar

 

末尾に ■ が付きますが、改行コード CR を IchigoLatte は ■ で出力するためで動作に影響はありません。

cat uart では出力後もそのままになるので、パソコンから Ctrl+D または MixJuice から Esc キーで lash に戻って下さい。

(パソコンから Ctrl+D が転送終了を確実に行えるので、こちらが使用できる場合はおすすめです)

特にアクセスポイントを接続する MJ APC コマンドではキーの後空白を含めずに > uart; 〜 として下さい。

 

echo MJ APC POINT 12345> uart;cat uart (左の場合 5 と > の間に空白を入れない)

 

プログラムを受信する場合は

 

echo MJ GET プログラムURL> uart;cat uart > .

 

とします。MixJuice の LED 3 が光っている間はプログラムを受信しています。
LED 3 が消灯したらパソコンから Ctrl+D または MixJuice から Esc キーで lash のコマンドラインを出して下さい。

vi で受信されている事を確認します。

 

プログラムを送る場合は

 

echo MJ POST START プログラム URL> uart;cat . > uart;echo MJ POST END

 

で可能でしょう。サーバから応答メッセージがくる場合は ;cat uart を後ろに加えて下さい。

 

echo MJ POST START プログラム URL> uart;cat . > uart;echo MJ POST END;cat uart

 

MixJuice のページでもいくつか具体例をあげています。

 

なお、プログラムからは uart を用いてコマンドの送信を行えますが、

受信は数値しか行えないため、今のところ用途は制限されます。


ファームウェアに含まれている「ichigolatte.w」って何ですか?

IchigoLatte 1.1.6 より 56〜64kB の LPC1114 および LPC1115 に対応したファームウェア「IchigoLatte W」が含まれました。

2017年8月現在 IchigoLatte W 対応の公式プリント基板は存在しません。

独自に IC を入手したり、個人が公開しているプリント基板での使用に限られます。

PCN 販売のプリント基板(含 IchigoJam プリント基板)では従来の IchigoLatte ファームウェアを用いて下さい。


ファームウェアを更新したところ、プログラムが実行できなくなりました。

JavaScript らしくするために、IchigoLatte 0.4 で一部命令が変わりました。

  • locate → lc
  • print → log
  • wait → sleep

この部分を変更する事で動作するようになるでしょう。


ms を実行したところ ms> が表示されて、プログラムが実行できません。

IchigoLatte 0.6 より、プログラムの実行は ms . と入力します。

ms の場合はインタラクテイブモード(対話モード)となり、直接命令を入れて動作する事が可能です。


ms で実行したところ LED が点滅し、再起動しました。

深刻な構文エラーまたは実行時エラーなどがあります。

例えば lc コマンドで , を . にしているだけでもこれは発生します。

 

この状態になってもプログラムは残っているので安心して下さい。

vi を実行してプログラムを確認し、おかしいところを修正して下さい。