These are chat archives for esp8266/Arduino

19th
Jul 2017
Tejas H
@CodingCreate101
Jul 19 2017 06:53

I am using EEPROM of ESP8266 E-12. I am wondering what's the limit of it. I am using EEPROM.begin(1024); which is 1kb, I assume. Currently Arduino IDE shows:

Sketch uses 245897 bytes (56%) of program storage space. Maximum is 434160 bytes.
Global variables use 33936 bytes (41%) of dynamic memory, leaving 47984 bytes for local variables. Maximum is 81920 bytes.

What does that exactly mean?

Ikbel
@ikbelkirasan
Jul 19 2017 07:00
Max EEPROM size is 4096 bytes.
Tejas H
@CodingCreate101
Jul 19 2017 07:23
Alright. Thank you.
And what's exactly Arduino IDE saying. I couldn't complete understanding those terms.
And also, 1 character is considered as 1 byte right?
Ikbel
@ikbelkirasan
Jul 19 2017 07:32
No problem. Yes 1 character is 1 byte.
Sketch size is the size of the compiled firmware on the Flash.
Global variables size if how much RAM is assigned to your global variables.
Your ESP should have a total of around 80KB of RAM.
Tejas H
@CodingCreate101
Jul 19 2017 09:06
Thank you, again.
So, to clarify myself, Dynamic memory is RAM.
But what about program storage space? It's the ROM. (right?) So, whatever EEPROM I am using, is a part of ROM. Am I right? So, if I use all the 4096bytes of EEPROM, and also if I write big code in ROM, are those two memories gonna interfere with each other?? If so, how to prevent it?
Clemens Kirchgatterer
@everslick
Jul 19 2017 09:10
no, they are completely unrelated
Ikbel
@ikbelkirasan
Jul 19 2017 09:10
program storage space is on the flash. the firmware has a known start and end addresses. the eeprom is mapped to another memory space. so there will be no conflict.
Clemens Kirchgatterer
@everslick
Jul 19 2017 09:11
even though the the EEPROM is not really an EEPROM chip, it is in another part of the flash chip (as @ikbelkirasan pointed out).
Ikbel
@ikbelkirasan
Jul 19 2017 09:11
btw it's not a real eeprom. everything is on the flash. ESP uses an eeprom emulation.
yes exactly
Tejas H
@CodingCreate101
Jul 19 2017 09:14

btw it's not a real eeprom. everything is on the flash.

Yeah, this is why I had that doubt. Thank you guys. :)

Ikbel
@ikbelkirasan
Jul 19 2017 09:15
Happy to help :)
Tejas H
@CodingCreate101
Jul 19 2017 09:16
:sparkles:
enriquecml
@enriquecml
Jul 19 2017 14:11
how much limit size of EEPROM, ESP 8226 with 4MB?
maybe 3MB offset ?¿ without spiff,and swap memory for OTA updates...
ok are 4096 bytes
for design
Tejas H
@CodingCreate101
Jul 19 2017 15:14
Hello
For Rtc.SetDateTime(compiled);
what's the datatype of compiled? Is it timestamp?
enriquecml
@enriquecml
Jul 19 2017 16:46
where saw this method for RTC?
RTC class on esp8226 (write/read)
mainly
ESP.rtcUserMemoryWrite(offset, &data, sizeof(data)) and ESP.rtcUserMemoryRead(offset, &data, sizeof(data)) allow data to be stored in and retrieved from the RTC user memory of the chip respectively. Total size of RTC user memory is 512 bytes, so offset + sizeof(data) shouldn’t exceed 512. Data should be 4-byte aligned. The stored data can be retained between deep sleep cycles. However, the data might be lost after power cycling the chip.
but you refer RTC module
extern
enriquecml
@enriquecml
Jul 19 2017 16:51
compiled is intance of class
@CodingCreate101 // RtcDateTime compileDateTime(DATE, TIME);
RtcDateTime(const char date, const char time);
Tejas H
@CodingCreate101
Jul 19 2017 16:54
Ohhh right.. how could I miss such obvious thing
enriquecml
@enriquecml
Jul 19 2017 16:54
hehe
Tejas H
@CodingCreate101
Jul 19 2017 16:54
Thank you
enriquecml
@enriquecml
Jul 19 2017 16:54
pair programming ?
haha