IchigoLatte の使い方


表の項目「対応」はこの項目が対応されているファームウェアのバージョンです。

記載がない場合は公開された初版のファームウェア IchigoLatte 0.3 から最新版まで対応しています。


IchigoLatte プリント基板

PCN より IchigoLatte プリント基板が発売されています。もちろんファームウェアは IchigoLatte が入っています。

IchigoJam T をベースしているため、IchigoJam T 向けの周辺機器を使用可能です。

 

IchigoLatte プリント基板

2017年1月より PCN で販売されています。「組み立てハーフキット」と「組み立て済み完成品」があります。
「組み立てハーフキット」は大きなパーツのみ半田付けが必要で、抵抗・コンデンサなどはすでに基板に付いた状態です。

販売時期によって黒のピンソケットと白のピンソケットがあります。

 

PCN 関連商品

 



IchigoDake & IchigoIgai

IchigoDake

 

PCN より 2017年4月 に限定販売後、反応により 2017年6月 より量産販売されました。

IchigoDake は BASIC と JavaScript があり、JavaScript はファームウェアが IchigoLatte になっています。

IchigoDake は CPU・LED・ボタン など、IchigoIgai には電源スイッチ、圧電サウンダ、各端子と分割されています。

 

詳細は IchigoJam/種類 に記載してあります。

 


IchigoLatte プリント基板β ハーフキット

2016年9月に PCN で数量限定で販売されていました。

現在は発売を終了しています。

 

上のプリント基板より IchigoJam T に近い構成で

自身で半田付けするパーツが多くなっています。

販売期間が短く、所有者は少なめかもしれません。

電源の上にある F1 を余った線でつなぐ事になっています。

これを忘れると電源を入れても動作しません。ご注意下さい。

0 Ω抵抗などを使用してもかまいません。

 

古い PS/2 キーボードを使用する場合は、

代わりにポリスイッチを付けるのも良いでしょう。




IchigoJam で動作させるために……

IchigoLatte のファームウェアは構造が同じなっているため、

IchigoJam に入れても使用できます。

ファームウェア更新により IchigoJam BASIC は失われますが、

再度 IchigoJam BASIC のファームウェアを入れなおして

戻す事も可能です。

 

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

(右画像は 初代プリント基板にクリスタルを付けた状態)

IchigoJam T・IchigoJam U・IchigoJam EX など、
現在発売されている IchigoJam・互換機 の多くは
外部クリスタルが基板に付いています。

 

CPU LPC1114 に、公式サイトで公開されている
ファームウェアを書き込んで下さい。
ファームウェアの書き込み方法は IchigoJam と同じです。
( 周辺機器/パソコンと接続 参照)

 

キーボードの種類によって書き込むファームウェアが変化します。

  • ichigolatte.jp.hex = 日本語キーボード
  • ichigolatte.us.hex = 英語キーボード

その CPU を取り付けた状態で IchigoJam の電源を入れます。

 

現在は IchigoLatte プリント基板が製品発売されているため、IchigoLatte をまともに使うなら、専用に入手するのが良いでしょう。

CPU を交換する方法もありますが、現在 LPC1114FN28 を入手するのは難しくなってきています。


IchigoLatte の起動

 

CPU を取り付けた状態で IchigoJam の電源を入れます。上の画面になれば正常に起動できています。


シリアルで使いたい場合

 

0.8 より IchigoJam のボタンを押すとシリアルの入出力とビデオ出力を切り替えます。

(シリアル→ビデオもボタンで変更可能になりました)

通信速度は 115200bps 固定、データ長 8 ビット、パリティなし、ストップビット 1 ビット、

ローカルエコー ON、改行コード LF です。

動作がおかしい場合は行送信機能で送出して下さい。

現在のところシリアルの動作で vi は使用できません。代わりに cat uart > . を用いてプログラムを転送して下さい。


lash - シェル

 

シェル環境です。起動した時も lash になっています。Linux や macOS で採用されている bash から名前がきているようです。

lash では次のコマンドを使用できます。

 

コマンド 対応 解説
cat 元 [> 先]   プログラムを出力します。先 を省略した場合は画面出力です。
echo 内容 [> 先]   内容 を出力します。先 を省略した場合は画面出力です。
help   lash で使えるコマンドを表示します。
ls 0.9〜

EEPROM の中身を一覧します。プログラム先頭に // プログラム名 を入れるのがおすすめ。

ms  

インタラクティブモード(対話モード)に移ります。0.5 以前はプログラムを実行します。

ms . 0.6〜 プログラムを実行します。
vi [@プログラム番号]   プログラムを編集します。1.1.1 よりプログラム番号を指定して EEPROM の中身を編集できます。 

 

