* test: etharp_gratuitous
* proper checks before calling etharp_gratuitous, move includes
* disable at runtime
* ms values
* reload
* debug
* reword
* filter by ifnum instead of checking for AP mode
* drop station_if check
2.3.0/lwip1 builds netif->num increments on for each sta or ap
lwip2 keeps those constant, but that seems like a implementation detail
might break in the future anyways...
* Light: proper printf format for HSV, use lround
* core: warn about map() and 2.3.0, type-strict constrain()
* use generic format
* value already has brightness
* MQTT rewrite with SSL fixes
- Added Arduino MQTT library support (actively maintained)
- Added support for BearSSL (core >= 2.5)
- BearSSL validation: insecure, fingerprinting and CA validation
- AxTLS validation: insecure and fingerprinting
- Support MFLN in order to reduce heap usage
* Better header incl, fix building w/ no NTP_SUPPORT
* Clean up code, use DEBUG_MSG_P
* Fix compile error
* Core 2.6.0+ fixes
* fix env -> config, run travis04 job
* don't duplicate free heap in frag data, use single stats struct
* fix dtostrf warnings, bump buffer sizes
* ...and even less words for fragmentation stat
- add httpupdate ota impelementation
- move async ota into a separate module
- support bearssl & axtls through wificlientsecure
- allow to disable arduino ide ota module
* Telnet rewrite, no longer using ESPAsyncTCP
* Support two telnet server implementations
* Clean up diff
* Update types, no free() calls, cleanup
* Use std::unique_ptr
* Fix nullptr checks
* Fix double log with async server
* Common new connection method
* use same connected() check as sync variant
* fixup! use same connected() check as sync variant
* Fix compile issue, close connection in case of timeout and when max connections reached
* Use AyncsClient* in function call
* Allow overriding telnet port + max clients
* Do not allocate 512 bytes by default
* Use TERMINAL_BUFFER_SIZE
* Make compilation more flexible allowing to define in custom.h your own variation to devices and define four wifi networks
* Implement suggestion from Max Prokhorov, it's simpler and cleaner
* Change a #elif by #else
* Move ESPurna Core comment
* Update encoder
- import modified Encoder library
- customize minimum delta value
* minimum delta in header config
* fixup! minimum delta in header config
* fix dead code, actually use interrupts
* move static class methods to normal funcs, apply namespace
* drop hardcoded register use
- use peripheral api (see cores/esp8266/esp8266_peri.h)
- remove bitmask and register struct members
* add a note about changes
* fixup! add a note about changes
- store system crash counter and reset reason in rtcmem instead of eeprom
- store relay state mask in rtc in addition to the eeprom
- store relay state in eeprom only when boot mode requires it
- simplify relay state mask calculation / reading using std::bitset
- light state save and restore
- energy total save and restore
- remove optional RFRAW_SUPPORT
- enable module when RF_SUPPORT=1, optionally enable RCSwitch
- reorder ifdef checks to treat RFB_DIRECT and old RF_SUPPORT the same
- rename RF_PIN to RFB_RX_PIN
- depend on RF_SUPPORT instead of ITEAD_SONOFF_RFBRIDGE
- runtime TX & RX PIN setting
1. Add thermostat to the espurna_modules in progmem.h
2. Add thermostat to webui, gulp, html, js.
3. in general.h MQTT_USE_JSON returned to 0 by default and 1 if thermostat enabled.
- Heartbeat mode and interval configuration added to WebUI ADMIN page
- New option HEARTBEAT_REPEAT_STATUS: on device startup full heartbeat information and after HEARTBEAT_INTERVAL only STATUS report.
- Enhanced first heartbeat message - on device startup it will send heartbeat after ntpSynced will be true to get device time.
P.S. Code is tested. Web part is not compiled, and not tested. I hope it will work :)