Bon j'ai trouvé !
Effectivement pas bon les Strings
mais pas bon du tout ![]()
Bon, alors j'ai modifier mon code ainsi (et je ne vous met pas tout car c'est que la fin qui change !
/* FONCTION initSD() */
boolean initSD() {
clearLcd(); //Effacer l'écran
ecrireLcd("Init SD Card", 01); //Ecrire
//Si la carte n'est pas présente ou qu'elle est en défaut
if(!SD.begin(4)) {
ecrireLcd("Non presente", 21); //Ecrire
return false;
}
ecrireLcd("Sd card... Ok", 21); //Ecrire
delay(1000);
return true;
}
/* FONCTION listerFichier() */
int listeFichier(String chemin) {
int count = 0;
char path[SIZE_BUFFER];
//Conversion du chemin
chemin.toCharArray(path, SIZE_BUFFER);
//Ouvre ce qui est défini par le chemin
myFile = SD.open(path);
//Tant que c'est vrai
while(true) {
//Prend le nom du fichier
File entry = myFile.openNextFile();
//Si c'est la fin
if(!entry) {
break; //Sortir de la boucle
}
//Si le nombre de fichier est plus important que le nombre de place en tableau
if(count == SIZE_MODELE) {
break; //Sortir de la boucle
}
//Si c'est le répertoire /modeles/
if(chemin == "/modeles/") {
//Rentre le nom de fichier dans le tableau des noms de modèles
tblFicMdle[count] = entry.name();
}
//Si c'est le répertoire /sauvegarde/
if(chemin == "/svgde/") {
//Rentre le nom de fichier dans le tableau des noms de sauvegarde
tblFicSvg[count] = entry.name();
}
count++; //Compter le nombre de fichier
}
//Fermer le fichier
myFile.close();
//Retourner le nombre de fichier
return count;
}
/* FONCTION qui ouvre un fichier */
void ouvrirFichier(String chemin, String fic) {
//Variables
char path[SIZE_BUFFER], bufferConf[SIZE_BUFFER];
int i, bufferLenght, lineCounter = 0;
clearLcd(); //Efface l'écran
ecrireLcd("Fichier en lecture", 01); //Ecrire
//Crée le chemin
chemin = chemin + fic;
//Transforme le chemin
chemin.toCharArray(path, SIZE_BUFFER);
//Ouvre le fichier
myFile = SD.open(path, FILE_READ);
//Si le fichier est présent
if(myFile) {
//Tant que ce n'est pas la fin du fichier
while(myFile.available()) {
//Récupère la ligne
i = 0;
while((bufferConf[i++] = myFile.read()) != '\n') {
//Si la ligne dépasse le buffer
if(i == SIZE_BUFFER) {
break;
}
}
bufferLenght = i; //Garder en mémoire le nombre de lettre
bufferConf[--i] = '\0'; //Finir la ligne en retirant le saut de ligne
lineCounter++; //Compter le nombre de lignes
//Ne pas enregistrer les lignes vides ou les commentaires
if(bufferConf[0] == '\0' || bufferConf[0] == '/' || bufferConf[0] == '#') {
continue;
}
Serial.println(bufferConf);
}
//Fermer le fichier
myFile.close();
}
return;
}
la ou je sort mon Serial.println(bufferConf); c'est là que je dois entrée en tableau. Ce que je cherche c'est à avoir
tbl[0] -> Robot Go
tbl[1] -> Robot
tbl[2] -> true
tbl[3] -> false
Il y aura des tests sur true et false au final. Donc c'est un point à étudier afin de ne pas le perdre de vue.