Amend #1843 , since we have updated ESPAsyncWebServer
Fixes (again) #1300
Gather WS debug messages in a buffer and flush every N times
info,keys,crash actually output data now
- 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
* initial ldscripts refactoring
* add missing menu options
* board for 2.3.0 and 2.4.2
* test with core 2.5.0
* typo
* ...same typo in other boards.local.txt
* generate boards.local.txt from common template
* Depend on file presence instead of platform version
* sdk selection
* Override only relevant entries
* generate ldscripts
* formatting
* unused
* fix section scope
* fix linker script comment and build getting stuck
* py2 compat
platformio from pip still does not support py3
* add TODO for py3
* chmod +x, remove leading newline
* comment with real spiffs size
* fixup! chmod +x, remove leading newline
* regenerate all ldscripts
* Preventive fix of spiffs_end calculation
* update arg parsing
* generate only 2.3.0 and latest
* readme for boards.local.txt
* Update ldscript readme
* unique flash sizes
* fix sub
* line break
* correct way to get framework path
* Alias for _FS_... symbols
* unused 2m1m1s
* bump?
* show travis logs
* ensure latest toolchain for travis
* check platform packages when building
* 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