20-Mar-2014で取り上げたCATALEXのClock Shield、説明書にはArduino純正のArduino IDEで使う手順が書かれていますが、OpenBSDのports/devel/arduinoで使うにはどーすりゃいいのさということで。
とりあえず、Clock Shieldのライブラリ集に入っているClockShield/examples/RealTimeClock/RealTimeClock.inoをビルドする場合について書いてみますか。
- まずはClock Shield用のライブラリ(Clock Shield Libraries for Arduino 1.0+.rar)をhttp://pan.baidu.com/share/link?shareid=426437&uk=1966479381よりダウンロード。
- cd /usr/local/share/arduino/libraries; unrar x /path/to/Clock Shield Libraries for Arduino 1.0+.rarしてアーカイブを展開。Arduino標準のライブラリ(EEPROM, Ethernet, ...)に加えてClockShield, MsTimer2等が並べばok。
- TimerOne_v9はTimerOneにリネーム。おそらくArduino環境の特徴なのだろうけど、libraries/foobar/の下にはfoobar.cpp, foobar.hを置かなければいけないようなので。
- cd ~; arduinoproject RealTimeClock; cd RealTimeClock; cp -f /usr/local/share/arduino/libraries/ClockShield/examples/RealTimeClock/RealTimeClock.ino . プロジェクト用のディレクトリを作成し、サンプルのRealTimeClock.inoを上書きコピー。arduinoprojectについても、作成されたhogefugaproject/の下にはhogefugaproject.inoを置かないと駄目というルールがある模様。
- Arduino IDEの.ino→.cppパーサはプロトタイプ宣言を自動的に追加するのだけど、OpenBSDのportsの場合はそういうことをしないのでRealTimeClock.inoをこんな風に修正。
- BSDmakefileの修正点は二箇所。LIBRARIESに必要となるライブラリ名を記述するのと、LDFLAGSにフラグを追加しないとリンク時にエラーが出る。LDFLAGSの修正方法についてはArduino ForumのEclipse integrationというトピックを参考にした。
これらの手順でRealTimeClock.hexが得られることと、make uploadしても動かない…あれ??
オブジェクトに問題があるのか、それともShieldが壊れているのか、他のサンプルについても試してみる必要がありそうですねえ。59.35kg(06:30)