鳥なき里のマイコン屋(75) VS CodeでM5Stack、ちょっと設定

JosephHalfmoon

前回、VS CodeとPlatform IOをインストールして、あまりに簡単にM5Stack用の「スケッチ」(VS Code上では、立派な main.cppですが)のビルドと実行に成功し、VS Code凄い凄いと浮かれてしまいました。それでついつい細かいところを端折ってしまいました。最低限の設定くらい済ませておかないとね。ということで今回は前回の落穂ひろい。

まずは、前回、本体インストールしたまま、英語モードで使っていたのを改めました。日本語化するためのランゲージ・パックもExtensionsから一撃でインストールできるのでした。日本語化するとこんな感じ。何か安心。ついでに後のステップのためにloop()にちょいと書き足しました。VS Code, LANG=JP

上部のメニューを眺めて、凄く気になったのがデバッグです。VS Codeはエディタです。エディタを入れ替えたからと言って、急に今までArduinoIDEで出来なかったようなことができるようになる筈がありません。でも、押してみるだけなら只なので、デバッグ開始、してみましたよ。debugM5Stack

当然と言えば、当然ですが、PlatformIOと言えども、現状はサポートしていないと、怒られてしまいました。何かデバッグ用のプローブの経路がもう一本無ければね。

では、ArduinoIDEでやる手の、シリアルコンソールでprintfデバッグはどうでしょうか。(上のコードで、仕込みが入っているの気付いていましたよね?)ArduinoIDEのビルドアイコンなどの雰囲気ににた、画面下側のステータスラインの、右の方、電源コンセントのようなアイコンがシリアルコンソールを開くためのものです。VSCode, STATUS LINE

早速、押しました。オヨヨ。何かわけの分からない文字がズラズラと羅列されていくではないですか。そのうちエラーを吐いて落ちました。

どうも通信設定あっていないみたい。

吐き出されたログを見ると、ボーレートが9600みたいです。これは駄目だ。platformio.iniの中にシリアルモニタの速度指定を書いておかないとイケなかったのです。1行書き加えました。こんな感じ。PlatformIO, monitor_speed

さて、気を取り直して、シリアルモニタを再起動してみます。

いい感じです。予定どおり、printf()で1から順に数字が出てくる。SerialMonitor, M5Stack

なお、シリアルモニタ起動時のメッセージにあるとおり、シリアルモニタの中止はCTRL-C、メニューはCTRL-Tでした。CTRL-TのあとにCTRL-Hすれば、ヘルプだよん、ということなので、見ておきました。(CTRL-Cはともかく、CTRL-Tの反応はちょっと一拍かかる感じ)pyserial

裏で動いていたのは、pySerialのようです。

とりあえずシリアルモニタが動けば、ArduinoIDEと同様にコード書いてデバッグできるんじゃありませんか。さらに、VS Codeでは、インテリセンスが候補をビシビシと上げてくるので、うろ覚えのまま適当に書いていても何とかなります。記憶力減退の年寄りには嬉しい限り。また、「定義へ移動」とか強力な編集機能が使えます。例えば、

M5.begin();

のbegin()にカーソルをおいて「定義へ移動」すれば、M5Stack.cppを開いて、その中の

void M5Stack::begin(

が表示されます。ほかにも便利な機能がてんこ盛りです。この際、VS Codeにみんなまとめてしまう?というような気がしているこのごろです。まあ、機能も膨大なので、慣れるまでは大変そうですが。

鳥なき里のマイコン屋(74) VS Codeでマイコン・ソフト開発 へ戻る

鳥なき里のマイコン屋(75) VS CodeでNucleo、PlatformIO超便利 へ進む

鳥なき里のマイコン屋 投稿順 Index