che cosa può essere (risolto)

ho appena istallato la versione 1.6.8 ide

cerco di caricare gli sketch che funzionavano benissimo con le versioni precedenti

e adesso vedo questa "roba"

Arduino:1.6.8 (Windows 7), Scheda:"Arduino Nano, ATmega328"

D:\da_pe\arduino progetti\cal19\cal19.ino:72:27: warning: extra tokens at end of #include directive [enabled by default]

 #include <RotaryEncoder.h>;

                           ^

D:\da_pe\arduino progetti\cal19\cal19.ino:176:20: warning: multi-character character constant [-Wmultichar]

     lc.setChar(0,4,' b',false),

                    ^

D:\da_pe\arduino progetti\cal19\cal19.ino:180:20: warning: multi-character character constant [-Wmultichar]

     lc.setChar(0,0,' A',false),

                    ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:69:27: warning: extra tokens at end of #include directive [enabled by default]

 #include <RotaryEncoder.h>;

                           ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:173:20: warning: multi-character character constant [-Wmultichar]

     lc.setChar(0,4,' b',false),

                    ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:177:20: warning: multi-character character constant [-Wmultichar]

     lc.setChar(0,0,' A',false),

                    ^

In file included from D:\da_pe\arduino progetti\cal19\cal19.ino:72:0:

