Go Down

Topic: Probleme de controle d'arduino via Iphone (Read 1 time) previous topic - next topic

sheppard

Bonjours a tous,
sur google je suis tombé sur un tutoriel assez simpa : http://blog.weeboo.net/controler-arduino-avec-son-iphone-touchosc/

le controle d'arduino avec son iphone

j'ai donc decider de suivre le tuto tous marchais tres bien mais arriver a la programmation

j'ai donc installer la librairie OSC Class comme indiqué jusque la aucun probleme

mais au moment de la compilation j'ai cette erreur :

"declaration of C function 'unit16_t makeWork(byte, byte)' conflicts with"

j'ai bien essayer de retélécharger la librairie, de la modifier mais rien a faire!

si quelqu'un a une idée ...

osaka

Il doit y avoir une double déclaration de la fonction avec le même nom et signature ?
Il n'y a pas une suite "conflicts with ..." ?

sheppard

voila l'erreur en entiere


In file included from D:\Téléchargement\arduino-0021\libraries\SPI/SPI.h:15,
                from D:\Téléchargement\arduino-0021\libraries\Ethernet/utility/w5100.h:14,
                from D:\Téléchargement\arduino-0021\libraries\OSCClass\/OSCClass.h:71,
                from D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:25:
WProgram.h:16: error: declaration of C function 'uint16_t makeWord(byte, byte)' conflicts with
WProgram.h:15: error: previous declaration 'uint16_t makeWord(uint16_t)' here
WProgram.h:26: error: declaration of C function 'long int random(long int)' conflicts with
d:/téléchargement/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:504: error: previous declaration 'long int random()' here
WProgram.h:27: error: declaration of C function 'long int random(long int, long int)' conflicts with
WProgram.h:26: error: previous declaration 'long int random(long int)' here
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp: In member function 'void OSCClass::begin()':
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:591: error: 'Sn_MR_UDP' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp: In member function 'void OSCClass::begin(uint16_t)':
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:612: error: 'Sn_MR_UDP' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp: In member function 'bool OSCClass::available()':
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:633: error: 'getSn_IR' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:633: error: 'Sn_IR_RECV' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:635: error: 'getSn_RX_RSR' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp: In member function 'void OSCClass::messageProcess()':
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:659: error: 'Sn_IR' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:659: error: 'Sn_IR_RECV' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:659: error: 'IINCHIP_WRITE' was not declared in this scope

et même en utilisant l'exemple du tutoriel j'ai cette érreur

osaka

#3
Feb 04, 2012, 06:50 pm Last Edit: Feb 04, 2012, 06:52 pm by osaka Reason: 1
Il y a bien conflits entre fonctions, il y a un include en trop quelque part ...
Dans le code arduino de ton pde met en commentaire les inclusions une à une en compilant à chaque fois pour voir d'où ça peux venir (il peut toujour y avoir une erreur mais elle sera différente).

sheppard

effectivement j'avais mit #include <Wprogram.h> en trop

apres l'avoir retirer je n'ai plus l'érreur de conflit mais j'ai "Error Compiling" :



In file included from D:\Téléchargement\arduino-0021\libraries\SPI/SPI.h:15,
                from D:\Téléchargement\arduino-0021\libraries\Ethernet/utility/w5100.h:14,
                from D:\Téléchargement\arduino-0021\libraries\OSCClass\/OSCClass.h:71,
                from D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:25:
D:\Téléchargement\arduino-0021\hardware\arduino\cores\arduino/WProgram.h:17: error: declaration of C function 'uint16_t makeWord(byte, byte)' conflicts with
D:\Téléchargement\arduino-0021\hardware\arduino\cores\arduino/WProgram.h:16: error: previous declaration 'uint16_t makeWord(uint16_t)' here
D:\Téléchargement\arduino-0021\hardware\arduino\cores\arduino/WProgram.h:27: error: declaration of C function 'long int random(long int)' conflicts with
d:/téléchargement/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:504: error: previous declaration 'long int random()' here
D:\Téléchargement\arduino-0021\hardware\arduino\cores\arduino/WProgram.h:28: error: declaration of C function 'long int random(long int, long int)' conflicts with
D:\Téléchargement\arduino-0021\hardware\arduino\cores\arduino/WProgram.h:27: error: previous declaration 'long int random(long int)' here
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp: In member function 'void OSCClass::begin()':
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:591: error: 'Sn_MR_UDP' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp: In member function 'void OSCClass::begin(uint16_t)':
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:612: error: 'Sn_MR_UDP' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp: In member function 'bool OSCClass::available()':
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:633: error: 'getSn_IR' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:633: error: 'Sn_IR_RECV' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:635: error: 'getSn_RX_RSR' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp: In member function 'void OSCClass::messageProcess()':
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:659: error: 'Sn_IR' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:659: error: 'Sn_IR_RECV' was not declared in this scope
D:\Téléchargement\arduino-0021\libraries\OSCClass\OSCClass.cpp:659: error: 'IINCHIP_WRITE' was not declared in this scope

c'est comme ci il ne comprenait pas la librairie OSC Class ...

osaka

#5
Feb 05, 2012, 06:38 pm Last Edit: Feb 05, 2012, 06:40 pm by osaka Reason: 1
Tu es sous quel version de l'ide arduino?
Comme la plus part des anciennes lib ne sont pas compatible avec la version 1.0 du nouveau core arduino ?
http://arduino.cc/forum/index.php/topic,88903.0.html
Une autre chose me perturbe c'est les séparateurs dans le chemin "\/" ou "libraries\SPI/SPI.h:15" qui sont divergeant selon le système d'exploitation normalement ?

sheppard

je suis sous Windows 7 64 bits avec la version 0021 d'arduino mais j'ai deja essayer la 0023 la 0018 et toujours rien
sinon l'histoire des "\/" sa me parait aussi étrange j'ai essayer de trafiquer les librairie pour résoudre ce probleme mais rien a faire

osaka

#7
Feb 05, 2012, 10:39 pm Last Edit: Feb 05, 2012, 11:03 pm by osaka Reason: 1
En effet dans OSCClass.h je vois ça ligne 69

Code: [Select]

extern "C" {
#include "utility/types.h"
#include "utility/w5100.h"
#include "utility/socket.h"
}


Essaie ceci si tu ne l'a pas déjà fais ?
Code: [Select]

extern "C" {
#include "utility\types.h"
#include "utility\w5100.h"
#include "utility\socket.h"
}


Voir aussi à peut être ne pas inclure "Ethernet.h" dans le .pde vu que w5100.h et socket.h son déjà inclus dans OSCClass.h ou faire l'inverse suprimer les inclusions si dessus dans OSCClass.h ?
J'ai un doute également sur utility\types.h je ne le vois nulle part dans "utility" du dossier lib Ethernet ? OSC à du être écris sur je ne sais quel version de l'ide arduino ... ?
Sinon je sais pas pour windows mais sous osx il y a un dossier "libraries" dans le dossier "Arduino.app/libraries" ou ce trouve les lib officiel et un autre "~/Documents/Arduino/libraries/" pour les autres.
Je sais pas comment l'ide gère ça, si il les mets au même niveau dans le chemin relatif ?

Edit: http://www.arduino.cc/en/Hacking/Libraries

sheppard

toujours rien.
mais je vais essayer de repartir a zero
retélécharger les librairies ect ect (car j'ai peut etre fait une érreur en l'installant ...)

sheppard

Voila ça marche enfait il fallai une version antérieur a 0018 comme la 0014 ou la 0016

et il faut placer la librairie dans Hardware --> Librairies --> Ethernet

Merci de m'avoir aider dans mon problème

Go Up