firmware-build
arduino-cli でファームをビルド/書き込みする。ボード設定、ライブラリのバージョン固定、書き込み時の注意をまとめてある。ファームを触ったあと、実機で確かめる前に使う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
arduino-cli でファームをビルド/書き込みする。ボード設定、ライブラリのバージョン固定、書き込み時の注意をまとめてある。ファームを触ったあと、実機で確かめる前に使う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
compound engineering のステップ。ひとつの作業のあとに短く振り返り、学んだことを CLAUDE.md・スキル・hoard に畳み込む。意味のある作業の終わりごとに使う。
実機をシリアル越しに操作して挙動を確認する。tools/deck.py で JSON Lines を投げ、人間にしかできない確認は手順書にして渡す。ビルドが通ったあと、動いたと言い切る前に使う。
git の混乱を収拾し、履歴を手術する。コミットの取り消し・書き換え、conflict の解消、reflog からの復旧、git bisect による退行の特定。
新しく分かった小技を、動く最小例として hoard/ に保存する。非自明なことを初めて解決したあとに使う。
アルゴリズムや仕組みを、単一 HTML のインタラクティブ/アニメーション付きページで説明する。文章だけでは腑に落ちないときの認知的負債の返済に使う。
自動テストの外側で実物を動かして確かめ、結果を notes/ に記録する。ホスト側は使い捨てプログラム、実機はシリアル、web はブラウザ自動化。テストが通ったあと、完了と言う前に使う。
| name | firmware-build |
| description | arduino-cli でファームをビルド/書き込みする。ボード設定、ライブラリのバージョン固定、書き込み時の注意をまとめてある。ファームを触ったあと、実機で確かめる前に使う。 |
このプロジェクトは arduino-cli で開発する(Arduino IDE の GUI は使わない)。
uv run python tools/check.py compile
中身は次のコマンド。--build-path を固定しているのでキャッシュが効く
(初回 ~110 秒、以降 ~10 秒)。
arduino-cli compile --fqbn m5stack:esp32:m5stack_core2 \
--build-path build/arduino firmware/core2-deck
firmware/core2-deck/core2-deck.ino。
arduino-cli はフォルダ名と .ino 名の一致を要求するのでこの構成になっている。src/ 配下は再帰的にコンパイルされる。src/ 以外のサブフォルダは
コンパイルされない。新しいソースは必ず src/core/ か src/platform/ に置く。--fqbn に
:PSRAM=enabled,PartitionScheme=... の形で付け、README にも記録する。書き込みは勝手にやらない。 ポートを占有し、実機の状態を変える。 ユーザーが明示的に頼んだときだけ実行する。
# ポートは環境依存。まず uv run python tools/deck.py list で確認する
# Windows: COM9 など / macOS: /dev/cu.usbserial-XXXX / Linux: /dev/ttyUSB0
arduino-cli upload -p "$PORT" --fqbn m5stack:esp32:m5stack_core2 \
--input-dir build/arduino firmware/core2-deck
ポート番号は uv run python tools/deck.py list で確認する(CP210x = VID 10C4 が
Core2)。書き込み中は deck.py も arduino-cli monitor も使えない。
arduino-cli monitor -p "$PORT" -c baudrate=115200
対話的でブロックするので、エージェントから使うときは注意。tools/deck.py と
ポートを取り合うので、両方を同時に開かないこと。プロトコルの確認は
モニタではなく deck.py を使うほうが確実。
インストール済みのバージョンは arduino-cli lib list で確認できる。
バージョンを上げたら必ずビルドと実機動作を確認し、README に記録する
(仕様 §8/§14)。特に BLE HID 系のライブラリは ESP32 コアのバージョンに敏感で、
「たぶん動く」で決めてはいけない組み合わせが実在する。
新しいライブラリを入れるとき:
arduino-cli lib search <name>
arduino-cli lib install "<name>@<version>" # バージョンを明示して入れる
入れたら README の表を更新する。
undefined reference — src/ の外にソースを置いていないか確認する。arduino-cli lib list を見る。build/ を消してクリーンビルドを試す。arduino-cli cache clean。