VS CodeでM5Paperのコーディングをしたい!(PlatformIO)
前回
なんて風にUIFlowというやつでGUIプログラミングをやってみてたのですが、やっぱりキーボードでガリガリやったほうが捗る気がするので、VS Codeでやてみるわけです。
参考サイト
基本、↑に従ってやってみたのですが、なんだかちょっとうまくいったりいかなかったりで試行錯誤が必要でした。まあ、なんとかうまくできるようになったのでメモなのです。
VS CodeとPlatformIO拡張のインストール
は、参考サイトにもあるので省略ッ!
↑このアリさん(かな?)の顔が入っていればOK。
PlatformIO使い方
微妙にクセがあります。
Arduinoのプロジェクトのインポートもできるようですが、これからやるプロジェクトウィザードでまずプロジェクトを作成して、その上にソースを持ってきて作成するほうがよさそうです。
プロジェクトウィザード
左端のアリさんアイコン、または、画面下の家の形のアイコンでPlatformIOのホーム画面を呼び出し、Quick Accessから +New Projectでプロジェクトを作成します。
すると、
こんなProject Wizardがひらくので、上のように設定します。
※Board名は、M5PaperであってもM5Stack FIREを選びます(今のところ)
↑Testというプロジェクトを作成したところ。
最初にプロジェクトフォルダ内の Platformio.ini というファイルが開かれています。各種設定はこのiniファイルに記入していきます(自動で入ることもある)
ライブラリの設定
PIO Homeタブ(か、下の家アイコン)で、PlatformIOのHOME画面をまた呼び出し、
libraryボタンから、「M5EPD」で検索、
ヒットしたこの赤枠をクリックすると
こんな感じの画面になるので、 [Add to Project]ボタンを押し、
Select a Project から、先ほど作成したプロジェクトを選び、Addします。
すると、こんなかんじで追加できたよーと言われ、
platformio.ini に
こんな行が追加されているわけですね。
main.cpp 修正
src/main.cpp を選択し、編集します。
ArduinoIDEでM5Paper用のサンプルコードを呼び出して、
これをコピペして貼り付けちゃいます。
#include <M5EPD.h>
M5EPD_Canvas canvas(&M5.EPD);
void setup()
{
M5.begin();
M5.EPD.SetRotation(90);
M5.EPD.Clear(true);
M5.RTC.begin();
canvas.createCanvas(540, 960);
canvas.setTextSize(3);
canvas.drawString("Hello World", 45, 350);
canvas.pushCanvas(0,0,UPDATE_MODE_DU4);
}
void loop()
{
}
↑コピペ用。
Build
Buildボタンはコレです。
Buildタスクがみりみりと動いて
SUCSESS と出たら成功!(∩´∀`)∩☆
閉じるには任意のキーを、とかかれてますが、スペースバーとか押すともっかいBuildしちゃうのでスペース以外でw
実機へ転送!
Build出来たら、Uploadです。
↑の矢印ボタンがそう。M5PaperをUSBで接続し、ポチってみましょう。
みりみり転送して、
SUCSESS!
M5Peperの画面を見ると……
でけた! いえーい!(∩´∀`)∩☆
この段階ではたいして御利益ないですが、ArduinoIDEよりBuild自体高速に進むっぽいのと、VS Codeのお家芸のコード補完、Gitとかのバージョン管理と連携しやすいなどなど、ちょっとしたプログラム以上のプログラムを作ろうとしたら、絶対こっちの方が楽だとおもうです。
特にM5Paperは UIのボタンとかも自分で作らないといけなさそうなので、今後はこちらでガリガリ作る感じになるかとおもいます(´・ω・)(・ω・`)ネー。
てなこって、本日2本目ッ!w