このブログを検索

2016年3月7日月曜日

Arduino LEONARDOでコンパイルエラー?

最近は仕事でもよくArduinoを使う。
展示用のちょっとしたガジェットの制御用に安くてそこそこ使えるので便利なのだが、最近になって以前のスケッチを再利用しようとしたところ、なぜかエラーが出てコンパイルできない。
エラーの内容は簡単で、要は”「Mouse.h」というヘッダファイルがインクルードされてませんぜ”というものなのだが、以前はそんなものなくても行けたので変だなと思い調べてみた。
結論から言うと、LEONARDO特有の機能であるHIDマウスとキーボードのエミュレート機能についての取り扱いが変わった模様。
具体的には「Keyboard.h」と「Mouse.h」は1.6系では明示的にインクルードしなくては使えなくなった。
しばらく前、Arduinoの開発チームにお家騒動が勃発し、ArduinoLLCとArduinoSRLに分裂したというニュースを聞いて心配していたのだが、いよいよその影響が出てきたという事らしい。
今回のように、ヘッダファイルの扱いが違うくらいならスケッチをちょこちょこ直せばいいだけなのでまあ許せるが、最近の新製品に関しては一方のIDEではまったく開発できないということも発生している。
僕自身はW-ROOM02という無線LAN内蔵のボードをArduinoIDEで開発したいので1.6系と呼ばれる開発環境を使っているのだけど、逆に1.7系じゃないと開発できない製品(M0やM0Pro)もある。まあ、当面M0系に手を出すつもりはないけれど、この動きが加速していくと、Arduinoって面倒くさいよねとなって、コミュニティが衰退することもあり得る。
誰もそんなことは望んでいないはずなのに、困ったもんだ。