EEPROM フォーマッタ

IchigoLatte 0.9 より I2C アクセスに対応しました。

これに合わせて EEPROM の保存・読み出しにも対応しています。

ls によるプログラム一覧表示にも対応しているのですが、

IchigoJam BASIC や他の目的で使用していた

EEPROM を使用しているとゴミが表示されてしまいます。

そこで EEPROM の中身を消去するプログラムを作成してみました。

 

このプログラムは EEPROM の中身を完全に消去します。

実行前に ls として本当に目的の EEPROM かを確認して下さい。

IchigoJam BASIC 向けに使っていたかを確認したい時は

FILES を使用する事ができます。

 

ms . でプログラムを実行すると

「EEPROM k bit?(32〜1024)?」と訪ねてきますので、

EEPROM の容量を入力して下さい。

誤って入力しても一部しか消去されないなどになり、
EEPROM が破損するなどの影響はないので安心して下さい。

24FC1025 なら 1024、24C256 なら 256 と入力します。

そうするとグラフが表示され、■ が 0% から 100% へ進捗します。

容量が大きい程時間を要します。

100% になって done と表示されれば消去完了です。

ls で完全になくなっている事を確認して下さい。

 

いくつかの EEPROM を試していますが、
もし消えずに一部が残る場合は sleep(5); の 5 を 10 など、値を上げて下さい。

ただし、上げる程に時間を要します。

 

完全に消去した EEPROM は IchigoLatte 以外に IchigoJam BASIC でも使用可能です。

 

ls でカップが表示される EEPROM。ms . として消去します。

 

プログラム実行後の ls。綺麗に消去されました。

 


//EEPROM formater

var k,a,d=0,b=0,h=0,l=0,p,o=0;

log("EEPROM format\n");
log("\n");
log("EEPROM k bit?(32~1024)?");
k=input();
log("\n");
log("|0%            |50%       100%|\n"); 
log(chr(0x8f));

while(d<k*1024)
{
  a=0x50+b*0x04;

  i2cw(a,h,l,
       0,0,0,0,0,0,0,0,
       0,0,0,0,0,0,0,0,
       0,0,0,0,0,0,0,0,
       0,0,0,0,0,0,0,0);

  d=d+32;

  l=d%256;
  h=(d/256)%65536;
  b=d/65536;

  p=d*30/k/1024;

  if(p!=o)
  {
    log(chr(0x8f));
  }

  o=p;

  sleep(5);
}

log("\ndone\n");

MixJuice~・MicJack ダウンロード lash>echo MJ GET 15lt.eu.org/format.js> uart;cat uart > .


他の方が作ったフォーマッタ

EEPROM Fileクイックフォーマッタ | IchigoLatteを楽しもう

 

ls で参照する頭の領域のみを書き換える事で ls での見た目を非表示にする仕組みです。

1024k でも約 1 秒で完了します。

プログラムそのものは IchigoLatte 専用で、IchigoJam BASIC では改良が必要です。