Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PlatformIO IDE用M5Stack定型コード環境の紹介

PlatformIO IDE用M5Stack定型コード環境の紹介

PlatformIO IDEでArduino IDEのようにsetup()・loop()を埋めて,機種に合わせた環境を選ぶだけでコンパイルして実機にダウンロードできる環境を紹介します。

SAITO, Tetsuya

September 23, 2024
Tweet

More Decks by SAITO, Tetsuya

Other Decks in How-to & DIY

Transcript

  1. PlatformIO IDEとは? 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 •

    マイクロソフト社のVisual Studio Code上で動く組C/C++用統合開発環境 • Arduino IDEとともにM5Stackの プログラム開発でよく利用されている • 私が気に入っているところ • 使用するライブラリの管理が楽 →プロジェクト毎の管理 • コンパイルが速い • Visual Studio Code上で動く →Cursor(The AI Code Editor) 2
  2. 3 M5Stackのプログラム開発で困ること 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 •

    そもそも環境構築でつまずく →特にPlatformIO IDEで多い印象 • M5Stack沼の住人は初物を買いがち →動作確認のため専用ライブラリのexamplesを動かしたい • 専用ライブラリはAPIがまちまち • M5Unifiedで機種間の相違点はほぼ吸収されている 例:M5.begin()の引数がまちまちな問題の解決 • 一方でM5Unifiedベースの専用ライブラリが出現 例:M5Dial.begin([m5::M5Unified::config_t,] bool, bool) • 特定の機種にしか存在しないハードは専用ライブラリを使うしかない
  3. 出典: PlatformIO IDE用M5Stack定型コード環境 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京

    • PlatformIO IDEでもArduino IDEのように 楽したい • setup()・loop()を埋めて機種ごとに定義した 環境を選択するだけでOK • 現在22機種でビルドが可能 →platformio.ini参照 • 機種間の差異の吸収 • ARDUINO_M5STACK_* • M5_BEGIN(), M5_UPDATE() • M5DEV_LOG*() →include/main.hpp参照 https://github.com/3110/m5stack-platformio-boilerplate-code/ 4 差異はすべてここに 書かれている
  4. 一般的なPlatformIO IDEでの開発手順 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 初期設定

    ① Visual Studio Codeをインストール ② 拡張機能からPlatformIO IDEをインストール プロジェクトの作成 ① PIO HomeからNew Projectを押してProject Wizardダイアログを表示 ② 実機に合わせてボードを選択してプロジェクトを作成 ③ PIO HomeのLibrariesから対応する公式ライブラリをインストール ④ src/main.cppにコードを書く(examplesからコピペでも良い) →面倒くさい 5
  5. M5Stack定型コード環境での開発手順 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 初期設定 ①

    Visual Studio Codeをインストール ② Source Controlアイコンを押してClone Repositoryを選択し, https://github.com/3110/m5stack-platformio-boilerplate-code/ を クローンする ③ platformio.iniをクリックすると自動的に拡張機能がインストールされる プロジェクトの作成 ① 実機に合わせて環境を選択する ② src/main.cppにコードを書く(examplesからコピペでも良い) 6 GitHubから Use This Templateで クローンしたものを 開いても良い
  6. 7 MFT 2024のUnit Puzzle Demoの場合 2024年9月23日(祝) M5 Japan Tour 2024

    Autumn 東京 • unit_puzzle.hppをincludeに置く UNIT_PUZZLE_DATA_PIN(2)の確認 • puzzle_demo.cppをmain.cppにコピペ • M5.begin()→M5_BEGIN() • M5.update()→M5_UPDATE() • M5.→M5DEV. • env:m5stack-atoms3を選択 →M5Unifiedベースの専用ライブラリ • PlatformIO:uploadボタンを押して ファームウェアを実機にダウンロード 便利 ATOMS3.* ※FastLED依存