別の記事ではさらっと書いているけど、最も時間がかかったのは表記の問題によるものだった。
単に自マシン(Ubuntu 18.04)にインストール済の vscode の問題なのかもしれないけど、一応解決したのでその方法を書いておく。(そもそも、M5Stack Gray というデバイスなんだけど Platform IOでは Grey になっているのは置いておく)
通常は、platformio.ini に以下のように書いておけばビルドできるはず。
[env:m5stack-grey] platform = espressif32 board = m5stack-grey framework = arduino
ところが、何度ビルドしても m5stack-grey なんていう board は知らないとエラーが出てしまう。
そこで、platformio の設定を確認するために、ホームディレクトリを調べてみた。
[Home] + .platformio + .cache + appstate.json + homestate.json + lib + packages + penv + platforms
.platformio ディレクトリ内に platforms ディレクトリがあり、その中にインストール済のデバイスの情報がディレクトリごとに分かれて入っている。
[Home] + .platformio + platforms + espressif32 + boards
M5Stack は espressif32 として提供されており、boards ディレクトリにデバイス情報を定義した json ファイルが格納されている。よく見ると、
+ boards (省略) m5stack-core-esp32.json m5stack-fire.json m5stick-c.json (省略)
M5Stack Gray 用の json ファイルが見当たらない。
どうやら、これが原因のようなので、該当する json ファイルを探してみたら以下のようなリポジトリ内に見つけた。
https://github.com/platformio/platform-espressif32/blob/master/boards/m5stack-grey.json
これを件のディレクトリにコピーすれば万事解決と思ったのだが、そのままは転送できずに若干の追記が必要だった。
*** /home/itoh/Downloads/m5stack-grey.json 2019-10-16 17:01:01.024886387 +0900 --- m5stack-grey.json 2019-10-16 17:06:10.509753134 +0900 *** 24,31 **** "flash_size": "16MB", "maximum_ram_size": 532480, "maximum_size": 16777216, "require_upload_port": true, ! "speed": 460800 }, "url": "http://www.m5stack.com", "vendor": "M5Stack" --- 24,32 ---- "flash_size": "16MB", "maximum_ram_size": 532480, "maximum_size": 16777216, + "protocol": "esptool", "require_upload_port": true, ! "speed": 921600 }, "url": "http://www.m5stack.com", "vendor": "M5Stack"
要するに転送方法の指定とボーレートの変更を行うようにすればよい。
以上で vscode で M5Stack Gray のビルドと転送ができるようになった。