Quel est votre éditeur/deboggeur/compilateur préféré pour Arduino ?

Bonjour,

Je crée ce topic pour que chacun donne le nom de son éditeur préféré et en expose en quelques lignes les raisons.

Pour ma part je suis passé de l'éditeur Arduino qui a eu vite fait de me :stuck_out_tongue_closed_eyes:
à PsPad.
PsPad est sans doute très bien pour qui programme dans des langages divers mais il a tellement d'options que l'on s'y perd. J'aurais aimé avoir une interface qui ne présente que les options que l'on retient, c'est a dire, par exemple, un fichier où l'on met le "skin" que l'on a retenu pour Arduino.

Ensuite je vois qu'il y a aussi NotePad++, Kate, VisualStudio et sans doute plein d'autres.....

Les critères de choix que je vois seraient :

-utilisation pour seulement Arduino ou pas

  • possibilité de personnaliser l'interface uniquement pour Arduino ou à la rigueur pour le C.
  • facilité de transfert pour la compilation
  • aide au déboggage
  • OS utilisé
  • prix de l'éditeur.

Voilà , si vous me répondez, je veux bien faire la synthèse des réponses.
D'avance merci

Hello :slight_smile:

Etant nouvel utilisateur sur Arduino j'aimerais savoir ce qui t'a gené à ce point dans l'éditeur de base ?

Hello
Je ne suis pas non plus un vieil utilisateur, mais ,par exemple, quand on commence a écrire des PGM assez longs et que l'on joue avec du copier/coller en version française sur l'éditeur Arduino, on se prend vite une crise de nerfs !
Par exemple en ce moment je teste NotePad ++ et je découvre qu'apparemment on peut se faire un "skin" pour Arduino.
L'objectif d'un bon éditeur c'est de faciliter la lecture du programme ( et de pouvoir l'imprimer facilement), donc il faut distinguer par des couleurs les commentaires, contrôler la syntaxe, afficher les occurrences des variables, etc, etc.
Je rajoute qu'en quelques minutes d'utilisation de NotePad++ je découvre que les "{" sont reliés entre eux dans la marge, qu'il y a aussi un petit - que l'on peut transformer en + pour développer ou pas le "void" , sympa tout cela !

Bonjour,
J'utilise AVR Studio 5.1. J'ai pas encore migré à la nouvelle version car celle-ci me convient.

J'utilise aussi l'environnement Arduino standard pour tester/uploader rapidement de petits sketches.

Je commence à jeter un oeil à Ardublocks pour essayer d'intéresser mon fils de 11 ans à l'aspect développement sur Arduino (il s'intéresse déjà à l'aspect électronique).

Voici une image de présentation de NotePad++ configuré pour le C# et avec "Deep Black" comme configurateur de couleur syntaxique.
: http://cjoint.com/?CBonsoJD0NK
Pas mal non ?

J'ai réussi à lancer Arduino depuis le NotePad++ mais je voudrais lui mettre le nom de programme sur lequel je travaille en paramètre...

J'ai bien l'idée de pouvoir masquer les boucles...

Bonjour,

Pour ma part (par ordre de préférence) :
Eclipse CDT :

  • utilisation avec n'importe quel compilateur/plateforme basé sur la toolchain gnu (gcc/g++/gdb/...)
  • énormément de fonction de refactoring/mise en forme rapide (même un peu trop si on est débutant)
  • détection des erreurs de syntaxe, avertissement sémantique et vérification du code en temps réel
  • Linux / Mac / Windows (et autre, IDE en java)
  • gratuit
  • demander des connaissance en makefile / script post-build + avrdude pour l'upload sur carte arduino

AVR Studio :

  • utilisation avec n'importe quel microcontrôleurs ATMEL
  • inclut un simulateur et plein d'outils pour faire du développement sur AVR
  • upload sur carte via avrdude (en STK500) inclut de base
  • moniteur série trés complet en plugin
  • relativement lourd (+ 700Mo) et basé sur l'éditeur VisualStudio en "Stand-alone" (ça peut foutre le bouzin avec une autre installation de VisualStudio)
  • windows uniquement
  • gratuit mais demande une inscription sur le site d'atmel (ou un compte myATMEL)

