2023/1/4 文章修正と内容訂正しました。
2023/4/12 ESP-IDFバージョンについての記述を追加しました。
公式版ESP-IDFのAPIはV4.4からV5へのバージョンアップで大幅に仕様が変わっていました。
PlatformIO版ESP-IDFはV6が公式版V5に相当します。これがややこしく、私も混同していましたので、以下のPCNTについての内容はPlatformIO版V5では公式版V5の記述ができない、という至極当然のことだったわけで、訂正いたします。
PCNTも含まれ、記述や関数名が変わっています。参考はここ
ところが、PlatformIOでESP32-S3をESP-IDF V5.1.1で開発してみると、新しい仕様のPCNTが使えない。無理やり「pulse_cnt.h」「pulse_cnt.c」を組み込んでも当然ながらframeworkにhalのドライバが存在しないのでリンカが通らない。なにより小手先の対策はESP-IDFのバージョンを変えるとフレームワークも一新されるので得策ではありません。
今回はレガシィ記述でPCNTを使うことにしました。その覚書です。