La version 2.0 (bêta) de l'EDI Arduino est annoncée
Un EDI moderne pour Arduino maintenant disponible en téléchargement
Le 2021-03-05 21:57:21, par f-leb, Responsable Arduino et Systèmes Embarqués
Si vous avez développé sur une des cartes de la plateforme Arduino, vous avez forcément rencontré l’EDI standard d’Arduino, au moins pour faire votre premier blink (le « Hello world! » façon Arduino qui consiste à faire clignoter la LED intégrée en surface de la carte). Son développement a commencé en 2005 et n’a jamais cessé d’évoluer depuis. Aujourd’hui l’EDI prend en charge plus de 1000 cartes de développement de la famille Arduino, officielles ou non. Il est traduit en 66 langues, mentionné par plus de 3000 livres. Au cours de la dernière année, il a été téléchargé plus de 39 millions de fois.
Jusqu’à maintenant, l’EDI Arduino propose une interface simple et claire, suffisante pour la plupart des utilisateurs, dont les novices sur la plateforme. Les utilisateurs plus expérimentés lui reprochent des capacités d’édition limitées par rapport aux éditeurs modernes. De plus, ils réclament toujours des fonctions avancées de débogage, avec la possibilité de dérouler du code pas-à-pas, de contrôler le contenu des variables, de la mémoire et des registres sur des points d’arrêt.
L’EDI dans ses versions actuelles 1.x est développé en Java, et sa base de code monolithique rend difficile la mise en œuvre de telles fonctionnalités avancées sur une multitude de plateformes et OS.
Le code a commencé à être refactorisé en 2018 avec de grands changements. L’outil arduino-cli propose toutes les fonctionnalités de base de l’EDI que les utilisateurs avancés peuvent intégrer dans l’EDI professionnel de leur choix. Arduino-cli a été écrit en Golang.
En 2019, l’« Arduino pro IDE » est sortie en version Alpha. Ce nouvel EDI construit au-dessus d’arduino-cli est basé sur une pile de logiciels modernes (Theia et Electron).
Et aujourd’hui la team Arduino vient d’annoncer que la version 2.0 (bêta) de l’EDI Arduino est disponible au téléchargement et que ses référentiels de code deviennent open source. L’interface vous semblera très familière, mais l’éditeur offre maintenant des fonctionnalités avancées, une meilleure expérience utilisateur et un temps de compilation plus rapide.
En cours de frappe, l’éditeur suggère (enfin) l’autocomplétion des variables et des fonctions selon les bibliothèques que vous avez incluses :
Lorsque vous cliquez à droite sur une variable ou une fonction, un menu contextuel fournira des raccourcis de navigation pour passer à la ligne (et le fichier) où ils sont déclarés :
Mais il y a une autre grande fonctionnalité dans ce nouvel EDI : un débogueur en direct qui vous permet d’exécuter votre code de manière interactive sur une carte de développement et d’inspecter son exécution sans écrire des dizaines de Serial.println(). Il suffit d’étendre le panneau de débogage, définir des points d’arrêt où vous souhaitez mettre en pause l’exécution et inspecter le contenu des variables. Vous pouvez même changer le contenu des variables à la volée et reprendre l’exécution !
Le débogueur prend en charge les cartes basées sur les plateformes SAMD et Mbed (famille MKR, Nano 33 IoT, Nano 33 BLE, Portera, Zero). Vous devrez connecter une sonde de débogage au port JTAG.
La nouvelle version de l’EDI est basée sur le framework Eclipse Theia, qui est un projet open source basé sur la même architecture que VS Code. Le front-end est écrit en TypeScript, tandis que la plupart du backend est écrit en Golang.
Source Arduino Blog » Announcing the Arduino IDE 2.0 (beta)
Et vous ?
Utilisez-vous toujours les versions 1.x de l’EDI Arduino ?
Quel autre EDI utilisez-vous pour programmer votre carte Arduino ?
Êtes-vous intéressé par cette version 2.0 de l’EDI Arduino ?
Jusqu’à maintenant, l’EDI Arduino propose une interface simple et claire, suffisante pour la plupart des utilisateurs, dont les novices sur la plateforme. Les utilisateurs plus expérimentés lui reprochent des capacités d’édition limitées par rapport aux éditeurs modernes. De plus, ils réclament toujours des fonctions avancées de débogage, avec la possibilité de dérouler du code pas-à-pas, de contrôler le contenu des variables, de la mémoire et des registres sur des points d’arrêt.
L’EDI dans ses versions actuelles 1.x est développé en Java, et sa base de code monolithique rend difficile la mise en œuvre de telles fonctionnalités avancées sur une multitude de plateformes et OS.
Le code a commencé à être refactorisé en 2018 avec de grands changements. L’outil arduino-cli propose toutes les fonctionnalités de base de l’EDI que les utilisateurs avancés peuvent intégrer dans l’EDI professionnel de leur choix. Arduino-cli a été écrit en Golang.
En 2019, l’« Arduino pro IDE » est sortie en version Alpha. Ce nouvel EDI construit au-dessus d’arduino-cli est basé sur une pile de logiciels modernes (Theia et Electron).
Et aujourd’hui la team Arduino vient d’annoncer que la version 2.0 (bêta) de l’EDI Arduino est disponible au téléchargement et que ses référentiels de code deviennent open source. L’interface vous semblera très familière, mais l’éditeur offre maintenant des fonctionnalités avancées, une meilleure expérience utilisateur et un temps de compilation plus rapide.
En cours de frappe, l’éditeur suggère (enfin) l’autocomplétion des variables et des fonctions selon les bibliothèques que vous avez incluses :
Lorsque vous cliquez à droite sur une variable ou une fonction, un menu contextuel fournira des raccourcis de navigation pour passer à la ligne (et le fichier) où ils sont déclarés :
Mais il y a une autre grande fonctionnalité dans ce nouvel EDI : un débogueur en direct qui vous permet d’exécuter votre code de manière interactive sur une carte de développement et d’inspecter son exécution sans écrire des dizaines de Serial.println(). Il suffit d’étendre le panneau de débogage, définir des points d’arrêt où vous souhaitez mettre en pause l’exécution et inspecter le contenu des variables. Vous pouvez même changer le contenu des variables à la volée et reprendre l’exécution !
Le débogueur prend en charge les cartes basées sur les plateformes SAMD et Mbed (famille MKR, Nano 33 IoT, Nano 33 BLE, Portera, Zero). Vous devrez connecter une sonde de débogage au port JTAG.
La nouvelle version de l’EDI est basée sur le framework Eclipse Theia, qui est un projet open source basé sur la même architecture que VS Code. Le front-end est écrit en TypeScript, tandis que la plupart du backend est écrit en Golang.
Source
Et vous ?
-
archqtMembre émériteIls ont mis beaucoup trop de temps à sortir un truc à peu près correct, Visual Studio Code a pris le dessus.
Au moins avec VSCode on voit les étapes de la compilation, on retrouve facilement les fichier généré pour un éventuel "flashage" de la carte quand elle n'est pas reconnue directement comme un périphérique série USB. Avec l'IDE Arduino on ne voit rien.
Ils auraient du basculer sur VSCode et améliorer les extensions existantes plutôt que de faire cela. Ou mieux rajouter des plugins sous QtCreator pour avoir un IDE encore plus réactif.le 29/09/2022 à 22:37 -
electroremyMembre éprouvéOui, Notepad++ avec l'EDI Arduino en mode "éditeur externe"
Ca reste gérable sur Arduino UNO car avec 32ko de flash on ne peut pas avoir plus de quelques milliers de lignes de code C++ réparties dans différents fichiers.
Pour développer une appli sur une carte plus grosse ça sera plus difficile !
Cordialementle 09/03/2021 à 11:33 -
archqtMembre émériteOui il faut une sonde JTag pour que le déboggage marche. Je trouve dommage que cela sorte maintenant, autant travailler sur platformIO qui fait le Job déjà.
Ou alors carrément utiliser QtCreator et faire des plugins dessus pour rajouter la simulation avec périphériques, un peu comme tinkerCAD mais en local. Là cela donnerait une bonne "plus-value".
En configurant les bons outils QtCreator permet de faire aussi bien, en mieux avec complétion de code que l'IDE actuel.
Là on se retrouve encore dans la mouvance logiciel-libre, au lieu de collaborer sur un gros projet très bon, on a pleins de petits projets plus ou moins bon.le 06/03/2021 à 16:12 -
cd090580Membre avertiDommage que les projets ne semblent pas encore pris en compte tout comme des solutions multi-fichiers (c'était déjà faisable mais pas aussi facilement qu'avec un EDI style Visual Studio, NetBeans, Eclipse,.....)le 06/03/2021 à 21:37
-
jpbbricoleMembre émériteBonjour Beginner
Je ne suis pas expert de la chose, mais il me semble que le "couple" Atmel Studio VisualMicro utilise le compilateur de l'IDE Arduino.
Il en va de même, je le pense, qu'une autre alternative à l'IDE officiel, Programino que j'ai aussi pratiqué, il est assez sympa, plein de petits outils utiles. Il a surtout l'autocomplétions, outil indispensable.
Cordialement
jpbbricolele 09/03/2021 à 8:22 -
Jay MExpert confirméC'est si c'est différent alors je trouve ça un peu dommage... Un même programme qui fonctionnerait différemment selon l'IDE utilisé...
Arduino rajoute des bibliothèques de fonctions - dont le code source est disponible - et l’IDE simplifie la vie en générant le code du main() qui s’occupe de bien configurer la carte choisie et ensuite de trouver les bonnes bibliothèques et lancer une phase de compiler / linker pour générer le code machine de la carte cible.le 09/03/2021 à 9:35 -
electroremyMembre éprouvéIl y a aussi Sloeber (Eclipse) qui est un IDE plus pro mais aussi plus lourd ; mais ça peut valoir le coup pour des projets d'envergure.
A bientôtle 14/06/2021 à 18:53 -
jpbbricoleMembre émériteBonsoir
J'utilise Atmel Studio 7, avec le complément vMicro, vraiment super!
Je vais m'intéresser à cette nouvelle version de l'EDI Arduino, il a enfin l'autocompletion!
Merci pour l'info.
Bonne soirée.
jpbbricolele 05/03/2021 à 22:16 -
Beginner.Membre expertSalut,
Ah c'est intéressant même si là on retrouve ce que l'on a déjà (en partie du moins) avec VS Code...
Le débogage m’intéresse beaucoup alors quand j'ai lu ça j'ai trouvé ça chouette mais fausse joie je crois car en fait si j'ai bien compris cette fonctionnalité n'est disponible que pour certaines cartes et en plus il faut du matériel supplémentaire...
J'ai essayé Atmel Studio 7 seul, ce que j'ai trouvé intéressant c'est le simulateur...le 06/03/2021 à 0:37 -
Beginner.Membre expertOui platformIO m'a semblé intéressant, je l'ai installé avec VS Code...le 06/03/2021 à 19:19