dragondaud / myClock

Pixel Display NTP/Weather Clock for ESP8266/ESP32
MIT License
27 stars 13 forks source link

Latest version broke my config #8

Closed hallard closed 5 years ago

hallard commented 6 years ago

Hi, Just uploaded latest version to test french char, done through Arduino IDE OTA, worked fine but looks like my config has gone

The web interface does not allow me to change config anymore image

did I missed something ?

dragondaud commented 6 years ago

That comes from exhausting heap while building the config web page. Make sure you are using updated libraries and that you are using the 'development' branch of WiFiManager. The current update.sh script will update each required library, and the latest version will also checkout the development branch of WiFiManager.

hallard commented 6 years ago

Interesting, I pulled all latest and got the same thing, Looks like we pushed the ESP8266 to it's limit. I forked the project and I will create a new branch and try the excellent ESPAsyncWebserver version that I used to have on all of my boards, it's really nice, fast and efficient (it's async). I'll put the web file and config on the SPIFFS and these file can be edited on the fly with a browser, trust me this library is just awesome.

dragondaud commented 6 years ago

If you are already using the 'development' tree of WiFiManager then make sure you are using the Debug level "NoAssert-NDEBUG" instead of none, as that will strip out a ton of strings. Using the 'update.sh' script and the 'build.sh' scripts will do those automatically. It is tight on memory, which I working to address, but it should work. There are current binaries in the 'bin' directory you can test, too.

It should have plenty of ram for this relatively simple function, but something is either fragmenting or wasting heap. I'm going to add some additional debug messages for ram usage to see if I can track down the problem. I will also look at the lib you linked, to see if it may help. I like sticking with core stuff when possible, as they get updated with the core and are generally more integrated and tested with SDK changes and new versions.

hallard commented 6 years ago

@dragondaud thanks for your answer,

I've published an async version, check the async branch from my fork

It's far from perfect and missing some features, but works fine.

First time setup, you need to upload SPIFFS file system from Arduino IDE to place HTML file and config file. Also copy file from config-sample.json to config.json in data folder, change as your configuration before uploading sketch using IDE menu.

image

After that upload sketch as usual

Working features:

Missing features:

Also I'll add n option to disable splash screen (draw too much power) so I can test with USB WeMos connected from my computer directly

Let me know if any questions or if you want me to create the PR so you can start to work with

dragondaud commented 5 years ago

The purpose of WiFiManager is to allow configuration on a new WiFi network without reprogramming, and you cannot /edit without a network connection that already works.