Notepad++ :

  • utilisation pour quasiment n'importe quel langage
  • coloration syntaxique personnalisable ("user language")
  • la compilation et l'upload doivent ce faire à la main ou via un makefile
  • aucun outils / extra, juste quelques plugin sympa (compare, ...)
  • windows uniquement
  • gratuit

Nano :

  • utilisation pour n'importe quoi
  • 100% personnalisable via des fichiers de configuration
  • la compilation et l'upload doivent ce faire à la main ou via un makefile
  • il faut maitriser l'édition en mode console (les gui c'est pour les faibles !)
  • linux et mac + un portage pour windows
  • gratuit

Merci Skywodd pour toutes ces infos.

J'ai regardé Eclipse CDT, cela me semble bien compliqué et sans doute réservé à ceux qui sont programmeurs de métier.
J'essaierais aussi de regarder AVR Studio.

Mais je vais sans doute rester sur NotePad++ qui m'a surtout séduit par sa prise en main rapide et ses possibilités de personnalisation.

A ce propos, je me comprends pas pourquoi tu écris qu'il faudrait faire un makefile sur NotePad++ alors qu'il y a ceci :

http://npp-community.tuxfamily.org/documentation/notepad-user-manual/commands.

Ce qui permet de réaliser cela :

"Commands allow you to execute applications from Notepad++, for example to open your current file in a browser or compile it with some external compiler. You can pass the program command line parameters based on the current status of your document."

Je n'y suis pas encore arrivé à le configurer mais j'essaye !

Bonjour sans aucun doute
Visual studio et le plugin visual micro avec son debugger

http://www.visualmicro.com/

++

Intéressant tout ça... en existe-t-il un qui permet de voir tout l'environnement Arduino ?

Je pense par exemple à l'interruption d'overflow qui est active sur le timer1... j'aimerai bien en voir le code, pouvoir le modifier ou le supprimer dans un projet specifique sans impacter mes autres projets.

oldchap : Visual Studio est payant ?

FideleCastor:
Merci Skywodd pour toutes ces infos.

J'ai regardé Eclipse CDT, cela me semble bien compliqué et sans doute réservé à ceux qui sont programmeurs de métier.
J'essaierais aussi de regarder AVR Studio.

J'utilise Eclipse tous les jours au boulot et la dernière chose que je souhaite c'est le retrouver chez moi à la maison!
J'aime vraiment bien AVR Studio même s'il y a un peu de config à faire.

J'ai trouvé le moyen de lancer directement la compilation à partir de NotePad++ :
Pour y arriver j'ai chargé le programme complémentaire NNPExec
Ensuite je clique sur la commande Exécute de NPPexec et je copie quelque chose comme cela :
C:\Outils\arduino\arduino-1.0.3\arduino.exe "$(FULL_CURRENT_PATH)"
Je sauve et ensuite à chaque fois que j'appuie sur F6, NP++ lance Arduino en petite fenêtre avec le programme courant qui se compile.
Il ne me reste plus qu'à lancer "vérif" et si OK "versement".
Si pas OK, je reviens de suite sur l'éditeur NP++ qui est resté en arrière plan.
Je n'ai même pas besoin de sauvegarder le programme courant sur NP++ avant de lancer F6 !
je trouve cela plutôt satisfaisant.

Comme cela correspond bien à ce que je voulais, je vais m'arrêter là, pour le moment, dans mes recherches d'éditeur.
Lorsque je reviendrais dessus ce sera pour trouver un moyen de vérification en ligne, et dans l'éditeur, de la syntaxe avant de lancer la compilation.
Je suppose que là il faudra que je change d'éditeur pour passer sur le(s)quel(s) ?
A ce niveau le choix doit se réduire :~ Éclipse et puis ?

Bonjour,

pour ma part après avoir testé:

j'utilise finalement Atmel Studio avec la méthode en trois étape de Jaycon Systems
http://www.jayconsystems.com/tutorial/cat/Arduino/post/atmerpt1/
http://www.jayconsystems.com/tutorial/cat/Arduino/post/atmerpt2/
http://www.jayconsystems.com/tutorial/cat/Arduino/post/atmel/

