[resolu] Re: Aide pour EEPROMLoadAndSaveSettings

Bonjour à tous

Dans le cadre d’un projet de d’envoi d’alarmes par GSM, J’aimerai sauvegarder certaines variables de mon programme afin de les garder comme par exemple, le nombre de SMS envoyés
Pour ce faire, je pensais utiliser le programme suivant : EEPROMLoadAndSaveSettings qui semble être tout fait pour ça

J’ai simplement téléchargé la version sur arduino .cc , mais il est impossible de le compiler

Je ne vois pas vraiment ce qu’il faut faire pour ne plus avoir ces problèmes

j’ai rien vu sur le site du dévelppeur

sketch_oct26b.ino: In function ‘void setup()’:
sketch_oct26b:35: error: ‘EEPROM’ was not declared in this scope
sketch_oct26b.ino: In function ‘bool loadConfig()’:
sketch_oct26b:52: error: ‘EEPROM’ was not declared in this scope
sketch_oct26b.ino: In function ‘void saveConfig()’:
sketch_oct26b:58: error: ‘EEPROM’ was not declared in this scope

arduino UNO + 1.0.5

merci d’avance

code brut de téléchargement sur le site

#include <EEPROMex.h>


// ID of the settings block
#define CONFIG_VERSION "ls1"

// Tell it where to store your config data in EEPROM
#define memoryBase 32

 bool ok  = true;
int configAdress=0;

// Example settings structure
struct StoreStruct
{
    char version[4];   // This is for mere detection if they are your settings
    int a, b;          // The variables of your settings
    char c;
    long d;
    float e[6];
} storage = 
{ 
    CONFIG_VERSION,
    220, 1884,
    'c',
    10000,
    {4.5, 5.5, 7, 8.5, 10, 12}
};

void setup()
{
 // EEPROM.setMemPool(memoryBase, EEPROMSizeUno); //Set memorypool base to 32, assume Arduino Uno board
  configAdress  = EEPROM.getAddress(sizeof(StoreStruct)); // Size of config object 
  ok = loadConfig();
}

void loop() 
{
  // [...]
  int i = storage.c - 'a';
  // [...]
  storage.c = 'a';
  if (ok)
    saveConfig();
  // [...]
}

bool loadConfig() 
{
  EEPROM.readBlock(configAdress, storage);
  return (storage.version == CONFIG_VERSION);
}

void saveConfig()
{
   EEPROM.writeBlock(configAdress, storage);
}

Bonjour,

Si tu ajoutes tout en haut du code :

#include <EEPROM.h>

ça dit quoi ?

Bonjour

Fonctionne pas non plus, mais donne des autres défauts

sketch_oct27a.ino: In function 'void setup()':
sketch_oct27a:35: error: 'class EEPROMClass' has no member named 'getAddress'
sketch_oct27a.ino: In function 'bool loadConfig()':
sketch_oct27a:52: error: 'class EEPROMClass' has no member named 'readBlock'
sketch_oct27a.ino: In function 'void saveConfig()':
sketch_oct27a:58: error: 'class EEPROMClass' has no member named 'writeBlock'

Question conne ... Tu as installé la libraire EEPROMex comme indiqué dans le wiki ?
http://playground.arduino.cc//Code/EEPROMex

Bonjour
affirmatif, lalibrairie était bien installée

En fait j’ai trouvé en regardant sur l foum deElenBass.net , j’au vau qu’il y avait un probléme de majuscule dans
#include <EEPROMex.h> , qui doit être en fait #include <EEPROMEx.h>

Ca complile nikel

Il annoncait qu’il ddevait y avoir un correctif, mais qui n’a apparemment pas été fait
Merci pour l’aide