À propos du projet

ESP-IDF (Espressif IoT Development Framework) est le framework de développement officiel pour les SoC Espressif, pris en charge sous Windows, Linux et macOS. Il cible les puces Espressif ; les SoC sortis avant 2016 (ESP8266 et ESP8285) sont quant à eux pris en charge par le SDK RTOS séparé. Le dépôt documente les calendriers de prise en charge des versions, les avis de fin de vie et la compatibilité entre les versions d'ESP-IDF et les révisions de puces. Chaque série de SoC et chaque version d'ESP-IDF possède sa propre documentation, et le README renvoie à la section Versions de la documentation en ligne pour trouver la documentation et extraire une version spécifique. Pour commencer, il faut installer les dépendances de compilation de l'hôte, exécuter un script d'installation (install.bat ou install.ps1 sous Windows ; install.sh ou install.fish sous les shells Unix), puis exporter l'environnement dans chaque shell (export.bat sous Windows, source export.sh sous Unix) avant d'utiliser ESP-IDF. Un projet modèle (esp-idf-template) et un ensemble de projets d'exemple dans le répertoire examples sont fournis ; pour démarrer un nouveau projet à partir d'un exemple, le répertoire de l'exemple est copié en dehors de l'arborescence ESP-IDF. Le flux de travail principal utilise l'outil en ligne de commande idf.py. `idf.py set-target <chip_name>` sélectionne la puce cible, et `idf.py menuconfig` ouvre un menu de configuration en mode texte. `idf.py build` compile l'application et le bootloader et génère une table de partitions à partir de la configuration. Le flashage s'effectue avec `idf.py -p PORT flash`, qui écrit l'application, le bootloader et la table de partitions sur une nouvelle puce et reconstruit automatiquement tout ce qui en a besoin ; si l'option de port est omise, il essaie le premier port série disponible. La sortie série est visualisée avec `idf.py monitor`, qui utilise l'outil esp-idf-monitor et peut décoder les sorties de crash et interagir avec le périphérique ; on le quitte avec Ctrl-]. `idf.py flash monitor` combine compilation, flashage et surveillance en une seule passe. Pour le travail itératif, `idf.py app` compile uniquement l'application et `idf.py app-flash` flashe uniquement l'application, avec reconstruction automatique lorsque les sources changent. `idf.py erase-flash` efface toute la flash, utile pour les modifications de table de partitions ou les mises à jour OTA, et peut être combiné avec d'autres cibles. Pour les forks non-GitHub, le README indique que les URL des sous-modules sont relatives et pointent vers GitHub ; le script tools/set-submodules-to-github.sh définit des URL absolues afin que `git submodule update --init --recursive` puisse aboutir. Cette étape est inutile lors d'un clonage depuis GitHub. Les ressources comprennent la documentation en ligne générée à partir du répertoire docs, une vidéo de guide pour débutants, le forum esp32.com pour les questions et les ressources communautaires, la section GitHub Issues pour les bogues et les demandes de fonctionnalités, ainsi qu'un guide de contributions.