mikan's technical note

仕事&趣味で実験した小技の備忘録です(Linux,windows,DOS等)

MENU

【IchigoLatte】USB-シリアルモジュール(PC⇔IchigoLatte間転送)

IchigoJam 向け USB-シリアルモジュール ※IchigoLatteでも使えます
「ショップのふうせん」で購入
f:id:myerss555:20170806233814j:plain

残念ながら、PC上から直接コマンド入力やviは使えません
ファイル(プログラム)転送は動作確認済み

【初期設定】
①「CP210x USB - UART ブリッジ VCP ドライバ」をインストール
 ※Linuxの場合はドライバ不要のようです
 https://jp.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

 例)Windows7 64bit の場合
 CP210x_Windows_Drivers.zip を解凍し、CP210xVCPInstaller_x64.exe を起動

②IchigoLatte と USB-シリアルモジュールを接続
 ジャンパワイヤ オスーメス 3本で繋ぐだけなんですが
 ポイントは、RXDとTXDをクロスさせること
 (最初クロスせずに繋げて3分ほど悩みました・・・)
 RXD - TXD
 TXD - RXD
 GND - GND

③USB-シリアルモジュールをPCに挿す

④IchigoLatte の電源ON

⑤Tera Term の設定
 Terminal設定
 f:id:myerss555:20170807000251p:plain
 f:id:myerss555:20170807000308p:plain
 Serial設定
 f:id:myerss555:20170807000638p:plain
 f:id:myerss555:20170807000652p:plain


【転送(PC ⇒ IchigoLatte)】
①IchigoLatte の画面で、cat uart > .

②Tera Term からファイル転送
 f:id:myerss555:20170807001003p:plain
 f:id:myerss555:20170807001017p:plain
 f:id:myerss555:20170807001029p:plain

③青いLEDが消灯していることを確認して、IchigoLatte の画面で、ESCキー
 ☆★☆ 注意! ☆★☆
  Tera Term で転送が終了しても、USB-モジュールの青いLEDが点灯中はまだ転送中です
 f:id:myerss555:20170807003458j:plain

④IchigoLatte の画面で、viで内容確認
 ※改行コードが文字化けしている場合は、転送元PCのファイルの改行コードを「LF」で保存する
 ※私の環境では、改行コードが「CRLF」だと文字化けしました


【転送(IchigoLatte ⇒ PC)】
①IchigoLatte の画面で、cat . > uart
②Tera Term にプログラムが表示されるので、コピペしてPCに保存する
 f:id:myerss555:20170807002516p:plain

【IchigoLatte】みんなのIchigoLatte入門

webではIchigoLatteの情報がまだまだ少ないので試しに買ってみました
f:id:myerss555:20170806221333j:plain

本体よりもちょっぴり高いですがその価値は十分にあり
特にサンプルプログラムを動かしてみるとIchigoLatteの癖(?)が
よくわかります

35本のサンプルプログラムの1例(隕石避けゲーム)

// ----- Meteor Game -----
var k,x=15,y=23;
var count=0,score=0,wait=200;

// key
function key(kc){
    k=kc;
}

// main
function main()
{
    score=score+1;

    // print meteor
    count=count+1;
    if(count%10==0){
        lc(rnd(31),0);
        log(chr(0xe9));
    }
    lc(rnd(31),0);
    log(chr(0));

    // move
    lc(x,y);
    log(chr(0));
    scroll(2,1);
    if(k==28){
        scroll(1,1);
    }
    if(k==29){
        scroll(3,1);
    }
    k=0;
    var char=scr(x,y);
    lc(x,y);
    log(chr(0xf1));

    // check
    if(char){
        lc(11,13);
        log("Game Over\n");
        lc(11,14);
        log(score," points\n");
        exit();
    }

    // set timer
    if(wait>30){
        wait=wait-1;
    }
    setTout(main,wait);
}

// start
setKprs(key);
cls();
main();

内容は掲載のサンプルそのままですが、見やすいようにインデント等変えてます
このサンプルではサイズに余裕があるので大丈夫ですが、
実際は見た目よりもサイズを考慮して書く必要があります
まずは空白を極力減らすことでしょうか
※最大2KByteまで


f:id:myerss555:20170806222528j:plain