Refactored the library in such a way that the platform diferences(esp8266, esp32) are taken care of in separate files and classes. So the main library can focus on the main tasks.
As an example the boardInfo class uses RTC memory on the esp8266 and NVS(preferences) on the ESP. The compiler decides which class(file) to include. So all the main library sees are methods like boardInfo(), read() & write()
This makes the main code more readable. And should make it easier to maintain / extend.
Ideally all core functionality (wifiConnector, streamToUpdate, Wifi&Cert Manager etc.) should move to separate libraries for v.3.0.0
A lot of the underlying library methods have been moved public and are in some cases rewritten for local use in the end users sketch.
Defines
Reorganized: Renamed, swapped & grouped on function
HTTPS_8266_TYPE | FNGPRINT / CERTIFICATE
HTTPS_CERT_STORAGE| Where are the certificates stored? | ST_SPIFFS / ST_PROGMEM
CFG_STORAGE| Where are the config files stored? | ST_CLOUD / ST_SPIFSS / ST_HYBRID
OTA_HOST, OTA_UPD_FILE, OTA_LOG_FILE
OTA_UPD_CHECK_SPIFFS | Update SPIFFS when checking for updates | true / false
OTA_UPD_CHECK_NEXTION | Update Nextion display when checking for updates | true / false
WIFI_MULTI_FORCE_RECONN_ANY | By default wifi multi will only try to reconnect to the last AP it was connectected to. Setting this to true will force your esp to connect to any of the available AP's from the list. | true / false
SNTP_INT_CLOCK_UPD & SNTP_INT_CLOCK_UPD_INTERVAL | Synchronize the internal clock useing SNTP? | true / false & internal in miliseconds
Includes
Moved all the includes to a separate file includes.h
Prepaired for Arduino Mkr boards
update class
New update class which supports updating multiple platforms from the host ESP. Currently:
Host: ESP32 & ESP8266 (Firmware & SPIFFS)
External: Nextion displays (Firmware)
added progress callback
Easily extendable for future chips & devices
Selectable source (Stream or byte buffers)
Certificate Manager
certificates are now stored in SPIFFS or SD
can easily be updated in the config pages
reusable by the end user in own sketch
esp8266 ca root certs & cert bundles
esp32 ca root certs
Internal Clock
Added methods for updating the internal clock by SNTP. ESP8266 BearSSL uses the internal clock to verify that the TLS certificates offered by servers are currently valid.
ESP32
added missing esp32 core vars like getFreeSketchSpace, sketch md5 (1.0.1 release)
ESP8266
switch from axTLS to BearSSL (2.5.0 release)
Bugs & Fixes
Check limit MAXNUMEXTRAFIELDS for addField()
Fixed Stability / Heap issues introduced with BearSSL
Refactored the library in such a way that the platform diferences(esp8266, esp32) are taken care of in separate files and classes. So the main library can focus on the main tasks.
As an example the boardInfo class uses RTC memory on the esp8266 and NVS(preferences) on the ESP. The compiler decides which class(file) to include. So all the main library sees are methods like boardInfo(), read() & write()
This makes the main code more readable. And should make it easier to maintain / extend.
Ideally all core functionality (wifiConnector, streamToUpdate, Wifi&Cert Manager etc.) should move to separate libraries for v.3.0.0
A lot of the underlying library methods have been moved public and are in some cases rewritten for local use in the end users sketch.
Defines
Includes
update class New update class which supports updating multiple platforms from the host ESP. Currently:
Certificate Manager
Internal Clock
ESP32
ESP8266
Bugs & Fixes