Sming - Open Source framework for high efficiency native ESP8266 development

User avatar
By anakod
#17330 Hello piontec!

3), 5)
Memory management is fully equal standard C++ rules. One importnant thing is that Json lib doesn't copy strings to temporary memory:
https://github.com/anakod/Sming/issues/59
So original string reference should be available all time during processing.

Next, you have a small bug in this line:
Code: Select allBssInfo bss = scanResult->elementAt(i);

It doesn't saved as reference (only local on stack copy of object), so memory will be corupted. Please try BssInfo &bss = .... It should solve problem (but only on last version previous version doesn't love String and requrie const char* vars only)

Another great example is last added network configuration example. It should cover many standard configuration cases and also will show how to use Json lib.
User avatar
By esp03madness
#17424 Hello friends, just seeing this thread for the first time. I looked around a little, the project looks good and I have a couple of questions:

1. What is the difference between Sming and using the Espressif SDK directly? What exactly is abstracted?
2. What about debugging? Am I correct to assume that only print statements are available?
User avatar
By piontec
#17461
Markus Gritsch wrote:Read theese two excellent comments, they helped me to understand it a bit better:
http://tech.scargill.net/memory-use-esp ... mment-1213
http://tech.scargill.net/memory-use-esp ... mment-1214
And yes the Sming linker script is modified so that all function go per default into flash and not consume IRAM.


Thanks, that really explains a lot! Does anybody have something like that about slot 0/1 firmware layout an related issues with OTA? Is Sming with bootloader also using doube firmware slots? Because I think I saw, that max size of spiffs image is a little over 200kB, so is there still a space for double firmware and double spiffs image in 512kB flash? Or is the spiffs image shared somehow for both slot0 and slot1 firmwares?