cat の 元・先、echo の先は次の指定です。

 

入出力 対応 解説
. 0.4〜 IchigoLatte 本体
uart 0.4〜 シリアル。通常 USB-シリアルモジュールMixJuice が含まれます。
@プログラム番号 0.9〜 EEPROM。プログラム番号は @0〜@63 です。(1024k の場合)

 

いくつか例をあげます。

  • cat .
     → プログラムを表示します。
  • cat . > uart
     → プログラムをシリアルへ送出します。(IchigoLatte 0.4〜)
  • cat uart > .
     → シリアルからプログラムを受信します。(IchigoLatte 0.4〜)
  • cat . > @0
     → プログラムを EEPROM プログラム番号 0 へ保存します。(IchigoLatte 0.9〜)
  • cat @63 > .
     → EEPROM プログラム番号 63 を読み込みます。 (IchigoLatte 0.9〜)
  • echo > .
     → プログラムを消去します。
  • echo > uart;echo MJ VER> uart;cat uart
     → MixJuice を接続している場合にファームウェアのバージョンを表示します。(IchigoLatte 0.7〜+MixJuice)

0.7 より ; 区切りで複数のコマンドを順次実行する事ができます。この方法を用いて MixJuice 操作が可能になりました。

 

echo test;echo IchigoLatte

 


vi - エディタ

 

テキストエディタ。プログラムの編集に用います。実際 vi というコマンド名のエディタが Linux で使われます。

Esc キーで vi を終了します。この時プログラムは保存されます。電源を切っても保存されています。

0.8 より Ctrl+D で終了することで保存されずに終了するようになりました。

1.1.1 より vi @0 などとして EEPROM の中身を直接参照し、編集できるようになりました。


ms - 実行環境

 

lash より ms . (0.6 より。0.5 以前は ms )でプログラムを実行します。lash の画面に続けて出力されます。

Esc キーでプログラムの動作を中断する事が可能です。

 

  

0.6 より ms とするとインタラクディブモード(対話モード)になります。

ms> となるので、直接コマンドを入れて下さい。そのコマンドをすぐに実行します。ana なども使用できます。

IchigoJam のダイレクトモードみたいな使用が可能です。Esc キーで lash に戻ります。


演算子

IchigoLatte は次の演算子に対応しています。IchigoJam BASIC と優先度が異なるところがあるのでご注意下さい。

 

演算子 対応 意味
  代入
●+●   加算
●−●   減算
●*●   掛算
●/●   除算の商
==   等しい
!=   等しくない
  より大きい(未満)
  より小さい
+● 0.4〜 単項プラス
ー● 0.4〜 単項マイナス(算術否定)
0.4〜 除算の余り
<= 0.4〜 より小さいか等しい(以下)
>= 0.4〜 より大きいか等しい(以上)
0.6〜 否定
>> 0.9〜 右シフト
<< 0.9〜 左シフト
0.9〜 論理積(AND)
0.9〜 論理和(OR)
0.9〜 排他的論理和(XOR)

IchigoLatte の記載例

使用できる命令に制限があるため、一部代用する必要があります。

 

JavaScript IchigoLatte 備考

a++;

++a;

a=a+1; ++ は存在しないので、+1 で代用します。

a--;

--;

a=a-1; -- は存在しないので、-1 で代用します。

Math.floor(3/2);

3/2; 変数は常に整数の扱いです。

if ( a == 1 && b== 1 )

if((a==1)*(b==1)) 「a または b」は * を使用します。※

if ( a == 1 || a == 2 )

if((a==1)+(a==2)) 「a かつ b」は + を使用します。※

for (var i=1 ; i<=10 ; i++){

  //

}

var i=1;

while(i<=10){

  //

  i=i+1;

}

for が存在しないので while で代用します。

document.write( a + "+" + b );

console.log( a + "+" + b );

log(a,"+",b);

出力コマンド log は , 区切りで連結します。

console.log が元になっています。

 

※ IchigoJam BASIC は現在 IF に AND・OR が使用できますが、*・+ を使用する方法は初期のファームウェアから使用可能です。


その他

  • 変数は 32 バイト符号付き整数です。範囲は -2147483648~2147483647 となります。
  • 16 進数表記に対応しています。0xff 0x12ab など。
  • // でコメントを記載できます。
  • プログラムの 1 行目に // プログラム名 とすると ls で表示されます。(IchigoLatte 0.9 より)
  • プログラムは 2k バイトです。本体保存は . の一つだけです。0.9 より EEPROM に対応しているので、保存を拡張できます。
  • IchigoLatte の改行コードは LF です。CR は ■ の文字に変換されます。ただしそのままでも実行に影響はありません。