Skip to content

Enhanced EEPROM library (ESP_EEPROM) #4493

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from
Closed

Enhanced EEPROM library (ESP_EEPROM) #4493

wants to merge 3 commits into from

Conversation

jwrw
Copy link
Contributor

@jwrw jwrw commented Mar 10, 2018

The current EEPROM library uses flash to emulate EEPROM storage. However it needs to re-flash each time a change needs to be committed. This is quite slow and interrupts need to be disabled whilst it happens (which breaks PWM etc.)
This revised library avoids re-flashing by writing committed data to a fresh area of flash each time. The flash only needs to be re-erased when you run out of fresh space. A bitmap is used to keep track of the space used. All this is pretty much hidden from the user of the library (can be used as a drop-in replacement for EEPROM).

@igrr
Copy link
Member

igrr commented Mar 10, 2018

Hi @jwrw, thanks for submitting this library, looks interesting! Have you considered distributing it through Arduino Library Manager? It might offer you an easier way of maintaining it (without having to submit PRs into this project each time) and more flexible release cycles, not tied to the rest of the core.

@jwrw
Copy link
Contributor Author

jwrw commented Mar 10, 2018

Yeah - thanks for looking. I wasn't sure myself of the best route as I was a little concerned it was ESP8266-specific. But looking again it seems like this may not be a problem.

I'll give that a go...

@jwrw jwrw closed this Mar 10, 2018
@igrr
Copy link
Member

igrr commented Mar 10, 2018

Once you get this set up in library manager, feel free submit a PR with a link to your library into doc/libraries.rst file!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants