Carte SD - programmation [mettre en tableau key et val liées] - config.txt

Merci SesechXP.

Grâce à ta piste je viens de trouver la solution.

En fait, je me suis souvenu avoir li que myFile.available() passé jusqu'au prochain caractère, sauf quand c'est un null. Ça tombe bien, c'est ce que je voulais faire !

Du coup, je n'ai plus eu à faire que:

/* FONCTION qui retournera le nombre de ligne du fichier */
int lectureConf_NB() {
  
  
  int nb=0;
  
  //Parcourir le fichier jusqu'à un caractère null
  while(myFile.available()) {
      
    //Si il est rencontrer un saut de ligne
    if(myFile.read() == '\n') {
        
      //Compter
      nb++;
    }
  }
  
  //Retourner le nombre de lignes parcouru
  return nb;
}

Bon, maintenant, je passe à la suite. La fonction qui va me retourné un tableau de String de la ligne spécifique.
Algorithmiquement parlant, je ferais ceci:

//lectureConf_LN(int ligne_a_lire)
  //aller à la ligne_a_lire
  //parcourir la ligne jusqu'au saut de ligne
    //Parser le contenu sur les ',' le dernier caractère étant le saut de ligne
    //Charger le tableau de string avec les valeurs parsés
 //Fin de parcours
 //Return tableau

Ensuite dans mon code, je dois me retrouver avec :

tableau[0]=MODELE-01
tableau[1]=Robot Go
tableau[2]=Robot
tableau[3]=true
tableau[4]=false
tableau[5]=false
tableau[6]=false

Il va de soit que je ne connais pas le nombre de variable à l'avance. Donc je pense limité à la seule ligne. Ensuite, je ne sait pas si par exemple, on peut faire cela:

boolean Mix_V1V2 = false;

//Charger la configuration
Mix_V1V2 = tableau[3];

//Si le mixage Voie 1 avec Voie 2 est activé
  if(Mix_V1V2) {
    //Mixage voie 1 et voie 2
    mixVoie1 = abs(voies[1] - (voies[2]-90)); 
    mixVoie2 = abs(voies[1] + (voies[2]-90));
    
    //Réécrire les voies avec le mixage
    voies[1] = mixVoie1;
    voies[2] = mixVoie2;
  }

Comme on va le voir, j'ai besoin de tester des cas sur du contenu de variable. Pas sûr que ça fonctionne.

Déjà, voyons pour récupérer les infos et éventuellement anticiper pour traiter ensuite les données.