Vinkkejä sd-kortilta lukemiseen?

Nyt on dataloggeri siinä pisteessä että tarvitaan enää ohjelmoimaton käyttö esimerkiksi tallennusvälin määrittämiseen…

Käytössä on siis SD-shieldi iteadilta ja arduino pohjana ohjelmalle…
haluaisin siis lukea ainakin dataloggauksen tallennusvälin pituuden muistikortilta void setupissa…
jos kortilla olisi vaikka tiedosto “config.txt” josta otetaan tarvittavia tietoja…

onko mahdollista että tiedosto sisältää esim tälläisen pätkän:

aika = 1000; //tallennusvälin aika ajan_yks = 0; //0= ms, 1= s, 2= min anturit = 1, 4, 5, 6 //1= lämpö1 2= lämpö2 3= lämpö3 4= kosteus 5= virtaus 6= valoisuus

ajan_yks luku varmasti switch case toiminnolla ja aika ajetaan vaan delayhin mutta pitääkö tehdä kirjasto vielä antureille vai miten tämä nyt sitte?

tällähetkellä on kiinteä aika käytössä ja kaikkien anturien tiedot menee automaattisesti kortille…

http://forums.reprap.org/read.php?147,68146,78452,quote=1

jos jollain aikaa niin voiko joku kääntää arduinolle tuota? tai oikeestaan muuten näyttää ihan käypältä mutta jotain sieltä ainakin puuttuu… ainaki #include <SD.h> näin nopeesti vilastuna… jos ei kellään kiinnostusta niin sitte varmaan ite joskus kun kerkeen niin yritän mutta saa nähä… :confused:

[code]// Function to clear a string
void clearStr (char* str) {
int len = strlen(str);
for (int c = 0; c < len; c++) {
str[c] = 0;
}
}
// Function for parse varibales in a config.txt file stored in sdcard
int getconfig(char* str) {
int valor=0;
char configfile[]=“CONFIG.TXT”; // definim fitxer configuracio
if (!file.open(&root, configfile, O_READ)) {
Serial.println(“NO TROB CONFIG.TXT!!!”);
Serial.println();
}
else{
boolean flag_comando = false;
char configcomando[100];
char comana[6]; // pot guardar fins a 99999 (darrera posició reservada per 0;
int indexconfig=0;
int16_t c;
while ((c = file.read()) > 0) {
configcomando[indexconfig]=(char)c;
indexconfig++;
if(strstr(configcomando,str)){
indexconfig=0;
clearStr(configcomando);
flag_comando = true;
}

  if(c==59){
    int llarga = strlen(configcomando);
    int i2=0; // index de 2on string
    for(int cont=1;cont0 ;i--){
  voltes++;
  if(voltes==5){ 
    valor=valor+((comana[i-1]-48)*10000);            
  }
  if(voltes==4){ 
    valor=valor+((comana[i-1]-48)*1000);            
  }
  if(voltes==3){ 
    valor=valor+((comana[i-1]-48)*100);            
  }
  if(voltes==2){ 
    valor=valor+((comana[i-1]-48)*10);            
  }
  if(voltes==1){ 
    valor=valor+(comana[i-1]-48);          
  }

}

}
return valor;
}[/code]