>100 Views
January 30, 26
スライド概要
2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京でLTした資料です。
https://m5stack.connpass.com/event/329550/
PlatformIO IDE用M5Stack定型コード環境は,Arduino IDE 環境と同じように PlatformIO IDE 環境でも setup()とloop()の中身を書いてすぐにコンパイルして実行できます。
ロボットと一緒に暮らす日々
PlatformIO IDE用M5Stack定型コード環境の紹介 Introduction to M5Stack Boilerplate Code Environment for PlatformIO IDE さいとてつや @saitotetsuya 20240923-01版 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京
PlatformIO IDEとは? • マイクロソフト社のVisual Studio Code上で動く組C/C++用統合開発環境 • Arduino IDEとともにM5Stackの プログラム開発でよく利用されている • 私が気に入っているところ • 使用するライブラリの管理が楽 →プロジェクト毎の管理 • コンパイルが速い • Visual Studio Code上で動く →Cursor(The AI Code Editor) 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 2
M5Stackのプログラム開発で困ること • そもそも環境構築でつまずく →特にPlatformIO IDEで多い印象 • M5Stack沼の住人は初物を買いがち →動作確認のため専用ライブラリのexamplesを動かしたい • 専用ライブラリはAPIがまちまち • M5Unifiedで機種間の相違点はほぼ吸収されている 例:M5.begin()の引数がまちまちな問題の解決 • 一方でM5Unifiedベースの専用ライブラリが出現 例:M5Dial.begin([m5::M5Unified::config_t,] bool, bool) • 特定の機種にしか存在しないハードは専用ライブラリを使うしかない 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 3
PlatformIO IDE用M5Stack定型コード環境 • 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/ 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 4
一般的なPlatformIO IDEでの開発手順 初期設定 ① Visual Studio Codeをインストール ② 拡張機能からPlatformIO IDEをインストール プロジェクトの作成 ① PIO HomeからNew Projectを押してProject Wizardダイアログを表示 ② 実機に合わせてボードを選択してプロジェクトを作成 ③ PIO HomeのLibrariesから対応する公式ライブラリをインストール ④ src/main.cppにコードを書く(examplesからコピペでも良い) →面倒くさい 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 5
M5Stack定型コード環境での開発手順 初期設定 ① Visual Studio Codeをインストール GitHubから Use This Templateで クローンしたものを 開いても良い ② Source Controlアイコンを押してClone Repositoryを選択し, https://github.com/3110/m5stack-platformio-boilerplate-code/ を クローンする ③ platformio.iniをクリックすると自動的に拡張機能がインストールされる プロジェクトの作成 ① 実機に合わせて環境を選択する ② src/main.cppにコードを書く(examplesからコピペでも良い) 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 6
MFT 2024のUnit Puzzle Demoの場合 • unit_puzzle.hppをincludeに置く UNIT_PUZZLE_DATA_PIN(2)の確認 • puzzle_demo.cppをmain.cppにコピペ • M5.begin()→M5_BEGIN() • M5.update()→M5_UPDATE() • M5.→M5DEV. 便利 ATOMS3.* ※FastLED依存 • env:m5stack-atoms3を選択 →M5Unifiedベースの専用ライブラリ • PlatformIO:uploadボタンを押して ファームウェアを実機にダウンロード 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京 7