Arduino sous Xcode

Cela faisait un moment que je bricolais entre Xcode et l’IDE Arduino et ça y est j’ai craqué. Je me suis enfin posé sur le problème afin d’avoir un environnement de travail 100% Xcode. N’en déplaise aux développeurs du projet Arduino, l’IDE d’origine est bien trop juste pour travailler confortablement sur de gros projets.

A noter que si vous recherchez un template dédié pour la dernière version d’Xcode, jetez un oeil à embedXcode:
http://embedxcode.weebly.com

Pour ma part, j’ai préféré opter pour du configuré maison car embedXcode ne supporte que la dernière version 8 d’Xcode voire au mieux 7 au moment d’écrire ces lignes. J’avoue que j’en ai marre de cette marche forcée imposée par Apple pour pousser à migrer sur leur dernier système d’exploitation poussif à souhait.

Mais revenons à nos moutons. Plutôt que d’opter pour des makefiles, je me contente de piloter l’ide Arduino à partir d’Xcode 4 (OS X 10.7.5 oblige) et d’un projet custom. C’est plutôt aisé puisque l’IDE Arduino propose tout ce qu’il faut pour l’accès en ligne de commande. Voir la doc officielle…
https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc

Je peux ainsi lancer la compilation et l’upload...
xcode-arduino-1

…tout en éditant mon projet avec « code completion » et toutes les joyeusetés qu’on attend d’un environnement de travail productif.
xcode-arduino-2

Pour l’affichage de la liaison série, j’ai opté pour CoolTerm que je pilote par AppleScript à partir d’Xcode (lancement, connexion/déconnexion, effacement, affichage en avant plan à la fin du transfert). L’ensemble est beaucoup plus robuste et agréable que la console du logiciel Arduino…
xcode-arduino-3

Bref c’est maintenant que du bonheur pour bosser! <3 <3 <3

Ephemeris fait des petits...

S’il est bien une chose agréable c’est de voir le travaille qu’on partage donner vie à d’autres projets. Je vous présent le bébé de Bram van Zoelen en Hollande qui exploite Ephemeris pour son dosbon fait maison…

scherm

totaal

full2

La raquette de commande est entièrement réalisée en matériaux de récupération. Pas mal non? :D

Plus d’infos sur le blog de Bram… :)
http://zoelen.net

Librairie RunLoop dispo sur mon Github

Le premier jet de la librairie C++ RunLoop est dispo sur github...
http://github.com/MarScaper/runloop

Logo RunLoop

La librairie est compatible avec le gestionnaire de librairie de l’IDE Arduino et fournie avec quelques exemples d’usage. Et en voici une illustration concrète dans le projet:

Buzzer, led, télécommande infra rouge, écran LCD et GPS fonctionnant de concert.

Run Loop Library: une boite à outil pour Arduino

Dans la continuité des développements pour mon projet d’astronomie, j’ai décidé de mettre au point une nouvelle librairie pour me faciliter la tâche et je l’espère celle d’autres Ardui-bidoulleurs.

RunLoopClassHierarchy
Dénommée RunLoop, elle permettra:
  • la facilitation des traitements parallèles via un « run loop » (une boucle d’exécution) à multi-niveaux hiérarchiques.
  • la gestion des timers logiciels.
  • la gestion de tous les timers matériels du Arduino (dont les 3,4,5 dispo uniquement sur le Mega).
  • les notifications asynchrones via paradigme de délégation.
  • une gestion 100% C++.
Plus de détails à venir prochainement avec la publication du code sur mon Github. :)