注文したダ・ヴィンチ32Uは2日ほどで到着。
とりあえずそのままUSBでPCに接続~ドライバを入れ、Arduino IDEという開発環境ソフトを起動して、サンプルプログラムのblinkでしばし遊んでから、いよいよ取り組んでみます。
https://github.com/tmk/tmk_keyboardからzipをダウンロードしますと、ソースコード一式が丸ごと入っています。
ボードが違うので一応、どこか修正すべき箇所はあるか?と拙い知識でコードを眺めてみましたが
/tmk_keyboard/common/controller_teensy.h の中で
#define DEBUG_LED_CONFIG (DDRD |= (1<<6))<br /> #define DEBUG_LED_ON (PORTD |= (1<<6))<br /> #define DEBUG_LED_OFF (PORTD &= ~(1<<6))<br />
と、デバッグ用のLED(オンボード)がポートD6に設定されていましたので、これをC7に変更。
#define DEBUG_LED_CONFIG (DDRC |= (1<<7))<br /> #define DEBUG_LED_ON (PORTC |= (1<<7))<br /> #define DEBUG_LED_OFF (PORTC &= ~(1<<7))<br />
他は特に問題なさそう…と思う。
動かなかったらまた考えることにしよう。
で、最初、安直に
「スケッチに各ファイルのテキストをコピーすれば動くだろう」
と考えていたら、これが全然違うのですね。
適当にコピーして「マイコンボードに書き込む」ボタンを押してみても、ただ空しくエラーを吐くばかり。
そもそもC言語自体がよく分かっていないので、何をどうすれば良いか皆目見当もつかない。
最悪、イチからコードを起こさねばならないとか…?
それもやり甲斐はありそうですが、あまりにも元々の目的から外れてそうな気が。
Teensyでは普通の方法でコンパイルしてできたhexファイルを指定して書き込めるようですが、Arduino IDEだとそういう機能はなく「スケッチに書く→ボタンを押す→コンパイル~書き込み」のセットでしか動かせないようです。
ですが安直派としてはやはり、何とかして外部のhexをラクに書き込む方法を見つけたい。
…すると打つ手はなくもないようで、Arduino IDEの中で使われているコマンド「avrdude」で何とかなりそうなのです。
が使い方がよくわからない…
引数とかどうすればいいのか?
・・・
無為に時間が過ぎるので、何はともあれ先にコンパイルだけでもやってみる。
WinAVRというフリーのCコンパイラをインストール、コマンドプロンプトで
\tmk_keyboard\converter\adb_usb
のディレクトリからmakeコマンドを実行すると、ほどなくadb_usb.hexというファイルが出来上がってきました。
さすがというか、全くのノントラブル。
これをどうにかしてマイコンに書き込んでやれば良いわけですが…
(さらにつづく)