IchigoLatte に関する Q&A


IchigoJam プリント基板に IchigoLatte を入れる事はできますか?

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

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

 

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


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

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

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

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

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


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

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


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

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


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

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

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

 

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


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

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

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

 

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

Ruby・Forth は初版から対応しています。

  • lash>cat . > @0 … プログラム番号 0 番へ保存
  • lash>cat @63 > . … プログラム番号 63 番から読み出し
  • lash>cat @0 …プログラム番号 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行目はコメントにしておくのがおすすめです。 

 

なお、IchigoCake JavaScript では、内蔵で .0~.5 の 6 プログラムを保存できます。. は .0 に同じです。  


IchigoLatte の異なる言語で EEPROM を共有できますか?

はい。可能です。いずれもプログラム領域が 2k バイトで共通になっています。

言語によってコメントの行頭が異なるので、ls の表示では行頭記号で言語の判別が可能です。

  • IchigoLatte JavaScript → // program
  • IchigoLatte Ruby・Python → # program
  • IchigoLatte FORTH → \ program (IchigoLatte FORTH 0.4.0D より対応)

ただし上記のように Ruby と Python は共通のため、使用している場合は任意の文字を追加する必要があります。


IchigoLatte と IchigoCake JavaScript で EEPROM を共有できますか?

はい。可能です。BASIC と異なり、IchigoLatte JavaScript と IchigoCake JavaScript でプログラム領域が同じ 2k バイトなので、

EEPROM は共有して使用する事ができます。
IchigoLatte JavaScript で作成していたプログラムを IchigoCake JavaScript で読み込んで実行可能です。逆も可能です。

 

IchigoLatte+PanCake と IchigoCake JavaScript の共有も PanCake のコマンドを uart で送出する事で可能です。

ただし、WBUF は通常の PanCake で対応していません。CakeRes も非対応です。 


画面のサイズは?

どの言語の IchigoLatte も画面サイズは同一で、 
横座標が 0〜31 の 32 文字、縦座標が 0〜23 の 24 文字です。

これは IchigoJam BASIC の初期状態(VIDEO 1)と同じです。

 

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

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

 

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


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

BASIC の NEW コマンドみたいにプログラムを消去したい場合は、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 では ▉ の文字になってしまいます。

 

IJUtilities は IchigoLatte JavaScript に対応しています。.js 拡張子のファイル名で IchigoLatte の操作を行います。


文字列から特定の文字を取り出す方法は?

JavaScript は mem コマンドで実現できます。

 

IchigoLatte JS で文字列から文字を切り出す方法 | about yrm

 

Ruby にも mem があり、同じ方法で可能と思われます。


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

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

JavaScript では次のようになります。Ruby も同等に可能です。Forth はバリナリーコマンドが現実的になります。

 

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)には送出されません。

逆に uart ではシリアルのみで、画面出力しません。

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

 

IchigoLatte では 16 進数に変換しての送出(BASIC の HEX$)が存在しないため、

まともな操作はバイナリーコマンドになるでしょう。

IchigoCake JavaScript では専用コマンドで分かりやすくできます。

 

これについては PanCake/使い方 でも触れてあります。

 

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

 

PANCAKE RESET

PANCAKE VIDEO 01

PANCAKE IMAGE 00

 

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


MixJuice の操作は行えますか?

JavaScript では IchigoLatte 0.7 以降で可能です。Ruby・Forth から初版から対応しています。

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/JS プログラム/ターミナル が例です。


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

IchigoLatte 1.1.6 より 56〜64kB の LPC1114 および LPC1115 に対応したファームウェア「IchigoLatte W」が含まれました。
開発上は IchigoLatte 1.1.5W からとなっています。

2017年12月発売の IchigoCake JavaScript では、この ichigolatte.w を入れて下さい。

 

IchigoLatte プリント基板や IchigoJam プリント基板などは従来の IchigoLatte ファームウェアを用いて下さい。


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

IchigoLatte JavaScript では、JavaScript に近い表記に一部命令が変わりました。

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

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


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

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

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

 

Ruby の nuby、FORTH の ts、Python の ny も同様です。


ms . / nuby . / ts . / ny . で実行したところ LED が点滅し、再起動しました。

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

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

 

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

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


IchigoJam BASIC の「IchigoJam web」みたいなブラウザ上で動作する IchigoLatte はありますか?

JavaScript は LattePlayer が存在します。

LattePlayer は Kidspod; で提供されているため、

使用するためには Kidspod; へのプログラム公開が必要です。

 

「LattePlayer」でIchigoLatteのプログラムを動かそう! | Kidspod;

 

IchigoJam web と異なり、

プログラムを投稿した後で実行できるようにするため、

開発段階で LattePlayer を使用するのはおすすめできず、

IchigoLatte 実機で開発を行った後、

完成したプログラムを Kidspod; に公開して、

LattePlayer で動かす流れとなります。

 

なお、LattePlayer は一部動作が IchigoLatte と異なるところがあります。

本体ボタンは画面のクリック(タップ)で同じ動作が可能です。


Kidspod; へプログラムを公開しましたが、LattePlayer はどこから実行するのですか?

Kidspod; の プログラムの投稿 ページで

「ソースコードを投稿」にプログラムを貼り付けると

LattePlayer のリンクは表示されません。

 

「ソースコードを投稿」は空白にしておき、

他の項目を埋めて、一度投稿を行ってしまいます。

 

投稿後にそのページを参照し、投稿を編集 を選びます。

すると「ソースコードを投稿」の項目に

2 項目 URL が付加されています。

そのうちカップ側の URL(末尾が :il)をコピーして、

ブラウザのアドレスに貼り付けて移動して下さい。

 

「IchigoLatteのソースコードの投稿」という画面がでてきます。

ここにプログラムを貼り付けて下さい。

この手順でプログラムを入れると LattePlayer で遊ぶ ボタンが表示されます。

 

プログラムを変更する場合もプログラム投稿と同じ手順で

「IchigoLatteのソースコードの投稿」画面から編集して下さい。

 

この手順は Kidspod; の LattePlayer に関する説明ページにも記載があります。

 

「LattePlayer」でIchigoLatteのプログラムを動かそう! | Kidspod;