vscode で M5Stack Gray のビルドができない

別の記事ではさらっと書いているけど、最も時間がかかったのは表記の問題によるものだった。

単に自マシン(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 のビルドと転送ができるようになった。