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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy