Bonjour à tous.
N'ayant pas trouvé la solution pour stocker des fichiers de 80 octets sur SPIFFS ou avec LittleFS, j'ai tenté de le faire dans un premier temps en vain avec la librairie ArduinoNVS puis avec Preferences.
Dans ces deux derniers cas, il parait impossible de stocker plus de 8 octets: l'enregistrement se passe bien mais à la relecture le fichier est vide.
La routine d'enregistrement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Preferences pref;
 
//*********Enregistrement en NVS d'un programme complet (10 manip de 8 octets) 6x => Px   x=0 a* 9
case '6':{
      String tempo="";
      char nFic[3];
      nprog = ci(com[1]); //numero de programme  Conversion ASCII en Numérique
      if(!(nprog>=0 && nprog<=9)) afficErreurs(prg);
      else{                
        nFic[0]= 'P'; nFic[1]=com[1]; nFic[2]='\0';   //numero de fic Px avec x=0 à 9
        for(int i=0;i<80;i++){
         tempo += pg[nprog][i];     //char pg[10][80];   10 programmes de 8*10 manips
        }
        int size = pref.putString(nFic,tempo);   //dans le fichier Px on enregistre tout le programme x
        lcd.clear();lcd.print(size); delay(2000); lcd.clear();
      }
    }
    break;
Le résultat indique bien le nombre d'octets enregistré.
Mais à la relecture, l'enregistrement est vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
//****affichage memoire programmee x *****
    case '5':{
      String tempo="";
      char prog[3];
      prog[0]='P'; prog[1]= com[1]; prog[2]='\0';
      tempo = pref.getString(prog,"");
      for(i=0;i<10;i++){
        lcd.clear(); lcd.print(String(prog) + " " + String(i));
        lcd.setCursor(0,1); lcd.print(tempo.substring(i*8,i*8+8));    //affichage par 8 octets
        delai('s',2);
      }
    }
    break;
Si quelqu'un a une idée pour ce problème.