Go Down

Topic: Rendere compatibili sketch 023/1.0 (Read 4095 times) previous topic - next topic

Testato

ci siamo quasi

ottimo leo

Code: [Select]
In file included from D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/Print.h:26,
                 from D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/Stream.h:26,
                 from D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\Wire\/Wire.h:24,
                 from D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\Wire\Wire.cpp:27:
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:23:10: error: #include expects "FILENAME" or <FILENAME>


alla fine pubblico i file modificati in cima al topic.
Credo che male non faccia, cioe' se si usano librerie aggiurnate mica queste modifiche vanno ad intaccare il funzionamento di qualcosa ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

leo72

Dall'errore:
Code: [Select]
WString.h:23:10: error: #include expects "FILENAME" or <FILENAME>
pare tu abbia sbagliato a scrivere il nome del file nell'include.

Testato

ma intendi gli include che ho nello sketch ?

Code: [Select]

#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h>
#include <EEPROM.h>


come si leggono gli errori ? che significa il 23.10 ? WString.h:23:10
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

leo72

Code: [Select]
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:23:10: error: #include expects "FILENAME" or <FILENAME>
Ti dice che nel file percordo/bla/bla/WStrings.h alla riga 23, colonna 10, c'è un #include con una sintassi errata.
Code: [Select]
#include "nomeFile.h"
#include <nomeFile.h>


sono sintassi corrette. Ricontrolla cos'hai scritto tu.

Testato

si tratta del codice che mi hai fatto mettere tu
Code: [Select]
#ifndef Arduino_h
#define Arduino_h
#include Arduino.h
#endif


l'ho quindi modificato in
Code: [Select]
#ifndef Arduino_h
#define Arduino_h
#include <Arduino.h>
#endif


l'ho cambiato anche in WConstants.h

ora la situazione e' questa:
Code: [Select]







In file included from D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/Print.h:26,
                 from D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/Stream.h:26,
                 from D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\Wire/../Wire/Wire.h:24,
                 from D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:2:
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:119: error: declaration of C function 'StringSumHelper& operator+(const StringSumHelper&, const char*)' conflicts with
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:118: error: previous declaration 'StringSumHelper& operator+(const StringSumHelper&, const String&)' here
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:120: error: declaration of C function 'StringSumHelper& operator+(const StringSumHelper&, char)' conflicts with
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:119: error: previous declaration 'StringSumHelper& operator+(const StringSumHelper&, const char*)' here
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:121: error: declaration of C function 'StringSumHelper& operator+(const StringSumHelper&, unsigned char)' conflicts with
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:120: error: previous declaration 'StringSumHelper& operator+(const StringSumHelper&, char)' here
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:122: error: declaration of C function 'StringSumHelper& operator+(const StringSumHelper&, int)' conflicts with
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:121: error: previous declaration 'StringSumHelper& operator+(const StringSumHelper&, unsigned char)' here
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:123: error: declaration of C function 'StringSumHelper& operator+(const StringSumHelper&, unsigned int)' conflicts with
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:122: error: previous declaration 'StringSumHelper& operator+(const StringSumHelper&, int)' here
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:124: error: declaration of C function 'StringSumHelper& operator+(const StringSumHelper&, long int)' conflicts with
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:123: error: previous declaration 'StringSumHelper& operator+(const StringSumHelper&, unsigned int)' here
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:125: error: declaration of C function 'StringSumHelper& operator+(const StringSumHelper&, long unsigned int)' conflicts with
D:\Backup\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/WString.h:124: error: previous declaration 'StringSumHelper& operator+(const StringSumHelper&, long int)' here
In file included from D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:4:
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\/DS1307.h:55: error: 'boolean' has not been declared
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\/DS1307.h:56: error: 'boolean' has not been declared
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\/DS1307.h:63: error: 'byte' does not name a type
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp: In member function 'void DS1307::read()':
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:21: error: 'B1101000' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:22: error: 'class TwoWire' has no member named 'send'
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:30: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:30: error: 'class TwoWire' has no member named 'receive'
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp: In member function 'void DS1307::save()':
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:37: error: 'B1101000' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:38: error: 'class TwoWire' has no member named 'send'
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:41: error: 'class TwoWire' has no member named 'send'
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:41: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp: At global scope:
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:48: error: 'boolean' has not been declared
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:57: error: 'boolean' has not been declared
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp: In member function 'int DS1307::get(int, int)':
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:64: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:64: error: 'B01110000' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:64: error: 'B00001111' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:70: error: 'B00110000' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:73: error: 'B00000111' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp: In member function 'void DS1307::set(int, int)':
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:103: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:103: error: 'B10000000' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:110: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:117: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:123: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:129: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:135: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:141: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp: In member function 'void DS1307::stop()':
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:152: error: 'rtc_bcd' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:152: error: 'B10000000' was not declared in this scope
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp: In member function 'void DS1307::start()':
D:\Backup\Elettronica\Arduino\arduino-1.0\libraries\DS1307\DS1307.cpp:160: error: 'rtc_bcd' was not declared in this scope
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

