M5Stackについて調べてみたことのまとめ
M5StackGrayを購入して2カ月、、、ほぼ毎日触っていますが、奥が深いガジェットです。使ってみると様々な細かい制約があり使う上でTwitterで聞いたことや自分で調べたことで参考になりそうな情報をまとめておきます。
手探りで調べていることもあるので、誤った情報があるかもしれません。あらかじめご了承ください。
もくじ(Index)M5Stack関連の目次へ戻る
使用した環境
ハードウェア
- M5Stack Gray(基板のシルクが2018.3で16MB版)
- M5Stack Fire(基板のシルクが2018.2A)
ソフトウェア
- ArduinoIDE v1.8.9
- M5Stack Library 0.2.6
- M5Stack LovyanLauncher v0.1.7b
- 自作のベンチマーク
※ 自作のベンチマークはLovyanLauncherのBenchmarkを参考にさせていただきました。
ストレージに関すること
数値は自作ベンチマークの結果を載せています。M5Stackの個体や読み書きの方法によっても異なるようなので参考程度でお願いします。(他に画像読み込み等も試しましたが、一定の結果が得られないのが現状です。)
【SPIFFS】フォーマット直後はWriteが速い。(200KB/sぐらい)
SPIFFSの容量分書き込みが行われると遅くなります。例えばSPIFFSが3.2MBの場合、書き込みデータの合計が3.2MBを超えると30~80KBになります。
【SPIFFS】ファイルサイズが小さい場合はReadが速い(1.5MB/sぐらい)
ファイルサイズが28,671Byte(0x6FFF)までは読み込みが速いことが分かりました。それ以上は読み込み速度が一旦落ちます。
書き込みはフォーマット直後ではなく、遅くなった状態から計測しています。
【SDカード】カードによって大差は見られませんでした。
SPIFFSのようにファイルが大きくなると転送速度が大きく下がるということはありません。性能のいいmicroSDカードを使用してもMAXは1MB/secぐらいなので、あまり大きな差はないような測定結果です。
★M5StackのmicroSDへの接続はSPIという遅い接続方法が使用されているため転送速度は非常に遅くなります。(SDカードの公称値は出ないので注意してください。)
Arduinoライブラリに関すること
RGBを指定して自分で好きな色を作成したい時
下記のようにM5.Lcd.color565という関数を使うと24bitRGBを16bit565に変換してくれます。(下位ビットが切り捨てられるので色が変わる場合もあり。)
unsigned int COLOR = M5.Lcd.color565(int r, int g, int b)
Spriteの最大サイズ
背景サイズ(320×240)16bitカラーのSpriteを作りたかったのですが、Maxサイズは237×237まででした。8bitカラーなら320×240で作成できます。
更新履歴
2019.4.18 新規作成