Bonjour à tous.
Développant avec l’IDE Arduino sur Mac, je parcours régulièrement le web pour prendre connaissance des IDE gratuits disponibles et surtout fonctionnels.
J’avais mis de côté « embedXcode » pour la principale raison que je n’avais jamais réussi une installation parfaite.
Une nouvelle tentative a cette fois été faite avec succès, après avoir recueilli quelques informations complémentaires sans lesquelles embedXcode n’était pas toujours pas opérationnel sur mon Mac.
L’utilisation de Xcode avec embedXcode permet, notamment :
- de travailler avec l’environnement Xcode en lieu et place de l’IDE Arduino et de ses limitations ;
- de disposer, entre autre, de l’autocomplétion lors de la frappe du code.
Toutefois, le suivi scrupuleux de la procédure décrite sur le site de « embedXcode » ne m’avait pas encore permis d’effectuer une compilation et un téléchargement du code vers la platine Arduino. De plus, les couleurs des mots-clefs et l’autocomplétion n’étaient pas gérées.
Pour faciliter l’installation de « embedXcode » dans Xcode, vous trouverez, ci-dessous, une procédure complète. Elle parait compliquée, mais est, en réalité, fort simple. Parfaitement détaillée, l’installation finale sera ainsi aisée et de surcroit opérationnelle. Le développement de code pour Arduino sous Xcode est aisé et fort agréable.
A. Préalable à l’installation
A1. Vérifier que l’iDE Arduino standard est déjà installé.
A2. Vérifier que Xcode est déjà installé.
B. Téléchargement
B1. Télécharger embedXcode-289b.pkg sur le site
http://embedxcode.weebly.com/l0_download-88rtxp4cozqdxneqdc8rxp4c.html
B2. Eventuellement, télécharger embedXcodeTools….pkg sur ce même site.
(ce package m’est actuellement inutile et ne sera pas installé dans ce tutoriel. Voir la page :
https://developer.mbed.org/handbook/mbed-SDK
pour le détail et la nécessité de ce package.)
C. Installation de embedXcode-xxx.pkg
C1. Double cliquer sur l’icône « embedXcode-289b.pkg » pour procéder à l’installation.
C2. En fin d’installation, un dossier est demandé (il va contenir les « Librairies »).
- Sélectionner « Documents » et créer un nouveau dossier dénommé, par exemple, « Arduino_Xcode ».
- Cliquer « Créer » et ensuite « Choisir ».
C3. Un dossier de projets est ensuite demandé.
- Sélectionner « Documents » et créer un nouveau dossier dénommé, par exemple,
« Arduino_Xcode_Projects ». - Cliquer « Créer » et ensuite « Choisir ».
C4. Une petite musique termine l’installation.
D. Création du projet avec Xcode et embedXcode
D1. Lancer Xcode.
D2. Sélectionner File > New > Project.
D3. En partie gauche, dans la zone OS X, sélectionner « embedXcode. »
D4. En partie droite (actualisée), sélectionner « embedXcode Sketch ».
D5. Cliquer « Next ».
D6. Dans « Product Name », entrer le nom du projet, par exemple Test_01. Cliquer « Next ».
D7. Sélectionner un dossier de destination du projet
(par exemple « Arduino_Xcode_Projects » créé à l'étape C3).
D8. Cliquer « Create ».
Un dossier du nom du projet sera automatiquement créé.
E. Note de l’adresse du port de la platine Arduino
E1. Insérer la platine Arduino sur le port USB du Mac.
E2. Ouvrir l’application IDE Arduino et sélectionner « Outils > Ports ».
E3. Noter, sans erreur, l’adresse du port.
Dans ma configuration cette adresse est : /dev/cu.usbmodem621 (Arduino Uno)
E4. Fermer l’application IDE Arduino.
F. Modification du fichier Make de Xcode
F1. Dans Xcode, en partie gauche, cliquer sur le fichier Makefile (localisé sous le main.cpp) et copier la ligne suivante
(n° 51 dans ma configuration) :
#BOARD_PORT = /dev/tty.usbmodem*
F2. Coller cette ligne sous la ligne copiée ; cette ligne devient donc la n° 52.
On a donc 2 lignes identiques (la première est conservée par sécurité).
F3. Modifier cette dernière ligne comme suit:
A. Retirer le # pour la décommenter ;
B. Remplacer le nom du port par celui noté à l’étape E3.
Dans mon cas, la ligne devient :
BOARD_PORT = /dev/cu.usbmodem621 (Arduino Uno)
F4. Depuis le menu de Xcode, sélectionner File > Save pour sauvegarder ce fichier Makefile.
G. Utilisation de Xcode avec embedXcode
G1. Dans Xcode, en partie gauche, par clic sur les petits triangles, réduire le développement des dossiers suivants :
Sketchbook, Configurations, Makefiles, About et Utilities.
G2. En partie gauche, sélectionner le document d’extension ino
(Test_01.ino dans cet exemple).
G3. Laisser le code de base (programme de type blink [clignotant]).
- Les fonctions setup() et loop() sont visibles.
- La couleur des mots clefs est absente à ce stade.
- L’auto-complétion est non fonctionnelle à ce stade.
H. Première compilation et premier téléversement
Pour activer la couleur des mots clefs et l’autocomplétion, il faut compiler le programme (la platine Arduino est toujours connectée au port USB). Procéder comme suit :
H1. En partie haute de Xcode, sélectionner (Ronds rouges) ALL > MyMac.
H2. En partie haute de Xcode, cliquer le triangle noir pour lancer la compilation.
« Build succeeded » est affiché.
Si « Build failed » est affiché, cliquer sur l'un des deux points rouges en partie haute de la fenêtre ;
vérifier la cause du message d'erreur. Il y a toutes les chances que le port soit mal recopié.
H3. Le code compilé (projet de type blink par défaut) est directement téléversé vers la platine Arduino.
H4. A partir de ce moment :
- les mots-clefs sont en couleur ;
- l’autocomplétion fonctionne automatiquement ou par CTRL+barre d’espace.
J. Entrée du code du sketch
J1. Entrer le code comme sur un environnement IDE Arduino.
- L'autocomplétion fonctionne parfaitement.
- Attention : il est impératif de déclarer les prototypes des fonctions en partie haute du code.
Dans le cas contraire, Xcode émet, à la compilation, un message d'erreur de type
"nom_de_la_fonction was not declared in this scope".
K. Notes complémentaires
K1. Les fichiers de type « .ino » (éventuellement affichables directement dans l’IDE Arduino) sont
accessibles dans le dossier du projet ;
Si le fichier .ino est ouvert avec l’IDE Arduino, on note la présence d’onglets correspondants
aux fichiers .cpp et .h du projet de base.
K2. Informations diverses recueillies sur :
Lien A
Lien B
Lien C