Je ne trouve pas de référence au sawap suivant :

BOnjour à toutes et à tous,

Dans la bibliothèque UTFT, dans la méthode setXY, il y a le code suivant :

void UTFT::setXY(word x1, word y1, word x2, word y2)
{
	if (orient==LANDSCAPE)
	{
		swap(word, x1, y1);
		swap(word, x2, y2)
		y1=disp_y_size-y1;
		y2=disp_y_size-y2;
		swap(word, y1, y2)
	}

Je ne trouve nulle part de référence à : swap(type, var1, var2)

En avez-vous et où trouvez-vous cela.

Ensuite, dans cette méthode, le deuxième et le troisième appel à swap n'est pas suivi d'un ";" et pourtant, cela fonctionne.

Pouvez-vous m"expliquer cela.

Merci pour vos infos.

Pierre

Hello,

une autre ligne "swap" n'a pas de point-virgule.

J'imagine que c'est une macro

#define swap(t, v1, v2)  { t temp = v1; v2 = v1; v1 = temp; }

d'où le ; non nécessaire

EDIT: pour vérifier si c'est une macro ou une fonction, insère une erreur de syntaxe (genre "swap(pouet)") et vois ce que va beugler g++

EDIT2: ce swap n'est en tous cas pas défini dans Arduino 1.0.5, il provient très certainement d'une extension tierce.

#define swap(type, i, j) {type t = i; i = j; j = t;}

dans le dossier UTFT\hardware\avr tu as ta réponse c'est bien une macro!

Merci à vous pour ces informations.

Effectivement , en créant une erreur de syntaxe, on retrouve le fichier source où se trouve le prototype de ce qu'il faut faire. C'est un gros avantage.

Par contre c'est aussi un inconvénient. Lorsqu'on a une application qui utilise beaucoup de bibliothèques, le compilateur passe son temps à tout recompiler. Y a-t-il un moyen d'éviter cela ?

Merci pour votre aide.

Pierre

ChPr:
Y a-t-il un moyen d'éviter cela ?

Pas avec la chaîne arduino qui recompile tous les sources à chaque fois.

fdufnews:
... Pas avec la chaîne arduino qui recompile tous les sources à chaque fois.

Y a-t-il des alternatives ?

Cordialement.

Pierre

Sous quel OS?

En même temps cela ne prends pas non plus 1 heure.

Avec un vrai environnement d'édition C++, tu aurais la définition tout de suite sans compiler, et tu aurais une compilation incrémentale (on ne compile que ce qui a changé).

Donc oui, il y a des alternatives, comme via Eclipse ou Visual Studio:
http://stackoverflow.com/questions/9643950/alternative-editors-ides-for-arduino

Perso j'utilise emacs et un Arduino-Makefile (GitHub - sudar/Arduino-Makefile: Makefile for Arduino sketches. It defines the workflows for compiling code, flashing it to Arduino and even communicating through Serial.)

Depuis la dernière version l'IDE arduino a été modifié.

  • Au lancement tout est compilé sans exception,
  • Aux compilations suivantes seuls les fichiers qui ont été modifiés sont compilés.

Ce n'est pas aussi efficace qu'avec un "vrai" IDE mais il n'est pas possible de faire mieux tant que l'IDE travaillera dans un répertoire temporaire qui est supprimé à la fermeture de l'IDE.
Je pense que c'est plus un problème processing qu'arduino donc pas d'espoir de modification.

XavierMiller:
Donc oui, il y a des alternatives, comme via Eclipse ou Visual Studio:
http://stackoverflow.com/questions/9643950/alternative-editors-ides-for-arduino

Super j'étais passé à côté de visual micro !

68tjs:
Je pense que c'est plus un problème processing qu'arduino donc pas d'espoir de modification.

Si, se passer de processing xD

Je vous remercie pour vos idées.

J'utilise déjà eclipse pour développer sous android, Je crois que je vais voir ce que cela donne avec Arduino.

Cordialement.

Pierre

Si tu es sous Linux ou Mac il y a Inotool http://inotool.org/ c'est léger et ça fonctionne avec n'importe quel éditeur.