- update library esp8266-oled-ssd1306 to the latest version
- fix thermostat build issues
- simplify and clarify thermostat control logic
- add logs to thermostat control logic
- setup uart at boot instead of delaying until some module needs it
removes global `SERIAL_BAUDRATE` and `DEBUG_PORT` in favour or
globally accessible numbered port configurations with `MODULE_NAME_PORT`
- automagically enable uart support for sensors that need it
- allow every sensor to configure uart0 (normal and swapped), uart1
and an optional software-serial mode support with an extra build flag
remove individual includes across the sensors
- settings queries and runtime port configuration (prefixed with uart)
- update dependencies header to cross-reference used ports at build time
- update deprecations header with serial baudrate notice
Added support for Itead Sonoff POW R3 (https://itead.cc/product/sonoff-powr3/)
This device is essentially the same as the POW R2, except:
- the relay is a normally closed type,
- the current and power ratings of the device are higher.
* Add support for Yagusmart 1, 2 ad 3 gang switches
https://www.amazon.co.uk/gp/product/B086MV5MC8
These don't come with an esp8266 anymore, but can be trivially converted
as the new chip is pin compatible. Note, GPIO15 needs to be connected to
GND on 1 and 2 gang switches in order to enable the ESP to boot.
* Update code/platformio.ini
Co-authored-by: Max Prokhorov <prokhorov.max@outlook.com>
* Adjust build flags and name to be conformant to project culture and conventions
* changelog
* sorting
Co-authored-by: Max Prokhorov <prokhorov.max@outlook.com>
Shuffle std::vector usage, trying out std::array for static data and
std::unique_ptr where common use-case is reserve / resize + emplace
Also try to workaroud exception string issue with gcc4.8, which should
not be a problem with gcc10.3 coming with Core 3.0.0, but... one solution at a time
Make sure it does not have global flags related to the HTTPCLIENT
Use generic ::updateFS with updater, and also support generic "fs" key
in the server response
- replace JustWifi with a custom WiFi module
- re-implemented Core methods that deal with scanning, directly work with the SDK callback
- re-implemented Core method for opmode to avoid dealing with the 2.7.x pseudo modes
- re-implemented Core method for forced-(modem)-sleep (with the intention to merge with OpmodeNull... todo)
- disable reconnect and autoconnect from SDK, avoid unintentionally storing ssid & pass for these and
make connection routine watch for events instead. timeout is implemented as a local timer
- do not store runtime data that can be retrieved via SDK calls
- settings are loaded only when starting AP or STA, networks are no longer kept in memory
- settings STA ssidN must be unique
- remove char buffer from the event callback
- trigger station-disconnected event when actually disconnected, not when connecting or explicitly requesting it
- generic rssi sorting method for initial connection, do rssi checks while connected to find a better network
Drop (temporarily?) wps and smartconfig. Both are implementable with the new approach,
but come with some weird expectations from the SDK side (no extra heap with wps, broadcasting plain-text
passphrase with smartconfig, storing station config implicitly, etc.).
Both are sort-of fixed with RTOS SDK, but it is still a big question of whether to support them at all in the current state.
- platform == platform_latest
- mcspr/toolchain-xtensa via https://github.com/platformio/platformio-core/issues/3612
Yet, this does not avoid useless warnings that platform does
not specify platformio/* prefix in the package spec :(
It should be available in the next espressif8266 version:
0859336019