leo72

E' vero avevo sbagliato io. Mi ero scordato i caratteri di inclusione.

Cmq secondo me è una sfida infinita. Tappi da una parte e si buca da un'altra...
In questo momento sono 2 i file che si lamentano: WStrings dice che ci sono dichiarazioni doppie, quindi è come se non avesse visto l'inclusione di Arduino.h; l'altro è DS1307, che non vede le costanti che dovrebbero essere in WCostants/Arduino.h.

BrainBooster

nessuno di voi ha provato a far lavorare il nuovo ide con il vecchio core ? magari creando delle board apposite...
Così uno si sceglie il core contro cui compilare di volta in volta e pace

leo72

Non so fino a che punto l'IDE 1.0 sia compatibile con la vecchia, anche perché dal changelog ho visto che sono cambiate diverse cose.

BrainBooster

io ho fatto girare tinycore (solo blink) sulla 1.0, se funge quello , penso che si possa pacchettizzare anche il vecchio core ed usarlo tipo tiny, magari con una riga di compilazione condizionale in cima..... da provare....

leo72

Il core Tiny si basa sul core 0022 dell'IDE, girare gira ma perdi le funzionalità nuove introdotte dalla 1.0.

BrainBooster

si, io pensavo di usare questa come "modalità compatibile" non come un'integrazione.
Per usare lo stesso ide con 2 core diversi a seconda delle necessità.

Testato

ma a quel punto tieni installati sia la 023 che la 1.0 e via

io non ho problemi ad usare la 023 a vita, pero' non ha senso che il team abbia deciso di agire cosi' prepotentemente contro il vecchio mondo.

quali sono i motivi per i quali hanno interesse a non farmi usare il nuovo ide sui vecchi progetti ?
non possono sperare che tutte le librerie vengano sistemate, ad esempio quella che uso io per l'RTC e' abbandonata dal 2009, ma va benissimo. l'autore non ci lavora piu', quindi non verra' mai aggiornata.
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

lesto


Cmq secondo me è una sfida infinita. Tappi da una parte e si buca da un'altra...


approvo.

la soluzione corretta però non è quella di modificare i file della UNO, altrimenti si ritorna al punto di partenza.
DOBBIAMO (e secondo me è d'obbligo in quanto)

io non ho problemi ad usare la 023 a vita, pero' non ha senso che il team abbia deciso di agire cosi' prepotentemente contro il vecchio mondo.


sistemare la cosa...

è il metodo secondo me migliore è creare dei file farlocchi (un finto wprogram per esempio) che va a includere i file necessari, e faccia tuaa la "black magic".
Il vero prolemasaranno le classi modificate ma che mantengono lo stesso nome

edit: domanni ci provo a sistemare la catena di compilazione, mi linkate un codice di prova bello tosto così ci sbatto la testa per bene?
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Testato

prova semplicemente con il codice di esempio di questa libreria, che sarebbe quella che uso io.

voisto che dopo 3 pagine di prove ancora non funziona, vuol dire che e' tosta

infatti chiama in causa wcostant e wiring che non ci sono piu' e wporgram

http://code.google.com/p/ds1307/
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

BrainBooster

#44
Dec 20, 2011, 05:58 pm Last Edit: Dec 21, 2011, 07:08 pm by BrainBooster Reason: 1
Guarda come può essere differente da una versione all'altra
http://code.google.com/p/ds1307new/downloads/detail?name=DS1307new_v1.23.zip&can=2&q=
la vedo un' impresa disperata rendere tutto compatibile tramite qualche artificio... forse solo gli sketch che non usano librerie....

Go Up