* 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
- update every dynamicjsonbuffer with fixed size constructor argument
- change to ws callback registration to use a class builder (just cosmetic)
- test multiple ws data callbacks for each module
- remove some of the static strings in favour of ws data callback
- improve sensor ws callback data size, remove duplicated strings
- use static buffer in wsDebugSend
- postpone wsSend until loop, implement wsPost to allow other modules to queue message callbacks. remove Ticker based ws callbacks for data
- update WebUI files
- 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
* Thingspeak: async client fixes
- remove memory management in async client callbacks
- instead of global one, reference asyncclient from callback argument
- transfer temporary data-buffer to the global scope, avoid accidental String copy
- implement strnstr to search onData payload
* fixup format strings
* update retry time each attempt
* start with default attempts value
* trying to work with lwip2-536
* count time from last request
* promptly run flush
* 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
* Add support for MagicHome RGBWW LED strip
This adds support for MagicHome 5 channel LED strip. It is using ESP8285 board, labelled as ESP-M4, has 5 powerful MOSFETs (M3006D, up to 80A! continuous/160A peak) at 12-24V. They are driven by smaller transistors. Red LED is connected to 3.3V power supply, and can't be controller. Green LED is connected to GPIO. Pin mappings:
BTN IO0
R Q8 Q2 IO14
G Q6 Q3 IO12
B Q9 Q4 IO13
WW Q10 Q5 IO15
CW Q7 Q1 IO5
GREEN_LED IO2
Looks like the same board is used in another product which has support for RF remote, but mine doesn't, so I don't include RF config, if yours has it should be a simple copy/paste job to add it.
* Add config for push button
* Fix copy/paste mistake
* Turn on/off LEDs using the push button
Button is not visible from the outside, but can be wired outside or made more accessible by using a thin object, so it feels more like a button than a hole. The configuration should not cause issues if the button is not used at all.
- chain debugSend_P into basic _debugSend instead of duplicating code, pass va_list between them
- check if new[] call was successful
- when possible, use stack buffer and fallback to heap buffer only when it is more that 64 chars
* add support for JINVOO VALVE SM-AW713
* add support for JINVOO VALVE SM-AW713
* add support for JINVOO VALVE SM-AW713
* add support for JINVOO VALVE SM-AW713
Type: Other
Board: Jinvoo SM-AW713
Build flag: JINVOO_VALVE_SM_AW713
Description: motorized valve
* fix typo
* debug: heap fragmentation stat
* Rework method detection
- return check integral type as a result of detection instead of method type
- type-tagging instead of enable_if
* fix alias
* typo
* only need one bool_type instance
* Move heap debug into HeapStats header
- don't show fragmentation stats on the first call
- prettify fragmentation display
- pack function params into helper struct
- naming
* pass external flag instead
* add missing prototypes
- 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