M5Paper と FactoryTest

ともあれ、何をするにせよ万が一ぶっ壊れたプログラムを書き込んだら元に戻せるようにしないとね、ということで

m5stack/M5Paper_FactoryTest

を書き込むところからはじめました。

いくつかのサイトを見て回った結果、 VSCode で PlatformIO というのを使うことにしました。
斜め読みした感じ、他の選択肢として ArduinoIDE というのも使えるのだと思います。

ちなみに Docker で開発できないかなあ、と思ったのですが(Windows で直接なにかするとだいたいトラブルため)、どうやら Windows で Docker コンテナから USB にアクセスする方法がないらしいので、断念しました。

PlatformIO のインストールは、「VSCode の Extension」としてのインストールが終わった後、PlatformIO 本体のインストールが行われるので、「VSCode の Extension」としてのインストールが終わって即何かをしようとするとうまく行かないようです。
なんかうまく動かないなあ、よし、VScode を再起動だ!ってやると、PlatformIO 本体がインストール処理中のままぶっ壊れるので何もかもが上手く行かなくなります。
よくよく見ると Output というウィンドウに


Installing PlatformIO IDE...
It may take a few minutes depending on your connection speed
Please do not close this window and do not open other folders until this process is completed.

Debugging information is available via VSCode > Help > Toggle Developer Tools > Console.

って書いてありますね。

とりま、VSCode のウィンドウ下部に
PlatformIO インストール中
という表示が出ている間は VScode はほったらかしにする、

VSCode でなにかしていいのは、Output ウィンドウで
{code}
PlatformIO IDE installed successfully.

Please restart VSCode.
{code}

というメッセージが出てきたり、ポップアップで
PlatformIO インストール完了の通知
という表示が出たりウィンドウ下部が
PlatformIO インストール完了
になってから、ということで、それまでパソコンを放っておくのがベストです。

ちなみに壊れちゃった場合は、 VSCode の Extension から PlatformIO IDE をアンインストールして、 %USERPROFILE%/.platformio を削除してから再び PlatformIO IDE をインストールすればなおりました。

そうしてめでたく PlatformIO のインストールが無事完了して M5Paper_FactoryTest を開いてさあビルドだ!とやると

{code}
command 'platform-ide.build` not found
{code}

と謎のエラーになります。どうやら VSCode 起動後、プロジェクトのフォルダに対して PlatformIO の初期化処理があるらしく、フォルダを開いた後に
PlatformIO のプロジェクト初期化処理
みたいな表示(細かいテキストは変わるけれども、要するに処理中のくるくるアイコンが出ている間)はまだビルド等が始められないようです。
この表示が終わった後はビルドが行なえます。
初回フォルダを開いた時は依存ライブラリのダウンロードが行われるらしく結構時間がかかります。二回目以降はもっと短く済むようになりますが、どちらにせよ、開いてすぐにはビルド等は行えないので、しばらく待つ必要はあります。

そうして初期化処理が終わってビルドすると、めでたくビルドに失敗します。なんでやねん。

In file included from src\epdgui\epdgui_switch.h:4:0,
from src\epdgui\epdgui_mutexswitch.h:4,
from src\epdgui\epdgui_mutexswitch.cpp:1:
src\epdgui\epdgui_base.h:4:19: fatal error: M5EPD.h: No such file or directory

***************************************************************
* Looking for M5EPD.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:M5EPD.h"
* Web > https://platformio.org/lib/search?query=header:M5EPD.h
*
***************************************************************

どうやら依存に M5Paper の SDK が指定されていないということのよう。
platformio.ini というファイルがリポジトリにある以上、 PlatformIO でのビルドをサポートしていそうなものなのですが、なんで依存の設定がないんでしょうね。謎です。

ともあれ、VSCode のアクティビティバー(一番左の列)から PlatformIO(アリかハチの顔のアイコン)を開いて、QUICK ACCESS > PIO Home > Projects & Configuration から現在のフォルダをプロジェクトとして追加、その後 Libraries から、 M5EPD を検索、プロジェクトに追加します。
最終的には platformio.ini に

lib_deps = m5stack/M5EPD@^0.1.1

という記載が行われる結果になります。
その後ビルドすると、無事にビルドに成功します。

アップロードする際は USB ドライバを
https://docs.m5stack.com/en/quick_start/m5paper/quick_start_arduino
からダウンロードしてインストールしてから行います。
ちなみに USB ドライバは
https://shop.m5stack.com/pages/download
https://docs.m5stack.com/en/download
辺りからもダウンロードできるけれど、リンク先は一緒です。
製品情報から辿れる一番それっぽいルートが最初のもの、くらい。

長くなったので PlatformIO のインストールとビルドするまでの話で記事を分ければよかったと思うのであった。

このブログ記事について

このページは、イケダムが2021年5月 8日 12:29に書いたブログ記事です。

ひとつ前のブログ記事は「M5Paperを購入」です。

次のブログ記事は「M5Paper と m5paper-dashboard」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.04