problema compilazione EGG Arduino, error not declared

Ciao a tutti, sto cercando di compilare arduino uno clone cinese per realizzare un eggbot.
Seguo le istruzioni della guida ma quando cerco di caricare il firmware mi restituisce questo:

This report would have more information with
“Show verbose output during compilation”
enabled in File > Preferences.
Arduino: 1.0.6 (Mac OS X), Board: “Arduino Uno”
EggDuino.ino: In function ‘void setup()’:
EggDuino:89: error: ‘makeComInterface’ was not declared in this scope
EggDuino:90: error: ‘initHardware’ was not declared in this scope
EggDuino.ino: In function ‘void loop()’:
EggDuino:94: error: ‘moveOneStep’ was not declared in this scope

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda:
- serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- pinout delle varie schede by xxxPighi: Pinout
- link generali utili: Link Utili

Quale guida ? Quale codice ? Se non dai i link che possiamo dirti ?

Scusate avete ragione.Salve a tutti sono Marco.per quanto riguarda le mie conoscenze elettroniche e di programmazione direi di essere alquanto molto scarso se non dire nessuna conoscenza,ho avuto esperienze con l Arduino riguardo ad una stampante tre d autocostruita seguendo le varie guide...
Ho studiato fisica e nell' atto pratico potrei dire di essere molto più esperto nel settore meccanico,quindi torni, fresatrice e impostazioni di stampanti tre d.
Ora mi trovo con questo problema di compilazione nel progetto chiamato eggbot.
La guida a cui mi riferisco si tratta di un video su Youtube,appena arrivo a casa posto il link e soprattutto posto quello che io chiamo firmware per intenderci il file .ino che faccio compilare all' ide.
Cmq grazie a tutti marco

motorimicro:
Scusate avete ragione.Salve a tutti sono Marco.per quanto riguarda le mie conoscenze elettroniche e di programmazione direi di essere alquanto molto scarso se non dire nessuna conoscenza,ho avuto esperienze con l Arduino riguardo ad una stampante tre d autocostruita seguendo le varie guide...
Ho studiato fisica e nell' atto pratico potrei dire di essere molto più esperto nel settore meccanico,quindi torni, fresatrice e impostazioni di stampanti tre d....

Ma hai letto con attenzione il mio post ? ? ? :o

la presentazione va fatta nell'apposito thread, dove la fanno tutti, NON qui in un post qualsiasi ... che gli altri difficilmente vedranno ...

Grazie.

Guglielmo

scusami ancora ma quando ho letto in questo thread ho capito in questo post, sto facendo ulteriori test e riseguendo la guida per scongiurare errori, appena concludo posto i risultati sia che siano andati bene o male.

ok, eccomi…purtroppo niente belle notizie, questo il punto della situazine.
quando compilo e cerco di caricare mi restituisce questo errore (che presuppongo sia lo stesso gia postato nel primo messaggio)

Arduino:1.6.5 (Mac OS X), Scheda:“Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”
EggDuino.ino: In function ‘void setup()’:
EggDuino:89: error: ‘makeComInterface’ was not declared in this scope
EggDuino:90: error: ‘initHardware’ was not declared in this scope
EggDuino.ino: In function ‘void loop()’:
EggDuino:94: error: ‘moveOneStep’ was not declared in this scope
‘makeComInterface’ was not declared in this scope
Questo report potrebbe essere più ricco
di informazioni con
“Mostra un output dettagliato durante la compilazione”
abilitato in “File > Impostazioni”

allego la cartella con tutti i file compreso ovviamente anche il .ino

mentre questo qui sotto il link della video guida che sto seguendo.
la parte che interessa l arduino va dal minuto 11:00 al minuto 13:00

ringrazio a tutti e speriamo che qualcuno abbia idee perche in questo campo siete veramente la mia ultima risorsa.

EggDuino-master.zip (60.1 KB)

Comincia con il fare una cosa (... che ti suggerisce anche il sistema stesso) ...
... vai nelle preferenze del IDE e metti il segno di spunta per avere maggiori dettagli (verbose) sia per la compilazione che per l'upload (... questo secondo non è strettamente necessario, ma dato che non fa male ed in caso di problemi di caricamneto aiuta, metti anche esso).

