ESP-IDFはビルドシステムとして CMake と Ninja を使用する。
- CMake: プロジェクト構成を定義するもの。
CMakeLists.txtでビルドプロセスを設定する。 - Ninja: CMakeによって生成されるビルドスクリプトを高速に実行する。
プロジェクト構成
ESP-IDFの典型的なプロジェクト構造は以下のようになる。
project/main/CMakeLists.txt: アプリケーションコード用のビルド設定main.c: アプリケーションのエントリーポイント実装
CMakeLists.txt: プロジェクト全体のビルド設定sdkconfig: コンパイル時の設定
swift-embedded-examplesを見る
いわゆるLチカを見ていく。 https://github.com/apple/swift-embedded-examples/tree/main/esp32-led-strip-sdk
esp32-led-blink-sdkというやつもあったが光らなかった。DevKitMに乗ってるのはカラーLEDで、esp32-led-strip-sdkのREADMEにはカラーLEDを動かしてる写真が乗ってたので、blinkが単色LED、stripがカラーLEDを意味するのだろうか。
esp32-led-strip-sdkはC6を想定したサンプルコードのようだが、LEDのピン番号を書き換えるだけで動いた。
次やること
Main.swift の書き方とBridging Header周りはなんとなく触ってわかったので、IDFの新規プロジェクトからLチカサンプルまで自分でたどり着くかどうかやってみる。
CMakeLists.txt が結構いろいろ書いてあるのでつまづきそうな気がする。