Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
enriquecml
@enriquecml
not exactly , but random time...
Bert Melis
@bertmelis
as I said, it's impossible to help without the sketch. what happens if the 2 timers fire at the same time? How does the ISR look like (how fast is it?)... I'm guessing here...
Bert Melis
@bertmelis
ctx:sys is for the SDK stack, not the sketch.
but as it has something to do with the timers probably.
enriquecml
@enriquecml
@bertmelis maybe it is because i put private attribute "signal" in my class, that trought function ticker for reference, now i am trying with public attribute
Interrupts+and+object-oriented+programming
enriquecml
@enriquecml
Finally when i had put signal variables how globals , fix issue, but it is stuff solution, "Broken rules POO :("
Tejas H
@CodingCreate101

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
Max EEPROM size is 4096 bytes.
Tejas H
@CodingCreate101
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
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
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
no, they are completely unrelated
Ikbel
@ikbelkirasan
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
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
btw it's not a real eeprom. everything is on the flash. ESP uses an eeprom emulation.
yes exactly
Tejas H
@CodingCreate101

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
Happy to help :)
Tejas H
@CodingCreate101
:sparkles:
enriquecml
@enriquecml
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
Hello
For Rtc.SetDateTime(compiled);
what's the datatype of compiled? Is it timestamp?
enriquecml
@enriquecml
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
compiled is intance of class
@CodingCreate101 // RtcDateTime compileDateTime(DATE, TIME);
RtcDateTime(const char date, const char time);
Tejas H
@CodingCreate101
Ohhh right.. how could I miss such obvious thing
enriquecml
@enriquecml
hehe
Tejas H
@CodingCreate101
Thank you
enriquecml
@enriquecml
pair programming ?
haha
probonopd
@probonopd
hi all, is there a way to make server.onFileUpload upload to a fixed filename (instead of using what the client sends)?
  server.onFileUpload([](AsyncWebServerRequest * request, const String & filename, size_t index, uint8_t *data, size_t len, bool final) {
    if(!index){
      // filename="cache.gco" ; // Override what the client sent as the filename - DOES NOT WORK
    }
  });
I am using ESPAsyncWebServer by @me-no-dev