Piemonte, Italia
Offline
Jr. Member
Karma: 1
Posts: 65
Just a brick in the wall
|
 |
« Reply #15 on: November 27, 2012, 05:52:19 am » |
Uhm... "sketch_nov27a" mi fa pensare che tu abbia scaricato un file solo invece dell'intero repository, è così?
|
|
|
|
|
Logged
|
|
|
|
|
Genova
Offline
Edison Member
Karma: 13
Posts: 2434
|
 |
« Reply #16 on: November 27, 2012, 05:58:35 am » |
Ho messo lo sketch nella cartella con le librerie, magari devo rivedere l'installazione di tutte quelle lib se sono al posto giusto. però a parte tutto quello che mi interessa del tuo progetto è solo questo static var_substitution subDateVarSub PROGMEM = {subDateStr, evaluate_date, NULL}; static var_substitution subTimeVarSub PROGMEM = {subTimeStr, evaluate_time, NULL}; ...
static var_substitution *substitutions[] PROGMEM = { &subDateVarSub, &subTimeVarSub, ... ...
questo non l'ho mai visto, cosa fa sostituisce i caratteri nelle stringhe del PROGMEM?
|
|
|
|
|
Logged
|
Meglio imparare dalle cose inutili piuttosto che non imparare niente. [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]
|
|
|
|
Piemonte, Italia
Offline
Jr. Member
Karma: 1
Posts: 65
Just a brick in the wall
|
 |
« Reply #17 on: November 27, 2012, 06:05:01 am » |
No, è il supporto per una sorta di "contenuti dinamici" nelle pagine web. Prova il secondo esempio della libreria Webbino e dovresti capire. L'uso di PROGMEM in questo frangente è solo per risparmiare più RAM possibile. Ho aggiunto le istruzioni dettagliate per l'installazione al primo post. A questo punto sei moralmente obbligato a seguirle e dirmi se va tutto bene  . Ho anche aggiunto il file html.h al repository, riscaricalo.
|
|
|
|
« Last Edit: November 27, 2012, 06:19:15 am by SukkoPera »
|
Logged
|
|
|
|
|
Firenze
Offline
Newbie
Karma: 0
Posts: 23
|
 |
« Reply #18 on: November 27, 2012, 06:22:58 am » |
Ciao, mi sembra di averle scaricate tutte e messe in una cartelle di nome "nome libreria" senza .h nella cartella libraries dell arduino. è il percorso giusto? ti ho postato una foto dell errore, se riesci a capire.
|
|
|
|
|
Logged
|
|
|
|
|
Piemonte, Italia
Offline
Jr. Member
Karma: 1
Posts: 65
Just a brick in the wall
|
 |
« Reply #19 on: November 27, 2012, 06:27:56 am » |
Francamente è un errore che non ho mai visto. Prova ad aggionare tutto, vedi le istruzioni che ho messo al primo post e vediamo se capita ancora!
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 26
Posts: 1339
You do some programming to solve a problem, and some to solve it in a particular language. (CC2)
|
 |
« Reply #20 on: November 27, 2012, 06:44:06 am » |
La macro F() ritorna un const __FlashStringHelper* #define F(string_literal) (reinterpret_cast<const __FlashStringHelper *>(PSTR(string_literal)))
Mentre la get_get_parameter() accetta un __FlashStringHelper* char *get_get_parameter (__FlashStringHelper *param);
In SmartStrip2.ino ci sono righe come: param = request.get_get_parameter (F("mac"));
che forzano il passaggio di un puntatore const ad uno non const. Ovviamente ciò è proibito, perché significherebbe passare da read-only a read-write. Forse la get_get_parameter() dovrebbe essere dichiarata così: char *get_get_parameter (const __FlashStringHelper *param);
?
|
|
|
|
|
Logged
|
|
|
|
|
Piemonte, Italia
Offline
Jr. Member
Karma: 1
Posts: 65
Just a brick in the wall
|
 |
« Reply #21 on: November 27, 2012, 06:51:26 am » |
Sì beh, ho chiaro quale può essere il problema. Probabilmente è giusto aggiungere il const, ma io non lo riscontro, è questo che non mi quadra. Se il problema si presenta ancora e la modifica suggerita non lo risolve (perché da qualche altra parte chiamo la funzione con argomenti non const), un workaround potrebbe essere l'aggiunta di: char *get_get_parameter (const __FlashStringHelper *param) { return get_get_parameter (const_cast<__FlashStringHelper *> (param)); } Però mi piacerebbe capire meglio perché io non riscontro il problema.
|
|
|
|
|
Logged
|
|
|
|
|
Firenze
Offline
Newbie
Karma: 0
Posts: 23
|
 |
« Reply #22 on: November 27, 2012, 07:35:49 am » |
Sono ripartito da zero. cancellato tutto, riscaricato tutto con ide 1.01, librerie e modifica x wiz5100 adesso si ferma a: static Page aboutPage PROGMEM = {about_html_name, about_html, NULL}; con errore: SmartStrip2:292: error: 'about_html_name' was not declared in this scope
non è che ma convertito tutte le pagine che sono nella cartella \html come è il file html.h nella cartella dello sketch?
le modifiche che ha suggerito anche tuxduino e anche tu ho provato a cercare dove farle, ma non ci arrivo. ho preso questo arduino per fare una cosa che poi piu o meno si è rivelata il tuo smartstrip, ma è la prima cosa che faccio con arduino
|
|
|
|
|
Logged
|
|
|
|
|
Piemonte, Italia
Offline
Jr. Member
Karma: 1
Posts: 65
Just a brick in the wall
|
 |
« Reply #23 on: November 27, 2012, 07:41:52 am » |
Uhm, il file html.h l'ho aggiunto stamane al repository proprio per evitare di doverlo generare, c'è già in quello che hai scaricato?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 26
Posts: 1339
You do some programming to solve a problem, and some to solve it in a particular language. (CC2)
|
 |
« Reply #24 on: November 27, 2012, 07:49:56 am » |
ho provato a cercare dove farle, ma non ci arrivo. Nella dichiarazione di get_get_parameter() (e ovviamente nella sua implementazione nel file .cpp).
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 26
Posts: 1339
You do some programming to solve a problem, and some to solve it in a particular language. (CC2)
|
 |
« Reply #25 on: November 27, 2012, 07:51:12 am » |
Se il problema si presenta ancora e la modifica suggerita non lo risolve (perché da qualche altra parte chiamo la funzione con argomenti non const), un workaround potrebbe essere l'aggiunta di Se il problema è in effetti quello che ho rilevato io e si presenza in altri casi, la soulzione è aggiugnere const alle eventuali altre funzioni che non hanno questo attributo, non forzare un cast.
|
|
|
|
|
Logged
|
|
|
|
|
Firenze
Offline
Newbie
Karma: 0
Posts: 23
|
 |
« Reply #26 on: November 27, 2012, 08:03:19 am » |
mi pare che i problemi precedenti forse sono superati, adesso mi da esclusivamente errori di sostituzione: static var_substitution subDateVarSub PROGMEM = {subDateStr, evaluate_date, NULL}; con errore: SmartStrip2:791: error: too many initializers for 'var_substitution' SmartStrip2:791: error: invalid conversion from 'char* (*)(void*)' to 'char* (*)()'
e da solo questi di errore, circa una quindicina
|
|
|
|
|
Logged
|
|
|
|
|
Piemonte, Italia
Offline
Jr. Member
Karma: 1
Posts: 65
Just a brick in the wall
|
 |
« Reply #27 on: November 27, 2012, 08:07:00 am » |
Quello è perché non hai aggiornato Sukkino, l'ho sistemato stamattina!
@tuxduino: Me ne rendo conto, infatti ho parlato di workaround, non di soluzione definitiva. Vorrei capire bene qual è il problema!
|
|
|
|
|
Logged
|
|
|
|
|
Firenze
Offline
Newbie
Karma: 0
Posts: 23
|
 |
« Reply #28 on: November 27, 2012, 08:14:15 am » |
Grande SukkoPera, adesso va, ma nell arduino uno non ci entra, il compilato viene 35K, ti risulta?
comunque adesso sto aspettando che mi arrivi il mega2560 e li non ci dovrebbero essere piu problemi.
ma tu avevi detto che l' hai fatto per l' uno o mi sbaglio?
comunque grazie per l' aiuto che mi hai dato appeno arriva il mega lo provo
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 26
Posts: 1339
You do some programming to solve a problem, and some to solve it in a particular language. (CC2)
|
 |
« Reply #29 on: November 27, 2012, 08:36:52 am » |
Quello è perché non hai aggiornato Sukkino, l'ho sistemato stamattina!
@tuxduino: Me ne rendo conto, infatti ho parlato di workaround, non di soluzione definitiva. Vorrei capire bene qual è il problema!
Il vero problema è capire come mai compila... 
|
|
|
|
|
Logged
|
|
|
|
|
|