Salve ragazzi, da diverse settimane sto sfruttando la libreria TextFinder per la ricerca di alcuni valori all'interno di una pagina scaricata. Devo dire che funziona molto bene ma possiede solo una pecca negativa che consiste nel blocco di alcuni secondi di tutto il sistema quando va a cercare quel preciso dato. Come posso migliorare la funzione di questa libreria ?
Dipende da quanto è lungo il testo e da dove si trova il valore da cercare, purtroppo in micro è quello, dovresti passare a un micro più veloce anche se non hai detto che arduino hai, un link della libreria, uno sketch che usi .....
Cosa intendi per scaricata?
Ciao pablos, hai perfettamente ragione, ho dato poche informazioni:
utilizzo arduino uno, ma lo stesso problema l'ho riscontrato nel mega 2560;
link libreria
http://playground.arduino.cc/Code/TextFinder
ecco un pezzo di codice
finder.find("corrente1:");
   finder.find("");
   corrente1 = finder.getFloat(".");
L'unica cosa che potresti fare per accelerare un pochino arduino è:
for (;;) {
loop();
//if (serialEventRun) serialEventRun();
}
commentare quella linea serialevent e poi ricompilare lo sketch
si trova in Arduino\hardware\arduino\avr\cores\arduino libreria main.cpp
Scusami per la mia "ignoranza", a cosa serve quella precisa riga e come mai la devo levare ? Aumenterò il mio bagaglio culturale con la tua risposta
Tra pochi minuti lo provo e ti saprò dire. Grazie
Serve per vedere se c'è qualcosa in arrivo dalla seriale, il fatto è che il tuo loop() perde un po' di cicli macchina per fare quel controllo. Se non hai dati in input dalla seriale puoi toglierla aumentando un pochino le prestazioni.
Grazie per la spiegazione. Esiste un metodo alternativo a questa libreria ?
Cè il metodo indexOf(), ma non credo sia molto più rapido, il peso ce l'hai in una connessione + negoziazione con un server esterno (qui già perdi 1-2 secondi) + una pagina da leggere tutta carattere per carattere.
Il problema che non si blocca con la connessione al server ma proprio nella ricerca dei valori... Secondo me dipende molto dalla libreria in questione. Voi siete gli esperti
ok l'hai fatto o no?
Si, però non è cambiato nulla
Mi spiace, stai chiedendo a un 8 bit 16mhz di fare cose che fa un pc. Cambia metodo, fai una richiesta al server che ti restituisce i valori, io non so nemmeno di cosa parli e il bello che te lho chiesto ... cosa scarichi ma ancora non l'hai detto...
Perchè devi scaricare una pag .... che pagina... dov'è sta pagina, quanto è grande sta pag...?
Con informazioni complete potrai ottenere risposte complete, con spizzichi e bocconi, sono l'unico che ti risponde.