今朝からDigisparkでいろいろやってました。
普通のArduinoとは異なり書き込み失敗することもよくあり、そのたびにタイムアウトまで1分待たされるのが面倒でした。
以下の対策をしてみようとしたものの。。。効果はなく。
いろいろと調べてみた結果、Arduino IDEの「マイコンに書き込む」ボタンを押すと、以下の場所にある2つのプロセス(launcherとmicronucleus)が起動されることがわかりました。
~/Library/Arduino15/packages/digistump/tools/micronucleus/2.0a4
launcherはArduino IDEが起動するらしく、そのパラメタは以下のファイルのtimeoutを書き換えることで変更できました。でも、launcherはバイナリ転送プログラム?(micronucleus)を起動するコマンドらしく、launcherのtimeoutを変えてもタイムアウト時間は一向に変わりませんでした。
~/Arduino15/packages/digistump/hardware/avr/1.6.7/platform.txt
digistumpのgithubのリポジトリもみてみたのですが、それらしいコードがない。。。よくわかりませんが、ソースコードがどうしても見つけられません。
色々と試行錯誤した結果、もう、バイナリをいじるしかないなぁ。。。と。
0xEDというバイナリエディタをダウンロードして、①にtimeoutといれ、②の「36 30」を「31 20」にします。要はtimeoutを60から1にする感じです。
念のために、launchar本体をいじる前に、launchar.orgにコピーして原本を残して修正しましょう。
バイナリのサイズを見ているようで、timeoutを1にしただけでは1バイト短くなるためArduino IDEで書き込みボタンを押したときにエラーがでました。なのでとりあえず空白(0x20)を入れたらめでたく動いたわけです。
まぁ、こんなことやっていいのか、そもそもソースコードが入手できればこんなことしなくていいでしょうけど。
とりあえず。