From c38f077f2dc5af90dcdc3cf3ab5dc9a927f876dd Mon Sep 17 00:00:00 2001 From: Maxim Prokhorov Date: Mon, 23 Sep 2019 02:49:10 +0300 Subject: [PATCH 1/2] doc: update ESP_EEPROM library description, mention upstream url --- doc/libraries.rst | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/doc/libraries.rst b/doc/libraries.rst index a7c3ab0e62..5bbf87c91c 100644 --- a/doc/libraries.rst +++ b/doc/libraries.rst @@ -29,6 +29,8 @@ EEPROM library uses one sector of flash located just after the SPIFFS. `Three examples `__ included. +Note that the sector needs to be re-flashed every time the changed EEPROM data needs to be saved, thus will wear out the flash memory very quickly even if small amounts of data are written. Consider using one of the EEPROM libraries mentioned down below. + I2C (Wire library) ------------------ @@ -141,14 +143,6 @@ Servo This library exposes the ability to control RC (hobby) servo motors. It will support up to 24 servos on any available output pin. By default the first 12 servos will use Timer0 and currently this will not interfere with any other support. Servo counts above 12 will use Timer1 and features that use it will be affected. While many RC servo motors will accept the 3.3V IO data pin from a ESP8266, most will not be able to run off 3.3v and will require another power source that matches their specifications. Make sure to connect the grounds between the ESP8266 and the servo motor power supply. -Improved EEPROM library for ESP (ESP_EEPROM) --------------------------------------------- - -An improved EEPROM library for ESPxxxx. Uses flash memory as per the standard ESP EEPROM library but reduces reflash - so reducing wear and improving commit() performance. - -As actions on the flash need to stop the interrupts, an EEPROM reflash could noticably affect anything using PWM, etc. - - Other libraries (not included with the IDE) ------------------------------------------- @@ -189,3 +183,4 @@ Libraries that don't rely on low-level access to AVR registers should work well. - `MFRC522 `__ - A library for using the Mifare RC522 RFID-tag reader/writer. - `Ping `__ - lets the ESP8266 ping a remote machine. - `AsyncPing `__ - fully asynchronous Ping library (have full ping statistic and hardware MAC address). +- `ESP_EEPROM `__ - This library writes a new copy of your data when you save (commit) it and keeps track of where in the sector the most recent copy is kept using a bitmap. The flash sector only needs to be erased when there is no more space for copies in the flash sector From ed0b0522996b37d1e17b66b40054f3dae613f3ff Mon Sep 17 00:00:00 2001 From: Maxim Prokhorov Date: Mon, 23 Sep 2019 02:51:29 +0300 Subject: [PATCH 2/2] doc: mention EEPROM Rotate library --- doc/libraries.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/libraries.rst b/doc/libraries.rst index 5bbf87c91c..c902dc196f 100644 --- a/doc/libraries.rst +++ b/doc/libraries.rst @@ -183,4 +183,5 @@ Libraries that don't rely on low-level access to AVR registers should work well. - `MFRC522 `__ - A library for using the Mifare RC522 RFID-tag reader/writer. - `Ping `__ - lets the ESP8266 ping a remote machine. - `AsyncPing `__ - fully asynchronous Ping library (have full ping statistic and hardware MAC address). -- `ESP_EEPROM `__ - This library writes a new copy of your data when you save (commit) it and keeps track of where in the sector the most recent copy is kept using a bitmap. The flash sector only needs to be erased when there is no more space for copies in the flash sector +- `ESP_EEPROM `__ - This library writes a new copy of your data when you save (commit) it and keeps track of where in the sector the most recent copy is kept using a bitmap. The flash sector only needs to be erased when there is no more space for copies in the flash sector. +- `EEPROM Rotate `__ - Instead of using a single sector to persist the data from the emulated EEPROM, this library uses a number of sectors to do so: a sector pool.