ESP8266 / SPIFFS > AQM0802_Initialize was not declared in this scope


動作環境
ESP-WROOM-02 (ESP8266)
Arduino IDE 1.6.6 on Windows 8.1 pro (64bit)

問題

message stationにファイル保存機能を追加しようとしていた。

SPIFFSの例を実装しようとして失敗。

message stationは以下のように複数の自作ライブラリを使っている。

SPIFFSを使おうとして以下をコードに追加すると

#include <FS.h>

AQM0802_Initialize was not declared in this scope

となり、ライブラリにある関数が見えなくなる。

対応方法は要調査。

FS.h の場所

FS.hを見ようとしたら、AppData\Local\Arduino15以下のサブフォルダ内にあった。
検索でも見つけにくいわけだ。

FS.h, Wire.hの実装

FS.h も Wire.hもC++実装だ。
自作ライブラリはC実装。
Wire.h を include しても自作Cライブラリの関数は使えるが、 Fs.h を include すると自作Cライブラリが見えない。

EEPROM.hはOK

#include <EEPROM.h>

は問題ない。

http://qiita.com/exabugs/items/0220edd4c9bf93da981b
の実装を参考にEEPROMでFilesysLibを作るのもあり。

EERPOMで実装をしている。複数データ書込みまでは作った。
github

String, bool型などのメンバ変数をもつ構造体の読書きには工夫が必要。