Comment utiliser Geany en remplacement de l'EDI Arduino

Sur le wiki officiel Arduino se trouve une liste d’outils alternatifs à l'IDE parmi lesquels figure Ino, un petit outil en ligne de commande. Son intégration dans Geany se fait très simplement. Voici la marche à suivre (pour Linux)

1 Installation de l'IDE

Nous n'allons pas utiliser l'interface IDE officielle mais il faut quand même l'installer, parce que Ino en a besoin pour ajouter une couche logicielle aux sources que nous écrirons.

Que rajoute-t-il exactement ? Pour le savoir il faut utiliser l'IDE officiel pour compiler un programme simple (un des exemples fournis ), en ayant pris le soin au préalable de le rendre "bavard". Pour cela il faut ajouter à la fin du fichier

.arduino/preferences.txt

les deux lignes suivantes :

build.verbose=true
upload.verbose=true


Relancer l'IDE et compiler un programme (un "sketch" comme ils disent...)
On voit alors que l'IDE utilise avr-gcc et ajoute une bonne dizaine de sources pour gérer les ressources des ATmega.

Pour plus de détails sur ce que je viens de dire je vous renvoie sur cette page :

2 Installer avrdude

Puisque avr-gcc sera indispensable, il faut installer (si ce n'est déjà fait sur votre système) avrdude :

sudo apt-get install avrdude

3 Installation de INO

Pour installer Ino vous pouvez utiliser une des méthodes proposées sur cette page : J'ai opté pour cette méthode :

sudo apt-get install python-setuptools picocom arduino
sudo easy_install ino

4 Configuration de Geany

Installez (si ce n'est pas déjà fait) Geany (il est disponible dans les dépôts sous Ubuntu ou Mint...)

Lancez Geany, OUVREZ UN PROJET et un fichier .ino, puis allez dans le menu "Construire/Définir les commandes de construction" Ajoutez une "commande" (sur le premier bouton 'Etiquette') et appelez-la "Compiler ARDUINO" (ou quelque chose comme ça...) et dans la colonne "Commande" tapez ceci:

ino clean && ino build -m mega2560

et dans le champ "Dossier de travail" tapez :

%d/..



On peut également Uploader le .hex obtenu depuis Geany. Il faut pour cela ajouter une seconde commande (sur le second bouton 'Etiquette') et la nommer "Upload ARDUINO" (par exemple).
Dans la colonne "Commande", pour une carte Arduino UNO tapez ceci :

ino upload -m uno -p /dev/ttyUSB0

et pour un Arduino Mega2560, tapez cela :

ino upload -m mega2560 -p /dev/ttyUSB0

Remarque1 : pour un clone SainSmart il faut remplacer ttyUSB0 par ttyACM0; Pour d'autre types de clones, à vous de voir...

Remarque2 : ttyUSB0 et ttyACM0 peuvent respectivement être ttyUSB1 et ttyACM1 (etc...) suivant le port USB actuellement utilisé (et la présence d'autres périfs USB...)

5 copie d'écran :

6 Arborescence du projet

Voici la disposition correcte pour que la compilation se passe bien.
Le programme principal doit se trouver dans le répertoire scr mais le fichier de projet geany (le .geany) doit se trouver dans le répertoire principal (celui qui contient les répertoires lib et src).

Quant aux bibliothèques, il faut en fait les installer dans le système arduino, c'est à dire dans :

/usr/share/arduino/libraries

Remarque : Il faut aussi dans le cas de la bibliothèque UTFT la toiletter : il faut supprimer tous les fichiers qui ne concernent pas l'ATmega2560 (ils sont nombreux donnés en exemple) sinon le système Arduino ajoutera et compilera TOUTES les sources qu'il trouvera dans les sous-répertoires de /usr/share/arduino/libraries (merci arduino !!!), même et surtout celles qui ne sont pas invoquées par des #include , ce qui aboutira immanquablement à une palanquée d'erreurs de compilation ! Ce comportement aberrant est toutefois documenté dans la doc Arduino, donc on est au moins prévenu.

Il faut aussi bien renseigner le chemin du dossier du projet : Dans le menu Projet / Propriétés, onglet 'Projet' bien remplir la ligne 'Dossier de base'

Dans notre exemple, il s'agit du chemin du dossier 'Arduino', contenant le fichier de description du projet xxx.geany ainsi que les sous répertoires 'lib' et 'src'.

7 Tout s'est bien passé mais...

...la compilation et l'assemblage se sont bien déroulés, mais je ne vois pas le .hex produit sur le disque dur, même en cherchant bien dans tous les répertoires...

Normal il est caché !!! Il se trouve dans le répertoire caché .build créé automatiquement.

Pourquoi est il en mode caché (son nom commençant par un point) ? Mystère, j'ai juste perdu une demi-journée à le chercher. Ce sont sans doute des farceurs qui ont programmé ce truc là !

8 -

A voir également...



Me contacter à propos de cet article :

Question mathématique :

Click to reload image
=
cliquez sur l'image pour un faire autre calcul.




Réponses à certaines de vos questions...
5285