2014/02/24

Apple (Standard) Keyboard M0116J 改 #3

 ダ・ヴィンチ32U への書き込みは、avrdude というプログラムで行うが、この書き込みタイミングが中々シビアで難しい。キー配列を変えるたび書き込みが必要なので、毎回イライラすることに。僕が用意した Arduino Bootloader 版の ダ・ヴィンチ32U は、元々、Arduino IDE から使うものなので、他でコンパイルしたものを書き込む自体、イレギュラーなことなのかもしれない。Flip 版の方は、専用のソフトで書き込むので、以下の手続きとは無関係。
リセットボタンを押す → デバイスの切り離し
 → ブートプログラム起動 → ブート側のCOM認識 → ユーザープログラム(キーボード)起動
 ユーザープログラムが起動(今回の場合はキーボードとして認識)すると、COMポートは消えてしまうので、その間の絶妙なタイミングで書き込みを実行しないといけない。
 仕方ないので、COMを監視するアプリを組んで、書き込みタイミングを自動化することにした。
write 実行 → リセットボタン → (アプリ:Da Vinci 認識待ち → 書き込み)
 失敗も多いが、無いよりマシ(たぶん)。どうしても、デバイス認識出来ない場合は、一度USBから抜いた後、差し直して再チャレンジ。M$のデバイスドライバがゴミなのか、USBの接続先を変える度に、ポートNoも変わっていくし、なんなんだ、このウンコ仕様。

0 件のコメント:

コメントを投稿