ESP-WROOM-02を始めました(3) SPIFFSの利用
2016/07/02 追記更新
前回はSDカードに漢字フォントとビットマップファイルをを載せていたのですが、
そのデータを標準搭載のフラッシュメモリ上に置けることが分かりました。
ということで、実際にフラッシュメモリ上に漢字フォントをおいて動かしてみました。
取りあえず、動作しました。
だだし若干、表示にチラつきが出ます。
フラッシュメモリにアクセスする時にダイナミック駆動に利用しているタイマー割り込みが
中断させられるのかもしれません。
今後、WiFi通信等の利用も考えると、1msecの割り込みのダイナミック駆動はちょっと
負担が大きそうです。
フラッシュメモリの具体的な利用方法
ESP-WROOM-02には4MバイトのSPI接続フラッシュメモリが搭載されており、
そのうち、1M or 3Mバイトをデータ用のファイルシステムとして利用出来ます。
この領域は、専用に確保されておりスケッチを書き換えても影響を受けません。
Flash layout
※公式サイトのリファレンスマニュアル ESP8266 Arduino Core / File System / より引用
http://esp8266.github.io/Arduino/versions/2.3.0/doc/filesystem.html
ファイルシステムに利用する領域はArduino IDEにて選択が出来ます。
フラッシュサイズが4MバイトのESP-WROOM-02は1M or 3Mバイトが選択出来ます。
Arduino IDEから任意のファイルを配置出来る
やり方は、公式サイトのリファレンスマニュアル
ESP8266 Arduino Core / File System / Uploading files to file system
http://esp8266.github.io/Arduino/versions/2.3.0/doc/filesystem.html#uploading-files-to-file-system
に記載されています。
ブラグインをダウンロードして、Arduino IDEに組み込み、Arduino IDEを再起動、
これで、ツールメニューに「EPS8266 Sketch data upload」というメニューが追加されます。
現在開いているスケッチが置いてあるフォルダにフォルダ data を作成してその中に
データファイルを置いておきます。
そんでもって、メニュー 「EPS8266 Sketch data upload」 をクリックしてアップロードします。
実際に漢字フォントとビットマップファイルの約1.75Mバイトをアップロードしてみると
数分かかりましたが、エラーなく完了出来ました。
プログラムからのファイルアクセス
ヘッダーファイル fs.h をインクルドします。これにより、File system object (SPIFFS)が
利用出来ます。
ファイルシステムの操作はSPIFFSオブジェクトを使って行います。
SDライブラリのSDオブジェクトとほとんど同じ感覚で利用出来ます。
SDオブジェクトからSPIFFSオブジェクトへの移行は関数がほぼ1対1でかつ、
パラメタも類似しているためすんなりと行えました。
ただ、どうもSDライブラリとの相性が悪いのかSD.hも別途インクルドするFileクラス関連の
コンパイルエラーが発生しました(これは要調査です)。
まあ、今回は、併用しないのでSD.hのインクルドを止めました。
プログラム(スケッチ)
現時点のバージョンを置いておきます。
ダウンロード sample5v2_esp.zip (14.1K)
ココログでは、1Mバイト以上のファイルを置けないので、フォントデータは下記より
ダウンロードして下さい。
https://github.com/Tamakichi/Arduino-KanjiFont-Library-SD/archive/master.zip
フォントの著作権は私ではなくフォント作成者にあります。
解凍し、README.TXTのライセンス等に関する記載内容を確認の上お使い下さい。
解凍したフォルダのfontbin内のFONT.BINが利用するフォントデータとなります。
このフォントデータをスケッチ配置フォルダ下のdataフォルダに入れて、ESP-WROOM-02
にアップロードして利用します。
最後に
最終的にはESP-WROOM-02用の漢字フォントライブラリを整備したいと思います。
2016/07/02 追記
ライブラリ化し、下記にて公開しました。
・ESP8266用漢字フォントライブラリ SPIFFS版 ESP8266-KanjiFont-Library-SPIFFS
https://github.com/Tamakichi/ESP8266-KanjiFont-Library-SPIFFS
« ESP-WROOM-02を始めました(2) | トップページ | windows 10でwhoamiコマンドの動きがなんか違う? »
「表示器制御関連」カテゴリの記事
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
- Arduino用 美咲フォントライブラリを更新しました(2024.03.21)
- Raspberry Pi Pico(MicroPython)でLEDドットマトリックスを使ってみる(2024.03.14)
- Raspberry Pi Pico MicroPython用のマルチフォントライブラリ(2023.02.09)
- MicroPython(Raspberry Pi pico)で8x8ドットNeoPixcel文字表示(2023.02.08)
「ESP32・ESP8226」カテゴリの記事
- M5Stackで日本語表示(2)(2020.02.04)
- M5StackでMML単音演奏(2020.01.26)
- M5Stackのビープ音、Tone音の爆音対策(2020.01.22)
- M5stackで日本語表示(2020.01.18)
- M5Stack始めました(2019.12.05)
« ESP-WROOM-02を始めました(2) | トップページ | windows 10でwhoamiコマンドの動きがなんか違う? »
コメント