dimanche 10 décembre 2017

Arduino et BBEdit / TextWrangler

Si comme moi vous codez sur un Mac, il y a de forte chance que vous ayez vos petites habitudes avec les outils de Barebones, à savoir TextWrangler ou BBEdit. Lorsque l'on code beaucoup en PHP (ce qui est mon cas) avec l'un de ces deux outils et que l'on passe sous l'Ide Arduino, il y a un choc... Pourtant les outils de Barebones peuvent remplacer l'éditeur de l'Ide de l'Arduino. Voyons ça!

Note: tout ce qui est expliqué ici concerne aussi bien TextWrangler que BBEdit.

Côté Arduino

Ouvrez l'Ide Arduino et dans les préférences, cochez la case "Utiliser un éditeur externe". C'est tout!

Côté TextWrangler

Allez dans le menu juste avant le menu Help donc le menu avec une icône en forme de petit parchemin. Deux cas possibles:
  1. vous avez déjà créé au moins un script pour piloter TextWrangler
  2. vous n'avez jamais utilisé ce menu, donc sous les trois premières entrées, il n'y a rien.

Vous avez déjà au moins un script

Si vous en êtes l'auteur, je suppose que vous savez comment créer un script, donc à vous de jouer. Le script est un peu plus bas dans cet article. Il lance l'Ide Arduino puis simule une compilation-téléversement avec Cmd-U. Il ouvre aussi le Moniteur série (Shift-Cmd-M).
Si vous n'êtes pas l'auteur du ou des scripts actuellement disponibles, la solution la plus simple est la suivante:
  1. Cliquez dans le menu sur "Open Scripts Folder". Dans la fenêtre qui s'ouvre et qui liste tous les scripts, cliquez avec le bouton droit sur un des scripts (.scpt) et choisissez "Dupliquez". Donnez à ce fichier le nom que vous voulez voir apparaître dans le menu (moi je l'ai nommé "Arduino compile and run.scpt").
  2. Double cliquez sur ce fichier ce qui ouvrira l'éditeur de script de votre Mac. Effacez le script actuel et collez à la place le script qui est un peu plus bas dans cet article. Une fois que c'est fait, cliquez sur le petit marteau en haut de la fenêtre pour validez le script, puis cliquez sur "Enregistrer" dans le menu "Fichier".

Vous n'avez aucun script

Dans ce cas dans le menu de TextWrangler, cliquez sur "Open Scripting Editor". Dans la fenêtre d'édition, recopiez le code ci-dessous. Cliquez ensuite sur le petit marteau pour valider le script. Ensuite, cliquez dans le menu sur "Enregistrer" pour sauvez le fichier en lui donnant le nom que vous voulez voir apparaître dans le menu (moi je l'ai nommé "Arduino compile and run.scpt"). Le script doit être sauvé dans le dossier Bibliothéque/Application Support/TextWrangler/Scripts. Si vous ne savez pas comment y accéder, sauvez le script sur le bureau. Nous verrons dans quelques instants comment accéder au dossier Bibliothéque pour y déposer un autre fichier et vous aurez simplement à recopier le script au bon endroit.

Attention: nous parlons ici du dossier Bibliothéque de votre compte utilisateur. Pas du dossier Bibliothéque "général".




Note: ce script est basé sur celui trouvé dans un message du forum Arduino.

On test...

Relancez TextWrangler. Dans le menu vous devez maintenant voir l'entrée Arduino. Une fois que vous aurez chargé un fichier .ino, il vous suffira de cliquez sur cette entrée Arduino pour que cela lance l'Ide Arduino qui chargera le fichier le compilera et l'enverra sur votre carte. Si rien ne se passe au niveau de l'Ide, cliquez une nouvelle fois dans le menu de TextWrangler.

Colorer le code

Outre le fait d'avoir maintenant votre code qui s'ouvre dans TextWrangler, avoir du code coloré, c'est quand même plus sympa.

