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
が結構いろいろ書いてあるのでつまづきそうな気がする。