« ESP32開発ボード用にブレッドボードをカット | トップページ | ESP32開発ボード用に830穴ブレッドボードをカット »

2024年4月16日 (火)

Arduino ESP32 ライブラリの不用意なバージョンアップは危ないかも

TinyBasicの拡張をやっている際に、最新APIライブラリの説明と、実際にArduino IDEでコンパイルに使っているバージョンに差がある事が分かったため、少し調べてみました。

Arduino ESP32 の最新APIライブラリの説明を参照すると、ledcAttachや、ledcAttachChannelがあります。
 でも私のArduino IDEの環境では、エラーが出てしまい実際には使えませんでした。
 ledcSetupやledcAttachPinの記載はないものの、こちらの方は問題なく使えたため、コード記述・コンパイルに使いました。

Arduino ESP32 APIの更新情報には、2.Xから3.0への更新の際の差分として、LEDCだけでも以下の記載があります。
 破壊的な更新( breaking changes )として、大々的に変わってしまう様で、詳細なマイグレーションガイドも書かれています。
 Photo_20240415154901
 
正直、こんなに変わってしまって、いいの? って感じです。困ってしまう人が続出しそう。危ない危ない!

・自分のArduino IDEで使っているライブラリは最新のはずだと思っていますが、アップデートの仕組みや仕方が良く分かっていません。
一応、Arduino IDEのボードマネージャーでは、esp32 by Espressif Systemsが2.0.15(プルダウンメニューの最上位)をインストール済み。ボードじゃなくて、ライブラリマネージャーを開いても、それらしき項目を見つけきれません。
 Photo_20240415161601_20240417164601

・気になるのは、今後最新のものに勝手にアップデートがかかってしまうと、コンパイルでエラーが出てしまう点です。
 その場合は3.0ではなく、2.Xに戻せばOKのはずなんだろうとは思います。
 まだライブラリを戻すとかやった事がないので、必要になった時に改めてやり方を調べる予定。
 複数のバージョンを共存させる方法もありそうです。
 └esp32-arduinoの複数バージョンを共存させる | Lang-ship

・もし、不用意にアップデートすると、下の記事の様に余計な手間がかかるみたいで、それはそれで危険そうですしね。
 └[ESP32]Arduino core for the ESP32のバージョンを上げると動作しなくなったことについて | farmsoft
 └Arduino IDE ESP32ボードのバージョンアップに伴うTimerCameraライブラリの変更内容 - MSR合同会社 (msr-r.net)

・どうもライブラリがリリースが公開されるのは、GitHubの様です。
 GitHub - espressif/arduino-esp32: Arduino core for the ESP32 を開くと、画面右下の方に、Releases (53)と言うところがあり、
 そこに Arduino Release v2.0.15 based o... (Latest)とあり、ボードマネージャーで見た、
 esp32 by Espressif Systemsの2.0.15 と一致しています。
 Photo_20240416195601
 上記赤丸部分を拡大したのが以下。
 Photo_20240416193801
 上記の(Latest)をクリックすると、Arduino Release v2.0.15の説明画面に飛び、こちらにも右端には(Latest)とあります。
  Photo_20240416194001

 + 52 releases をクリックしたら、v3.0.0が出てきました。但し(Latest)ではなく、右端は(Pre-release)になっています。
 Photo_20240416194201
 開発環境ESP-IDFのv5.1に合わせた、ライブラリアップデートの様ですが、まだ先行リリースの段階の様です。
 なので、ライブラリが勝手にアップデートされる事はないのでしょうね。


いろいろと調べると、Espressif社の公式な開発環境は、ESP IDFの方であり、Arduino IDEは有志により開発されているらしい事も分かってきました。どうりでコントリビューターのアイコンが沢山並んでいます。

まだ、v3.0.0は(Pre-release)なので、Arduino IDEで自動ではアップデートされないとしても、今後(Latest)になると、自動アップデートされて、エラーに見舞われアタフタしそうな予感がします。

今後、GitHubのArduino ESP32 ライブラリの情報は、今後もウォッチしておく必要がありそうです。特に下記の右下赤丸部分。
Photo_20240416195601

 

2024-5-5追記 最新ライブラリを覗いてみたら、2日前に、v2.0.16に更新されていました。

説明ではUART関係の更新で、Updateしても問題なさそうなので、更新しました。
Photo_20240505103601

Arduino IDEを起動したら、更新するか聞かれ、ボードマネージャーでUPDATEを押し更新しました。
Photo_20240505103901

 


 

続報あればまた。

 

« ESP32開発ボード用にブレッドボードをカット | トップページ | ESP32開発ボード用に830穴ブレッドボードをカット »

電子工作:ESP32」カテゴリの記事

電子工作:ESP32 TinyBasic」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« ESP32開発ボード用にブレッドボードをカット | トップページ | ESP32開発ボード用に830穴ブレッドボードをカット »