fatal error: avr\pgmspace.h: No such file or directory

Salve a tutti, sto cercando di compilare uno sketch per mettere ora e data su un display LCD. Fortunatamente ho trovato uno sketch sul web che mi potrebbe essere utile (enc28j60_tutorial/_13_NTP.ino at master · lucadentella/enc28j60_tutorial · GitHub), ma quando cerco di compilarlo mi da:

...EtherCard.h:37: fatal error: avr\pgmspace.h: No such file or directory

Ho controllato su tutte le cartelle avr di Arduino e il file in questione sembra esserci... Qualcuno sa come potrei risolvere? Non capisco il perché... Vi è mai capitato qualcosa di simile?

sembra un bug già noto…
Sostituisci questo:

#include <avr\pgmspace.h>

con questo

#include <avr/pgmspace.h>

fonte: http://mainstreetanswers.org/arduino/

Mi pare un bug delle barre in stile Windows Vs Linux: il primo nelle path le usa così "" mentre il secondo così "/" solo che nei sorgenti si usano le seconde indipendentemente dal sistema su cui si scrive il programma.

Ci ho già provato ma non sembra essere quello il problema.

Hydrarian:
Ci ho già provato ma non sembra essere quello il problema.

non vorrei essere banale.. la modifica va fatta al file EtherCard.h
Hai provato a farla li?
cmq confermo quanto detto da leo... è un problema di semantica dei path tra WIN/LIN..

Sarebbe il caso, però, quando le cose non funzionano di pubblicare tutti gli errori che si ricevono sul terminale dell'IDE e non limitarsi a dire "non sembra essere quello il problema" :wink:

Hai ragione leo72, chiedo venìa! Come errore mi da solo questo:

In file included from dataora.ino:1:
C:\Documents and Settings\01stg_eta\Documenti\Arduino\libraries\EtherCard/EtherCard.h:37: fatal error: avr/pgmspace.h: No such file or directory
compilation terminated.

Da dove hai scaricato la libreria ethercard ? Io, per provare, ho scaricato il codice dal link che hai messo ti e la libreria da qui : https://github.com/jcw/ethercard e … compila senza alcun problema (IDE 1.0.5)

Guglielmo

L'ho scaricata proprio da lì, adesso nel dubbio l'ho anche riscaricata ma niente.

E provando a cambiare lo slash, stessa cosa:

In file included from dataora.ino:1:
C:\Documents and Settings\01stg_eta\Documenti\Arduino\libraries\EtherCard/EtherCard.h:37: fatal error: avr\pgmspace.h: No such file or directory
compilation terminated.

... prova a riscaricare anche l'ultima versione dell' IDE (1.0.5) ed a reinstallarlo ... è l'unico possibile dubbio visto che a me non ha dato alcun problema e la pgmspace CI DEVE ESSERE :wink:

Guglielmo

Ho l’ IDE 1.5.2 (sto usando Arduino Due) potrebbe essere quello il problema?

Probabile.
La 1.5.x usala solo se devi compilare per la DUE, per compilare per le altre schede usa la 1.0.5.

guglielmo tu su mac osx lui su windows..è questo il problema

Antroid:
guglielmo tu su mac osx lui su windows..è questo il problema

Buono, non toccare questo tasto che si scatenano i "flames" in 2 secondi ... ]:smiley:

Guglielmo

Hydrarian:
Ho l' IDE 1.5.2 (sto usando Arduino Due) potrebbe essere quello il problema?

Ma ... hai impostato come board per fare le prove la DUE ??? Perché per la DUE NON esiste la pgmspace ... :smiley:

La DUE è ancora scarsamente supportata e parecchie librerie non sono state trasportate, quindi ... se non per cose veramente specifiche ... evitatela !!! ]:smiley:

Guglielmo

Edit : e dubito fortemente che quella libreria ethercard lo sia stata ... visto che usa pgmspace ... :wink:

gpb01:

Antroid:
guglielmo tu su mac osx lui su windows..è questo il problema

Buono, non toccare questo tasto che si scatenano i "flames" in 2 secondi ... ]:smiley:

Guglielmo

Non credo di aver detto niente di male.. non intendevo dire che quello che dici è sbagliato.
ad ogni modo ho seguito questa guida(http://www.lucadentella.it/2012/02/12/enc28j60-e-arduino-1/) ed ho compilato correttamente su windows 7 con la versione 1.0.5 dell'IDE.
Ah dimenticavo... per la precisione ho compilato l'esempio "webClient"

Infatti, è facile tagliare corto così. Uso Linux da quando avevo 14 anni, ma nell'ambiente dove attualmente sto facendo lo stage ho a disposizione pc Windows, ergo anche se fosse non è un fatto che dipende da me. Il tuo commento non mi è parso costruttivo :slight_smile:

Comunque sì, ho impostato la Due... pgmspace.h lo vedo precisamente nella cartella:

C:\Documents and Settings\01stg_eta\Desktop\Arduino Due\arduino-1.5.2\hardware\tools\avr\avr\include\avr

... hai letto la mia risposta poco più indietro ???? ... la pgmspace, come un gran numero di librerie ... NON è supportata dalla DUE ... il supporto della DUE è ancora piuttosto scarso !!!

Guglielmo

Quella cartella non è usata per compilare per la DUE. Per compilare con la DUE è usata un'altra toolchain, quella che trovi /hardaware/arduino/sam.

Questa è la mia situazione

  • Windows 7 64 bit
  • Arduino 1.0.5 IDE
  • Arduino 2009 Board

Con questa configurazione compilo correttamente la libreria. Ad ogni modo tengo a scusarmi per la mia scarsa esperienza sul forum... credevo di poter aiutare ma la problematica non sembra quella..