Pour cela, recopier le code ci-dessous et sauvez-le sous le nom "arduino.plist" (faites un copier collez dans TextWrangler). Ce fichier doit être sauvé dans le dossier Bibliothéque de votre compte utilisateur. Le problème c'est que par défaut ce dossier est caché. Pour le faire apparaître, trois options, expliquées ici.
Une fois ce dossier ouvert, ouvrez son sous-dossier "Application Support". Cherchez et ouvrez le dossier TextWrangler (ou BBedit) et dépose le fichier "arduino.plist" dans le dossier "Language Modules".

Note: vous verrez, au même niveau que ce dossier "Language Modules" le dossier "Scripts".



Une fois le fichier recopié au bon endroit, s'il est encore ouvert dans TextWrangler, fermez ce fichier (quand ce fichier est ouvert et en édition, la coloration ne fonctionne pas).
Désormais, lorsque vous ouvrirez un fichier .ino avec TextWrangler, sa syntaxe sera colorisée.

Attention: le lien entre la coloration et le fichier se fait par l'extension qui doit donc être ".ino"

Ouvrir les .ino avec TextWrangler

Pour que ce soit TextWrangler qui ouvre les fichiers .ino lorsque vous cliquez sur ceux-ci, deux options:
  • Cliquez sur le fichier .ino avec le bouton droit de votre souris et choisissez "Ouvrir avec..." puis "Autre...". Sélectionnez TextWrangler (ou BBedit) dans le sélecteur de fichier. Si vous cochez la case "Toujours ouvrir avec..." ce fichier (et seulement celui-ci) s'ouvrira toujours avec TextWrangler. Les autres ".ino" continueront à s'ouvrir avec l'Ide Arduino.
  • Pour que tous les fichiers .ino s'ouvrent avec TextWrangler, cliquez sur un fichier .ino avec le bouton droit et choisissez "Lire les informations". Sélectionnez TextWrangler ou BBedit dans le menu de la zone "Ouvrir avec".  En cliquant sur "Tout modifier", tous les fichiers .ino seront modifiés pour s'ouvrir avec l'outil que vous aurez choisi.

Petites astuces...

Première fois

Quand vous ouvrez la première fois l'Ide Arduino via TextWrangler, il arrive que l'Ide n'ouvre pas le fichier. Il suffit de recliquer sur le menu dans TextWrangler.

Position des fenêtres

Vous noterez également que l'Ide Arduino sauvegarde la taille et la position de sa fenêtre d'édition lorsque vous le quittez, tout comme la position de la fenêtre du Moniteur Série.
Pour ma part j'ai donc positionné la fenêtre de l'éditeur en bas à droite, en augmentant la hauteur de la zone qui informe sur la compilation et en masquant le code (puisque je l'ai dans TextWrangler), le Moniteur série étant ouvert en partie supérieure (voir copie d'écran ci-dessous).


Pré-remplir un nouveau fichier

Quand vous créez un nouveau Sketch sur l'Ide Arduino, un bout de code est automatiquement généré. Pour faire la même chose lorsque vous créer un nouveau Sketch sous TextWrangler rien de bien compliqué. Il suffit là-encore de faire un petit Script, comme celui que nous venons de créer pour lancer l'Ide, de le nommer comme vous voulez (par exemple "Arduino new.scpt") et de le mettre dans le dossier Scripts de TextWrangler. Voici le script:


Pas besoin d'être un génie du code pour comprendre le principe et de voir qu'au lieu de simplement créer les fonctions setup() et loop() vous pouvez aussi ajouter un header avec votre  nom, date, des defines, des includes, etc... 

Conclusion

Avec quelques réglages simples, il est donc possible d'utiliser TextWrangler en lieu et place de l'éditeur de l'Ide Arduino. Il est aussi possible de faire la même chose pour compiler du C ou faire de l'assembleur, tout en gardant ses habitudes. De plus, la facilité de création des scripts fait qu'il est assez simple de se créer des raccourcis, générant automatiquement du code.

Aucun commentaire:

Enregistrer un commentaire

Arduino - C+ASM

Dans un précédent article disponible ici nous avons vu comment faire pour utiliser TextWrangler (ou BBEdit) en lieu et place de l'édite...