C:\Users\Ni\Documents\Arduino\libraries\RotaryEncoder/RotaryEncoder.h:27:7: error: redefinition of 'class RotaryEncoder'

 class RotaryEncoder {

       ^

In file included from D:\da_pe\arduino progetti\cal19\cal19.ino:1:0:

C:\Users\Ni\Documents\Arduino\libraries\RotaryEncoder/RotaryEncoder.h:27:7: error: previous definition of 'class RotaryEncoder'

 class RotaryEncoder {

       ^

D:\da_pe\arduino progetti\cal19\cal19.ino: In function 'void setup()':

D:\da_pe\arduino progetti\cal19\cal19.ino:176:30: warning: overflow in implicit constant conversion [-Woverflow]

     lc.setChar(0,4,' b',false),

                              ^

D:\da_pe\arduino progetti\cal19\cal19.ino:180:30: warning: overflow in implicit constant conversion [-Woverflow]

     lc.setChar(0,0,' A',false),

                              ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino: At global scope:

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:9:7: error: redefinition of 'float correzione_lettura_calibro_normale'

 float correzione_lettura_calibro_normale =   -0    ;  //ogni 400 aggiunti è un centesimo  in meno

       ^

cal19:12: error: 'float correzione_lettura_calibro_normale' previously defined here

 float correzione_lettura_calibro_normale =   0    ;  //ogni 400 aggiunti è un centesimo  in meno

       ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:10:6: error: redefinition of 'int sottrazione_addizione_lettura_negativa'

 int  sottrazione_addizione_lettura_negativa =    0; // da agiustare perche  e valido solo cn lettura senza raddppio  

      ^

cal19:13: error: 'int sottrazione_addizione_lettura_negativa' previously defined here

 int  sottrazione_addizione_lettura_negativa =    0; // da agiustare perche  e valido solo cn lettura senza raddppio  

      ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:12:8: error: redefinition of 'byte raddoppio_lettura'

   byte raddoppio_lettura = 0;

        ^

cal19:15: error: 'byte raddoppio_lettura' previously defined here

   byte raddoppio_lettura = 0;

        ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:13:17: error: redefinition of 'long unsigned int lettura_millis_1'

   unsigned long lettura_millis_1 ;

                 ^

cal19:16: error: 'long unsigned int lettura_millis_1' previously declared here

   unsigned long lettura_millis_1 ;

                 ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:14:17: error: redefinition of 'long unsigned int lettura_millis_2'

   unsigned long lettura_millis_2 ;

                 ^

cal19:17: error: 'long unsigned int lettura_millis_2' previously declared here

   unsigned long lettura_millis_2 ;

                 ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:15:8: error: redefinition of 'byte start_millis_1'

   byte start_millis_1 = 0;

        ^

cal19:18: error: 'byte start_millis_1' previously defined here

   byte start_millis_1 = 0;

        ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:16:16: error: redefinition of 'unsigned int tempo_di_pressione'

   unsigned int tempo_di_pressione  ;

                ^

cal19:19: error: 'unsigned int tempo_di_pressione' previously declared here

   unsigned int tempo_di_pressione  ;

                ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:19:7: error: redefinition of 'float correzione_numeri_positivi_calibro'

 float correzione_numeri_positivi_calibro = 2.015845+ (correzione_lettura_calibro_normale/1000000) ; 

       ^

cal19:22: error: 'float correzione_numeri_positivi_calibro' previously declared here

 float correzione_numeri_positivi_calibro = 2.015845+ (correzione_lettura_calibro_normale/1000000) ; 

       ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:20:7: error: redefinition of 'long int correzione_numeri_negativi_calibro'

 long  correzione_numeri_negativi_calibro = 4161330 + sottrazione_addizione_lettura_negativa ;

       ^

cal19:23: error: 'long int correzione_numeri_negativi_calibro' previously declared here

 long  correzione_numeri_negativi_calibro = 4161330 + sottrazione_addizione_lettura_negativa ;

       ^

D:\da_pe\arduino progetti\cal19\cal19 - Copia.ino:22:6: error: redefinition of 'long int pos1'

 long pos1 ;

      ^

cal19:25: error: 'long int pos1' previously declared here

ciao

Il primo errore è molto semplice: non si deve terminare una riga con #include con un ";"

Gli altri sono forse la conseguenza del primo, ovvero non include quella libreria quindi qualsiasi chiamata alla libreria ti darà un errore.

ciao
pippo72

mah quello del punto e virgola ha poco a che fare,
gli errori riportati sono solo una piccola parte
davo per scontato che una volte messe le librerie
tutto deve filare "liscio"
gli sketch li ho caricati per mesi senza nessun problema :frowning:

Confermo che NON ci vuole il puntoevirgola dopo gli #include.

Inoltre, le costanti tra apici singoli possono contenere un solo carattere, quindi ' A' ha poco senso: o togli lo spazio o lo trasformi in stringa usando le virgolette doppie: " A".

Che te li abbia sempre caricati è strano, ma non importa: sono errori che vanno corretti!

ma che sta a significare ...... :o previously declared here

l'ide non sopporta piu l'underscore nei nomi delle variabili? o il nome delle variabili troppo lunghi?

Sembra che tu abbia più file.ino nella cartella dello sketch, rimuovi quelli non necessari e lasciane uno solo.

In quel che resta fixa poi tutti i warning!

previously declared here

significa esattamente quello che c'è scritto!

precedentemente dichiarato qui.

quel codice non compila in nessun compilatore, dunque è impossibile che prima compilava e adesso no.
Più che dare la caccia alle streghe ti consiglio di leggere dei libri sulla programmazione, dal tuo codice deduco che ne necessiti.

vbextreme:
significa esattamente quello che c'è scritto!

precedentemente dichiarato qui.

quel codice non compila in nessun compilatore, dunque è impossibile che prima compilava e adesso no.
Più che dare la caccia alle streghe ti consiglio di leggere dei libri sulla programmazione, dal tuo codice deduco che ne necessiti.

te stai scherzando :o ci ho messo mesi a sistemare questo codice sempre col suo hardware collegato

tutti i prgetti salvati, e funzionavano tutti se ora l ide "rileva cose" che prima lasciava stare si possono anche rivedere

se poi bisogna salvarsi anche la versione dell ide assieme alle librerie non so che dire

SukkoPera:
Sembra che tu abbia più file.ino nella cartella dello sketch, rimuovi quelli non necessari e lasciane uno solo.

In quel che resta fixa poi tutti i warning!

grazie mille :wink: il problema era causato che tenevo una "copia di sicurezza" dello sketc nella stessa cartella

i warning li da lo stesso (che sistemerò) ma almeno sono riuscito a caricarlo :slight_smile:

In Arduino si programma in C/C++
Su una riga che inizia con # (comandi preprocessore) NON si mette il ;
Purtroppo con la versione 1.0.6 non venivano segnalati certi errori (non sò da quale).

venivano segnalati, bastava attivarli.
Comunque non stavo scherzando.

Il problema è che tu sottovaluti i warning: quasi sempre nascondono un errore o qualcosa che comunque non fa quel che si pensa faccia, per cui è buona norma affrontarli e risolverli, anche perché i warning di oggi possono benissimo essere errori di domani, nel senso che il compilatore può diventare meno tollerante, o Arduino può introdurre nuovi flag in questo senso.

In quest'ottica, non mi va molto giù che di default i warning siano nascosti >:(.

Vengono nascosti i warning per dare l'impressione al povero utente che la programmazione in C/C++ sia semplice.....
Sarebbe bello cacciare l'opzione pedantic e fotografare tutte le facce degli utenti....