* 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 file paths: .pioenvs -> .pio/build, .piolibdeps -> .pio/libdeps
- modify envs to use common settings
- enable shared libs in travis and ota scripts
* 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
* MQTT: config change detection
* Reload settings when config json is uploaded
* Apply only new settings
* Finish config early when not enabled
* Reuse existing buffers from getSetting String using std::move