MAG画像、PIC画像、とくれば、PI画像も読めるようにしたいですよね。
検索してみると、ローダのソースが公開されていました。改変自由とのことなので、移植してみます!
PI32:GO32上で動作するPIローダー ソース
https://www.vector.co.jp/soft/dos/art/se002805.html
展開ロジックはそのまま。ファイルロードと画面描画の部分を変更しただけです。メモリバッファのためにPSRAM使ってますので、現状は M5Stack FIRE 専用です。
PI読み込みロジックも、MAG/PIC とあわせて、スライドショープログラムに組み込んでみようとしたのですが、MAG / PIC / PI それぞれの inoファイルを単純に結合してるだけなので、関数名がぶつかってコンパイルできませんでした…。
まあ、同じようなロジックですから、関数名もかぶりますよね。
クラス化するのがよいのでしょうけれど、ひとまずは namespace 使って分離することにしました。namespeceの中に入れると、関数のプロトタイプ宣言が必要になるみたいです。単体で見るとなんのためにこんなことしてるかわからないですねw
ソースはこちらです。各ローダーは ino 単体でもコンパイル可能です。
M5StackGraphicLoader/M5GraphicLoader/
https://github.com/shikarunochi/M5StackGraphicLoader/tree/master/M5GraphicLoader
PI / MAG / PIC 画像の連続表示。#M5Stack pic.twitter.com/noZjEewPBd
— Nochi (@shikarunochi) 2020年5月8日