Skip to content
/ E24 Public

ESP8266 EEPROM library for Microchip 24LC series

License

Notifications You must be signed in to change notification settings

SEGA-8/E24

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License

E24

This is a fork of the original blemasle library intented to work on ESP8266, allows to store and read arbitrary data from the Microship's 24LCxxx series using I2C. It supports all the available EEPROM sizes from 8K to 512K, although only 256K have been tested.

Each instance only use two bytes of memory.

Features

  • Single byte read & write
  • Multiple bytes read & write
  • Structured block read & write
  • Adaptative buffers size to match chip pages boundaries

Usage

Unlike most Arduino library, no default instance is created when the library is included. It's up to you to create one with the appropriate chip I2C address.

#include <Arduino.h>
#include <E24.h>

#define CONFIG_ADDR 0xF8

struct config_t {
    uint8_t seed;
    char version[5];
};

E24 e24 = E24(E24Size_t::E24_512K, E24_DEFAULT_ADDR);

void setup() {
    config_t config = {};
    config.seed = 123;
    strcpy(config.version, "1.00");

    Wire.begin(0,2); //D3 and D4 on ESP8266
    //write a structured block to the suplied address
    e24.writeBlock(CONFIG_ADDR, config);

    //read back the block into the variable
    e24.readBlock(CONFIG_ADDR, config);
}

void loop() {}

About

ESP8266 EEPROM library for Microchip 24LC series

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages