[Another IchigoJam Tools] http://nuneno.cocolog-nifty.com/blog/2015/02/ichigojamlinux-.html で公開されている“IchigoJam用の支援ツールLinux版”を元に作成しました。 Ubuntu 14.04 x86_64 で動作確認をしています。 IchigoJam のファームウェアは 1.1.1 (us) で確認をしています。 **** お約束ですが、このツールは無保証です。 **** **** ご自身の判断、責任のもとご使用ください。 **** [インストール] 以下のファイルを適当なディレクトリにコピーしてください。 _lib_ait.subr ait-cmd.sh ait-load.sh ait-save.sh _lib_ait.subr は、シェルスクリプト (ait-cmd.sh, ait-load.sh, ait-save.sh) から読み込まれるサブルーチンです。 以下の順番で検索されます。 1. シェルスクリプト内の _install_dir 変数に指定されたディレクトリ 2. シェルスクリプトの存在するディレクトリ [設定] _lib_ait.subr 内の ICHIGOJAM_TTY 変数に、IchigoJam の繋がっているデバイスを 指定します。 IchigoJam への送信時、文字落ちが起こる場合があるので、一文字および改行毎に ウエイトを入れています。 _lib_ait.subr 内の以下の変数で調整できます。(単位は秒です) CHAR_DELAY=0.025 # 25ミリ秒 LINE_DELAY=0.25 # 250ミリ秒 [使い方] Usage: ait-cmd.sh command command を IchigoJam で実行します。 このシェルスクリプトでは実行時のキー入力は見ていませんので、対話的な プログラムを ait-cmd.sh run で実行すると本体のキーボードが必要になります。(おそらく…) Usage: ait-load.sh file file に書かれたプログラムを IchigoJam にロードします。 Usage: ait-save.sh file IchigoJam のプログラムを file に保存します。 file が存在するとエラーになります。 [補足 1] 一文字単位の read を行うため、sh スクリプトではなく bash スクリプトになって います。 [補足 2] IchigoJam への送信時のウエイトのため、sleep もしくは usleep コマンドを以下の 順番で自動的に検索します。 1. 小数を指定可能な sleep 2. usleep (usleep コマンド使用時は、秒をマイクロ秒に自動変換) [補足 3] 不思議な事に IchigoJam へコマンドを送信した後に、IchigoJam からの出力を 読み込もうとすると何も読めません。 IchigoJam からの出力を読み込み待ちにした後、IchigoJam へコマンドを送信すると 正常に読み込めます。 そのため、IchigoJam からの出力を読み込む処理はバックグラウンドで別プロセス として起動し、その後で IchigoJam へのコマンドを送信します。 そして、OK プロンプトを読み込んだ時点でこのプロセスは終了します。 シェルスクリプト自体は、上記の別プロセスとして起動した読み込み処理が終了する まで待ちます。 [補足 4] 日本語文字コードの変換に nkf を使用しています。 IchigoJam が扱えない日本語文字コードのチェック等はしていませんので、ご注意 ください。 デフォルトでは、PC 側の日本語文字コードは UTF-8 になっています。 _lib_ait.subr 内の以下の変数で指定可能です。 CONVERTER=nkf SEND_CONVERT="${CONVERTER} -W -s -x -u" # PC → IchigoJam RECEIVE_CONVERT="${CONVERTER} -S -w -x -u" # IchigoJam → PC [Web ページ] http://sano-ya.org/ichigojam/ait/ [連絡先] yukihiko [@] sano-ya [.] org