Ricompila e copia/icolla qui gli errori esatti che vengono fuori (... se li chiudi tra i tag CODE, come il codice, è ancora meglio perché li rendi più leggibili).

Guglielmo

ciao...il progetto EGGDUINO comprende 3 file .ino poste in 3 cartelle differenti...EggDuino; Functions; Helper_Functions.

Mentre la prima cartella EggDuino ha al suo interno alcune librerie + il file .ino le altre due hanno solo un file .ino.

i due file .ino Functions ed Helper_Functions NON sono dei programmi completi di setup() e loop() ma contengolo "solo" le funzioni che sono richiamate nel file EggDuino.ino.

se copi tali funzioni nel file EggDuino.ino, alla fine di tutto il programma, quando editi gli errori scompaiono in quanti hai incluso le funzioni che ti mancavano.

detto questo NON so il motivo per il quale chi ha sviluppato il progetto ha separato le funzioni dal programma che le richiama...magari qualcuno più esperto può aiutarci a fare chiarezza.

spero di essere stato chiaro e di non aver sparato boiate.

PS: non ho assolutamente analizzato il programma quindi NON so cosa fa NE come lavora...

ciao

Ti ho allegato una versione che dovrebbe funzionare, la compilo correttamente anche per la Mega oltre alla Uno standalone che utilizzo io :slight_smile:

EggDuino_mod.zip (26.1 KB)

Penso di aver correttamente impostato il report piu’ dettagliato (verbose) ed eccolo qui sotto compilato ancora con la mia versione di eggduino.

Arduino: 1.0.6 (Mac OS X), Board: "Arduino Uno"
/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -I/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/libraries/Servo /var/folders/bg/q__j06jx74s56lgp0d01k04r0000gn/T/build5386825800986454038.tmp/AccelStepper.cpp -o /var/folders/bg/q__j06jx74s56lgp0d01k04r0000gn/T/build5386825800986454038.tmp/AccelStepper.cpp.o
/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -I/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/libraries/Servo /var/folders/bg/q__j06jx74s56lgp0d01k04r0000gn/T/build5386825800986454038.tmp/EggDuino.cpp -o /var/folders/bg/q__j06jx74s56lgp0d01k04r0000gn/T/build5386825800986454038.tmp/EggDuino.cpp.o
In file included from EggDuino.ino:26:
button.h: In constructor 'Button::Button(byte, void (*)())':
button.h:26: warning: 'Button::action' will be initialized after
button.h:25: warning: 'byte Button::pin'
button.h:32: warning: when initialized here
EggDuino.ino: In function 'void setup()':
EggDuino:89: error: 'makeComInterface' was not declared in this scope
EggDuino:90: error: 'initHardware' was not declared in this scope
EggDuino.ino: In function 'void loop()':
EggDuino:94: error: 'moveOneStep' was not declared in this scope

Mentre qui invece ecco il report compilando il file.ino proposto da doppiozero che mi da comunque errori di compilazione.

Arduino: 1.0.6 (Mac OS X), Board: "Arduino Uno"
/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -I/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Applications/Arduino 1.0.6 stampante.app/Contents/Resources/Java/libraries/Servo /var/folders/bg/q__j06jx74s56lgp0d01k04r0000gn/T/build9000633589597867885.tmp/EggDuino.cpp -o /var/folders/bg/q__j06jx74s56lgp0d01k04r0000gn/T/build9000633589597867885.tmp/EggDuino.cpp.o
EggDuino.ino:22:96: error: AccelStepper.h: No such file or directory
EggDuino.ino:24:105: error: SerialCommand.h: No such file or directory
EggDuino.ino:26:20: error: button.h: No such file or directory
EggDuino:54: error: 'AccelStepper' does not name a type
EggDuino:55: error: 'AccelStepper' does not name a type
EggDuino:57: error: 'SerialCommand' does not name a type
EggDuino.ino: In function 'void setup()':
EggDuino:89: error: 'makeComInterface' was not declared in this scope
EggDuino:90: error: 'initHardware' was not declared in this scope
EggDuino.ino: In function 'void loop()':
EggDuino:94: error: 'moveOneStep' was not declared in this scope
EggDuino:96: error: 'SCmd' was not declared in this scope

Preciso che ho compilato con la versione 1.0.6 a differenza di quella proposta nella guida che e’ la vesione 1.6.5 se me lo chiedete vi posto anche i report compilati con questa versione (che mi da comunque problemi)

