IchigoJam用の支援ツールLinux版を作成しました
この前作成したIchigoJam用の支援ツールのLinux版を作成しました。
ダウンロード ファイル: ichigotools.tar (2016/03/16版)
機能はこの前のWindows版とほぼ同じです。
CentOS 6.6(x86)での動作を確認しています。
2016/03/16 追記
Raspberry Pi (Raspbian Jessie)に対応しました。
シリアル接続が必要となります。
ツールはシェルプログラム(bash)で記述しています。
支援ツールと名乗ってますが、大したことはやってません。
短いプログラムです。自由に流用して下さい。
解凍方法
tar xvf ichigotools.tar
./ichigotools/
./ichigotools/rcmd
./ichigotools/rsave
./ichigotools/rload
解凍したプログラムは、パスの通っているディレクトリに入れる等して使って下さい。
シリアルデバイスについて
デフォルトではシリアルデバイスは/dev/ttyUSB0としています。
tty=/dev/ttyUSB0
使う場合には、上記箇所を各自環境に合うようソース修正が必要となります。
rloadコマンドの例
下記のソースのttyの定義を修正します。
2016/03/16 追記 ソースの内容を修正しました
#!/bin/bash
PRE_IFS=$IFS
IFS=$'\n'
tty=/dev/ttyUSB0
l_delay=0.4 # delay for line
c_delay=0.04 # delay for character
stty -F ${tty} 115200 \
-iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl -onlcr \
-onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig \
-icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase \
-tostop -echoprt -echoctl -echoke
filename=$1
echo > ${tty}
echo "NEW" | while read -rN 1 c
do
echo -n "$c" > ${tty}
sleep ${c_delay}
done
echo > ${tty}
sleep 0.1
echo -n "loading now."
cat ${filename} | while read -r line
do
echo "${line}" | while read -rN 1 c
do
echo -n "$c" > ${tty}
sleep ${c_delay}
done
echo > ${tty}
sleep ${l_delay}
echo -n "."
done
echo -e "\ndone."
IFS=$PRE_IFS
また、シリアルデバイス(/dev/ttyUSB0)の利用権限が必要となります。利用権限の設定を行って下さい
(例: 一時的 #sudo chmod o+rw /dev/ttyUSB0
永久的 #sudo gpasswd -a USER dialout ・・・ USERは利用者のアカウントを指定
)
ツールの使い方
エラー処理は一切実装していません。万が一の場合もあるので、
一般ユーザ権限で利用して下さい。
1)ichigojamのプログラムをファイルに保存する
rsave ファイル名
実際の例
2)ファイルをichigojamにロードする
rload ファイル名
Linux上にある指定したプログラムをichigojamに送信してロードさせます。
1行、および文字単位でウィエイトを入れているため、プログラム量が多い場合
時間がかかります。
実際の例

rcmd コマンド
例: ./rcmd "? 2*3*4"
6
OK
空白文字を含む場合は、コマンドはダブルクオーテーション(")で囲って下さい。
ゲーム等のすぐに処理が終了しないプログラムを実行した場合でも2秒間で
タイムアウトして復帰します。
実際の例
補足
rloadコマンドでは、ichigojamへのテキスト送信で
行、文字単位で遅延を行っています。
状況によっては、遅延時間の調整が必要になるかもしれません。
ソースを修正して調整して見てください。
プログラムではsttyコマンドでシリアル通信の設定しているのですが、
環境によってはパラメタの修正が必要になるかもしれません。
« arduinoで利用可能な漢字フォントROMの製作(2) | トップページ | ReadyNAS上に電子書籍閲覧サーバーを試しに作ってみました »
「IchigoJam」カテゴリの記事
- Ichigojam Rが届きました(2021.02.05)
- β版 IchigoJam Rを予約注文しました(2021.01.23)
- IchigoJamのファームウェア 1.4.1が正式に公開されました(2019.12.10)
- 「ichigoツール」をGithubにて公開しました(2019.11.09)
- ichigojamのファームウェアを1.4b13にアップデートしました(2019.11.06)
コメント
« arduinoで利用可能な漢字フォントROMの製作(2) | トップページ | ReadyNAS上に電子書籍閲覧サーバーを試しに作ってみました »

支援ツールの公開ありがとうございます。
ところが手元のUbuntuではusleepを修正しただけだと、IchigoJamからの出力が読み込めませんでした。
そこで以下のような変更を加えた物を作成しました。
1. IchigoJamからの読み込み処理はバックグラウンドの別プロセスです
2. タイムアウトではなく、OKプロンプトが返ってきたら終了します
3. sleepもしくはusleepコマンドを自動検索します
この変更したバージョンを
sano-ya.org/ichigojam/ait/
で公開しています。
もし何か問題がありましたら、ご連絡ください。
投稿: 佐野幸彦 | 2015年4月22日 (水) 13時35分
佐野幸彦さん
ご丁寧なコメント有難うございます。
つたない問題ありの公開プログラムの修正有難うございます。
修正ソースの公開については、まったく問題なしです。
ホームページ拝見しました。
私より(当然ですが)もLinux関連のノウハウをお持ちのようでです。
ディストリビュータによって、非互換が発生するのは悩ましいですね。
(かつて、UNIXのBSD系とAT&Tの非互換に悩まされたのですが、
soralisがBSDとSystem V統合とか懐かしい)
Linuxでもなぜ、こんなにも非互換になってしまったんですかね。
投稿: たま吉さん(管理人) | 2015年4月22日 (水) 14時51分
いつも参考にさせてもらっています。
LINUX版ではichigo jam側でALT+SHIFT+1のように入力した特殊文字をセーブ、ロードすることはできないのでしょうか?
投稿: | 2015年5月22日 (金) 01時40分
> いつも参考にさせてもらっています。
> LINUX版ではichigo jam側でALT+SHIFT+1のように入力した特殊文字をセーブ、ロードすることは
> できないのでしょうか?
コメントありがとうございます。
私の利用環境 CentOS 6.6で特殊文字を含めたプログラムのセーブ、ロードが出来ることを
確認しています。
ご利用している環境によっては何かしらの設定が必要かもしれません。
投稿: たま吉さん(管理人) | 2015年5月22日 (金) 07時45分
スクリプトの先頭がbashでなくshであったため、ubuntuでrloadにおいてreadのNオプションが読み込めなかったようです。他にもすこし手を加えて特殊文字も問題なくセーブ、ロードすることができました。お手数かけて申し訳ありませんでした。
投稿: ほと | 2015年5月22日 (金) 09時15分
ほと さん
ご報告ありがとうございます。
投稿: たま吉さん(管理人) | 2015年5月22日 (金) 09時54分