M5StickC を VSCode で hello world する


M5StickC を購入したので、Visual Studio Code の開発環境を整えようとしたのですが、
けっこうはまったので他の人の助力になればのメモです。

前提

名称 バージョン 備考
Windows 10 64bit
M5StickC -
Arduino 1.18.13
Visual Studio Code 1.52.1
Arduino 0.3.4 Visual Studio Code のアドオン
C/C++ 1.1.3 Visual Studio Code のアドオン

大まかな流れ

  1. ドライバのインストール
  2. M5StickC を刺して稼働確認
  3. Aruduino SDK インストール
  4. Aruduino SDK の M5StickC の開発環境を整備して hello wolrd
  5. Visual Studio Code インストール
  6. Visual Studio Code の M5StickC の開発環境整備を整備して hello wolrd

作業手順

1. ドライバのインストール

[注意] こちらのサイトの ↓↓↓ 文言に助けてもらいました。

こちらURLsetup executable からダウンロードして実行すればOK。(※1 一番下にあります)

2. M5StickC を刺して稼働確認

  1. PC に M5StickC を接続します
  2. 正常に動作していれば、ポート(COMとLPT)のところに以下のように表示されます。(※2)

※2 環境によってCOMxの値は変わります。上記例はCOM3ですが、COM7とかそういうことがありえます。

3. Aruduino SDK インストール

こちら1-1 Arduino IDE の インストール がわかりやすいです。

4. Aruduino SDK の M5StickC の開発環境を整備して hello wolrd

  1. こちら1-3 ESP32マイコンのボード情報を取得 を実施。1-3-3 ボードの種類を設定 のときに M5StickC を選びましょう!
  2. こちら1-4 M5Stack Library をインストール を実施。1-4-2 M5Stack Library をインストール のときに、M5StickC Library をインストールしましょう!
  3. hello world を M5StickC で表示します。コードを書いて、左上の を押せば M5StickC に書き込まれます。

参考のコード

#include <M5StickC.h>

void setup(){
    M5.begin();
    Serial.begin(115200);
    M5.Lcd.setTextSize(2);
}

void loop(){    
    M5.Lcd.println("hello world"); //画面表示
    delay(3000);
}

5. Visual Studio Code インストール

こちら2-1. Visual Studio Code のインストール がわかりやすいです。

6. Visual Studio Code の M5StickC の開発環境を整備して hello wolrd

  1. Arduiono: Command Patharduino_debug.exe を設定します。

  2. Arduino: Path にさっきインストールしたフォルダを設定します。

  3. コマンドパレットを呼び出し(Ctrl + Shift + p)て、ボードの選択(Arduino: Board Configuration)で M5Stick-C を選択します。

  4. コマンドパレットを呼び出し(Ctrl + Shift + p)て、ライブラリ(Arduino: Library Manager)に M5StickC がインストールされていることを確認します。(Arduino SDK で入れているので入っているはず)

  5. 後は Arduino SDK と同じく hello world してみましょう!(同じコードでいけるはずです)

おまけ

Visual Studio Code を設定していたはまったところです。

1. M5StickC.h が include できない

設定不足。

対応方法

6. Visual Studio Code の M5StickC の開発環境整備 の 1, 2 が設定されているか確認してみてください。

2. M5Display.h が include できない

どうやら依存関係にある avr32/io.h が読み込めていないらしいのだが、
それが C/C++ のアドオンの設定がダメだからという理由らしい。。。

エラーメッセージ

ソース ファイルを開けません "avr32/io.h" (dependency of "M5Display.h")C/C++(1696)

対応方法

  1. Ctrl + , 押して設定画面を開く
  2. intell isense engine を検索
  3. C_Cpp: Intelli Sense EngineTag Parser を設定する

※1 ドライバの話

後々本家のドキュメントを探し当てれてみたら、ドライバ不要とありました。。。

Note: M5StickC /M5StickC PLUS / M5StickT / ATOM Matrix / ATOM Lite support can be used without driver, 
users can skip this driver installation step.

CP210X を入れて刺したら正常に認識されなかったんだけどな。CP210Xを入れていたからダメだったのだろうか。もし普通に刺しても認識されないようでしたら、上記手順に沿ってドライバ入れてもらったほうが無難かもしれません。