別の記事ではさらっと書いているけど、最も時間がかかったのは表記の問題によるものだった。
単に自マシン(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 のビルドと転送ができるようになった。