86Duinoでユーザー自作ライブラリを使ってみた

投稿者:

Arduinoを弄る上で、欠かせないのがユーザー自作ライブラリ。しかし、Arduino互換の86Duino ZEROではインクルードしただけでは使えませんでした。どうやらSketchをコンパイルする際に使われているMS-DOSエミュレーター DOSBoxの影響のようです。
今回はその対処法をご紹介します。ただし、これでも使えないライブラリがありました。

1.ライブラリ名を変更
長いライブラリ名の場合は、DOSが読める8.3形式に合わせなければいけません。8.3形式とは「8文字以内の英数字.3文字以内の英数字」という形式です。以下のようなイメージです。

HOGE1234.aaa

変更しなければいけないファイルには以下のものがあります。

・ライブラリが格納されているディレクトリ名
・ライブラリのヘッダーファイル名(HOGE1234.h)
・ライブラリ(HOGE1234.cpp)
・これらを参照している変数

2.インクルードファイル名を確認
ライブラリのヘッダファイルは冒頭で"Arduino.h"をインクルードしますが、古いライブラリだと"WProgram.h"になっている事があります。この場合は"arduino.h"に変更しましょう。
また、どちらのファイルにも対応できるように記述されているライブラリもあります。

sample:
1 #if defined(ARDUINO) && ARDUINO >= 100
2 #include "Arduino.h"
3 #else
4 #include "WProgram.h"
5 #endif

このように記述されていてもコンパイルが失敗することがありますので、2行目を残して他の行を削除しましょう。

86DuinoIDEの中には86Duino専用ライブラリもあるので、開発する前にどんなものがあるか確認してみる事をおすすめします。このライブラリは随時追加されていくようです。