Open kostuch opened 4 years ago
Excellent! I also noticed after compiling that the dynamic memory available was drastically reduced by 33%! Do you have a fork which include these changes and can be downloaded?
Excellent! I also noticed after compiling that the dynamic memory available was drastically reduced by 33%! Do you have a fork which include these changes and can be downloaded?
I have modified fork on local disk. Besides RAM saving just minor changes like utf-8 in html header or changed controls' alignment on generated page. I can send you for the reference if you like.
Yes, please. Thanks a lot!
I have modified fork on local disk. Besides RAM saving just minor changes like utf-8 in html header or changed controls' alignment on generated page. I can send you for the reference if you like.
Hello kostuch, I am also interested in your modifications. May I ask you if you can publish your work here, or can you upload the code somewhere (maybe to Dropbox, or something similar)? Thanks in advance, Armin
Sorry for late reply. If someone want to see my version, here it is: https://github.com/kostuch/webconfig I just pasted files as they are (my project is under development) - maybe something is missing at this stage. Of course all credits are going to GerLech :)
@kostuch, can you please PR your changes to this repo?
Hi, I'm using your lib. Good piece of work. But I slightly modified it to reduce high RAM utilisation.
The parameters should be rather covered by 'F' macro like below:
...and so on
Also in WebConfig.cpp all const char should be defined with PROGMEM attribute:
...and then read by strcpy_P(_buf, HTML_START); instead of strcpy.
All literals covered by F macro, like:
if (server->hasArg(F("SAVE"))
instead ofif (server->hasArg("SAVE")
Don't forget to #include "progmem.h"I also moved declaration huge _buf variable from private section of header to the function body void WebConfig::handleFormRequest to make it automatic var.
Above modifications can gain about 3k precious RAM for other purposes. Just look at the ESP.getFreeHeap() value before and after such modification.