Go Down

Topic: [Résolu] Arduino en mode serveur : commander des leds (Read 2247 times) previous topic - next topic

icare

Sep 30, 2012, 11:22 am Last Edit: Oct 02, 2012, 09:20 pm by icare Reason: 1
Bonjour,
Dans le cadre de mes explorations "Arduino", j'ai essayé de réaliser l'application Ethernet en mode serveur : commander des leds côté serveur depuis le navigateur client disponible sur le site mon-club-elec.fr (http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoEthernetServeurControleLEDx7)
Malgré les modifications à faire dans print.h, je me fais insulter par le compilateur.

Insultes :
Quote
In file included from C:\Users\Patty\Documents\Patrice\Projets Arduino\arduino-1.0.1\libraries\Flash\Flash.cpp:21:
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:51: error: 'Print' has not been declared
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:82: error: 'Print' has not been declared
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:116: error: 'Print' has not been declared
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h: In member function 'void _FLASH_ARRAY<T>::print(int&) const':
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:120: error: request for member 'print' in 'stream', which is of non-class type 'int'
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:122: error: request for member 'print' in 'stream', which is of non-class type 'int'
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h: At global scope:
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:156: error: 'Print' has not been declared
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h: In member function 'void _FLASH_TABLE<T>::print(int&) const':
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:162: error: request for member 'println' in 'stream', which is of non-class type 'int'
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h: At global scope:
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:184: error: 'Print' has not been declared
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h: In member function 'virtual void _FLASH_STRING_ARRAY::print(int&) const':
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:190: error: request for member 'println' in 'stream', which is of non-class type 'int'
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h: At global scope:
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:203: error: expected initializer before '&' token
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:208: error: expected initializer before '&' token
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:211: error: expected initializer before '&' token
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:215: error: expected initializer before '&' token
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:219: error: expected initializer before '&' token
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\/Flash.h:222: error: expected initializer before '&' token
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\Flash.cpp:26: error: variable or field 'print' declared void
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\Flash.cpp:26: error: 'Print' was not declared in this scope
C:\Users\ ... \Projets Arduino\arduino-1.0.1\libraries\Flash\Flash.cpp:26: error: 'stream' was not declared in this scope

Quelqu'un aurait-il essayé ce programme ?
icare
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

barbudor


Malgré les modifications à faire dans print.h, je me fais insulter par le compilateur.


A la base c'est une mauvaise idée de modifier le Core d'Arduino.
Est-ce que ca t'arrive d'aller modifier le code de Windows ou de Linux ?

Surtout quand la modification décrite pour une version antérieure de l'environnement Arduino est appliquée à une version récente qui ne correspond plus.

Met en pièce jointe tout ce que tu utilise et que tu as modifié pour qu'on essaye de comprendre.

barbudor

J'ai pris la dernière version de la lib Flash : Flash4 ici : http://arduiniana.org/libraries/flash/

J'ai corrigé 2 erreurs dans le script de Mon Club Elec qui sont du a des changements d'API entre les vielles versions d'Arduino et la version 1.0;x :

Server => EthernetServer
Client => EthernetClient

Je n'ai RIEN changé dans mon Core Arduino

Et ca compile sans erreur avec Arduino 1.0.1

Tes erreurs proviennent essentiellement des modifs erronées qui ont été faites dans Print.h


icare

Bonjour barbudor,

Encore une fois mon sauveur, je te promets je ne touche plus au Core d'Arduino.
Je n'ai pas encore le réflex de me dire si c'est la même version  =(

Pour le sketch tout fonctionne nickel
Merci
icare
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

Go Up