patg_ : Est-ce que tu compiles le noyau avec Atmel Studio ?

J'aimerai en effet aller plus loin que la méthode proposée dans le lien ci-joint qui utilise l'objet généré par l'IDE de Arduino. Mais bon je ne l'ai pas encore fait par manque de temps... Alors si quelqu'un l'a déjà fait et peux donner quelque conseil, je suis preneur.

:wink:

@Philomenale
Est-ce que avec ta solution tu vérifies la syntaxe avant compilation ?
Autres avantages ?

Philomenale:
patg_ : Est-ce que tu compiles le noyau avec Atmel Studio ?

J'aimerai en effet aller plus loin que la méthode proposée dans le lien ci-joint qui utilise l'objet généré par l'IDE de Arduino. Mais bon je ne l'ai pas encore fait par manque de temps... Alors si quelqu'un l'a déjà fait et peux donner quelque conseil, je suis preneur.

:wink:

Non j'utilise aussi la librairie générée par l'IDE Arduino.
C'est pas l'idéal, mais je manque aussi de temps et de volonté pour le faire (je passe déjà mes journées à résoudre des problèmes informatiques alors j'ai envie de trucs simples et efficaces à la maison :grin: )

FideleCastor:
@Philomenale
Est-ce que avec ta solution tu vérifies la syntaxe avant compilation ?
Autres avantages ?

Avec méthode basée sur AtmelStudio, la syntaxe n'est vérifiée qu'au moment de la compilation.

Les avantages que je trouve à cette solution sont:

  • navigation dans le code entre les appelants, les prototype et les déclarations (comme pour les IDE Visual Studio ou Eclipse),
  • solution éditée par le fabricant permettant le paramétrage fin du programme,
  • débogage possible (pas testé car pas (encore) acheté de sonde pour le débogage),
  • permet d'utiliser cette solution pour la plupart des composant Atmel,
  • surtout permet de générer facilement des librairies qui peuvent ensuite être réutilisée pour mes différents projets.

patg_:
J'utilise Eclipse tous les jours au boulot et la dernière chose que je souhaite c'est le retrouver chez moi à la maison!

Moi je l'utilise à l'IUT, à la maison ... bref partout :grin:
Je suis tellement habitué aux fonctions de refactoring et aux helpers que sans eclipse je suis perdu :stuck_out_tongue:

patg_:
J'aime vraiment bien AVR Studio même s'il y a un peu de config à faire.

Depuis qu'ATMEL se base sur la shell VisualStudio c'est quand même vachement plus lourd/chiant.
À chaque màj d'AVR Studio ma licence Visual Studio Pro bug et je doit la réparer en tapant dans la base de registre ...

UniseV:
Je pense par exemple à l'interruption d'overflow qui est active sur le timer1... j'aimerai bien en voir le code, pouvoir le modifier ou le supprimer dans un projet specifique sans impacter mes autres projets.

Pas besoin d'éditeur particulier pour ça ...
Regarde dans :
...\arduino\hardware\arduino\cores\arduino\wiring.c

UniseV:
Visual Studio est payant ?

Visual Studio en version "express" est gratuit, mais beaucoup de plugin (le plugin QT par exemple) ne marche qu'avec la version Pro (payante).

skywodd:

UniseV:
Je pense par exemple à l'interruption d'overflow qui est active sur le timer1... j'aimerai bien en voir le code, pouvoir le modifier ou le supprimer dans un projet specifique sans impacter mes autres projets.

Pas besoin d'éditeur particulier pour ça ...
Regarde dans :
...\arduino\hardware\arduino\cores\arduino\wiring.c

Ok mais comment le modifier pour 1 seul projet ?

skywodd:

UniseV:
Visual Studio est payant ?

Visual Studio en version "express" est gratuit, mais beaucoup de plugin (le plugin QT par exemple) ne marche qu'avec la version Pro (payante).

Visualmicro ne fonctionne pas sous Express.. tant pis pour moi.

UniseV:
Ok mais comment le modifier pour 1 seul projet ?

C'est pas possible, à moi de copier et compiler une version modifié du "core arduino" pour chacun de tes projets "spéciaux".

Et même avec un éditeur externe ?