Go Down

Topic: SD datalogging lento ? (Read 527 times) previous topic - next topic

Michele Menniti


A questo tuo treadh "Possibile che SDfat vada ed SD.h no ???"
http://arduino.cc/forum/index.php/topic,107093.msg805469.html#msg805469


Ve beh, poi provo e ti so dire  ;)


Aspetto ancora risposta :)
Quindi come hai risolto?

ciao

Mi sa che ancora non ha risolto nemmeno lì, ad occhio i problemi mi sembrano sempre gli stessi; il nostro ratto93 deve ancora prendere la giusta dimestichezza con queste lib :)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

ratto93

Ho risposto al vecchio thread :)
ora sono riuscito a farlo andare, ma non scrive ancora abbastanza velocemente...
sono sui 3Hz (inteso come frequenza di salvataggio) e sono ancora troppo pochi..
l'inghippo sta tutto qui ( con questa sintassi apre o crea il file e scrive in coda i nuovi dati) :
Code: [Select]
File dataFile = SD.open("datalog.txt", O_CREAT | O_WRITE | O_APPEND);
Se corri veloce come un fulmine, ti schianterai come un tuono.

lesto

non usare un filesystem ma scrivi i dati raw... certo però non uoi accederci direttamente dal PC, devi fare un paio di rigiri (copiare a basso livello l'immagine e poi aprire l'immagine in formato testo)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

ratto93


non usare un filesystem ma scrivi i dati raw... certo però non uoi accederci direttamente dal PC, devi fare un paio di rigiri (copiare a basso livello l'immagine e poi aprire l'immagine in formato testo)

potresti spiegarmi come funziona questa cosa ?
Io alla fine ho bisogno di un file di testo con dei numeri separati da virgole su colonne.. per poi poterli lavorare con excel e similari..
Se corri veloce come un fulmine, ti schianterai come un tuono.

lesto

si, ma tu fregatene per ora.
allora immagina la tua SD come un array di byte. La FAT dice che i primi X byte sono riservati per la tabella partizioni, e poi bisogna fare i blocchi da 521, etc.. etc..., e ogni aggiornamento va ad aggiornare un bel pò di tabelle spase per la SD.

se invece ce ne freghiamo di essere "plug and play", allora NON usiamo un file system, ma usiamo direttamente i byte della SD, esattamente come se fosse una EEPROM.. poi dovrai usare un programma per estrarre i dati "raw" (o l'immagine), ne esistono un bel pò, e linux ha dei comandi "incorporati" (dd per esempio).
Estraendo i dati raw avrai un fine .img o senza estensione, ma se tu lo apri come se fosse un TXT, magicamente troverai tutti i tuoi dati.
Certo, richiede un passaggio in più lato PC, però non è nè troppo complicato e praticamente istantaneo se ti fai uno script apposta (farsi il programma da soli mi sa che diventa complicato)

edit: cerca "read raw data SD" su gooogle e ti escono un bel pò di discussioni in giro per vari forum
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up