La communauté Arduino, qui développe une série de cartes ouvertes basées sur des microcontrôleurs, a publié la version intégrée de l'environnement de développement Arduino IDE 2.3, offrant une interface pour écrire du code, compiler, télécharger des firmwares sur du matériel et interagir avec les cartes pendant le débogage. Le développement des firmwares se fait sur une version légèrement réduite de C++ avec le framework Wiring. Le code de l'interface de l'environnement de développement est écrit en TypeScript (JavaScript typé), et le backend est réalisé en Go. Les codes sources sont distribués sous la licence AGPLv3. Des paquets prêts à l'emploi ont été préparés pour Linux, Windows et macOS.
La branche Arduino IDE 2.x est créée sur la base de l'éditeur de code Eclipse Theia et utilise la plateforme Electron pour construire l'interface utilisateur (la branche Arduino IDE 1.x était un produit autonome écrit en Java). La logique liée à la compilation, au débogage et au chargement des firmwares a été déplacée dans un processus d'arrière-plan séparé appelé arduino-cli. Parmi les fonctionnalités de l'IDE : prise en charge du protocole LSP (Language Server Protocol), complétion automatique adaptative des noms de fonctions et de variables, outils de navigation dans le code, prise en charge des thèmes, intégration avec Git, support du stockage de projets dans le cloud Arduino Cloud, surveillance du port série (Serial Monitor).

Dans la nouvelle version, le débogueur intégré, prenant en charge le débogage en mode live et offrant la possibilité d'utiliser des points d'arrêt, a été passé au rang des fonctionnalités stables. Le débogueur est basé sur un framework standard, ce qui permet d'ajouter facilement la prise en charge du débogage pour n'importe quelle carte et d'utiliser l'interface standard d'Arduino IDE lors du débogage. Actuellement, la prise en charge du débogage est mise en œuvre pour toutes les cartes Arduino basées sur le noyau Mbed, telles que GIGA R1 WiFi, Portenta H7, Opta, Nano BLE et Nano RP2040 Connect. La prise en charge du débogage pour les cartes basées sur le noyau Renesas, telles que UNO R4 et Portenta C33, est prévue pour être ajoutée dans un proche avenir, après quoi la possibilité de débogage sera également disponible pour les cartes Arduino-ESP32.
Source : opennet.ru