Mentre per la soluzione proposta da orso2001 chiedo di darmi qualche indicazione in piu’ perche non ho ben capito come eseguire il suo suggerimento “se copi tali funzioni nel file EggDuino.ino, alla fine di tutto il programma, quando editi gli errori scompaiono in quanti hai incluso le funzioni che ti mancavano.”

chiedo a doppio zero con quale versione di software arduino compila, cosi provo a scaricarla e magari mi funziona, mi chiedo comunque perche tutte queste differenze tra le varie versioni dell ide nel senso che io penso che quando il file e' scritto correttamente dovrebbe funzionare con uno o l altro ma questa diciamo che lo voluta scrivere perche mi e' venuta in mente al momento mi interessa solo farlo funzionare

ciao...in pratica apri (doppio click) il file EggDuino.ino; apri il file functions; selezioni tutte le righe dello sketch che c'è in function...ctrl+c....ti posizioni all'ultima riga dello sketch di EggDuino...dopo l'ultima }...aggiungi una riga premendo "enter"...ctrl+v...così hai copiato brutalmente functions...fai la stessa cosa con Helper_Functions.

io uso l'IDE 1.8.4 e facendo così non da errori di conpilazione.

IDE1.8.3

hai messo tutti i file nella stessa cartella? Fai così, metti tutti i file dentro una unica cartella chiamata EggDuino e apri il file EggDuino.ino, dovrebbe compilare

ho appena provato tutte e due le soluzioni e danno problemi di compilazione

doppiozero se a te lo compila il tuo file mod perche a me no? bella domanda vero ;D ?
mi dici la tua versione dell ide?a quel punto non ci devono essere piu' problemi!!!...sara vero?!!

... guarda, per provare, ho appena preso lo zip che doppiozero ti ha messo al post #9 e l'ho compilato per Arduino UNO con IDE 1.8.5 così come è :

Sketch uses 12822 bytes (39%) of program storage space. Maximum is 32256 bytes.
Global variables use 620 bytes (30%) of dynamic memory, leaving 1428 bytes for local variables. Maximum is 2048 bytes

.

... quindi ::slight_smile:

Guglielmo

ho appena provato tutte e due le soluzioni e danno problemi di compilazione

sempre gli stessi errori o diversi?...se diversi quali?

>motorimicro: mi viene un dubbio ... scaricato lo zip del post #9, lo hai scompattato e poi ... hai rinominato la cartella da EggDuino_mod in EggDuino?

Perché, se quando sei andato a caricare EggDuino.ino e l'IDE ti ha chiesto di creare la cartella, tu gli hai detto si, hai incasinato tutto.

La procedura è ... scaricare lo zip, scompattarlo, rinominare la cartella da EggDuino_mod in EggDuino e DOPO caricare nell'IDE EggDuino.ino che è li dentro.

Guglielmo

ahhh…non so che dire …
ho scaricato ide 1.8.5
ho impostato arduino uno
ho scaricato il file di doppiozero e cliccato due volte sul file eggduino.ino
si apre l ide che mi dice che il suddetto file deve essere all interno di una cartella… e gli ho detto di si
dopodiche vado a riaprire nuovamente il file lo compilo ma mi da errore…guarda foto

motorimicro:
si apre l ide che mi dice che il suddetto file deve essere all interno di una cartella... e gli ho detto di si
dopodiche vado a riaprire nuovamente il file lo compilo ma mi da errore...guarda foto

T'ho scritto sopra che lo supponevo e che avevi commesso un errore ... mio post #16 ... proprio sopra al tuo post ...

Leggetele con attenzione tutte le risposte !!!

Guglielmo

si scusa hai ragione guglielmo e che non avevo visto la tua risposta perche non ero accorto della seconda pagina del forum.

ok ragazzi sembra che funzioni, ho compilato e caricato e non mi ha dato problemi con la versione -mod rinominata.
sembrerebbe problema risolto (ora ne verranno tanti altri :slight_smile: :slight_smile: )

aggiungo un altro quesito al volo (se la risposta non e' propriamente immediata magari apro un altro post)
sapete dirmi che capacita' deve avere il consensatore da utilizzare per eliminare l autoreset della scheda?

ora vado avanti con il progetto, per il momento grazie veramente a tutti. Ciao Marco