`ws2812` buffer extracted to new `pixbuf` module.
* The new pixbuf module has more functionality than the `ws2812`-specific buffer it replaces.
* This is work in progress towards https://github.com/nodemcu/nodemcu-firmware/issues/2916
* The LED driver modules `ws2812`, `ws2801`, `apa102`, and `tm1829` have sprouted `pixbuf` support.
* `NTest` tests for `pixbuf` now exist.
While here, document the ws2812 UART-based overlapping with mainline
execution. Fixes https://github.com/nodemcu/nodemcu-firmware/issues/3140
Co-authored-by: Gregor Hartmann <HHHartmann@users.noreply.github.com>
These have been handy within the test harness for streaming files and
LFS images across to the DUTs.
Add nrec method to pipe
Co-authored-by: Gregor Hartmann <HHHartmann@users.noreply.github.com>
* Create mispec_file.lua
* Initial commit of gambiarra
* Adapt gambiarra to NodeMCU
* adapt to NodeMCU spacing and add nok functionality
* Some refactoring to make it easier to add new functionality
* Add methode `fail` to check failing code and pass error messages to output
- fail can be called with a function that should fail and a string which should be contained in the errormessage.
- Pass failed check reasons to output.
* Create gambiarra_file.lua
* Add reporting of tests that failed with Lua error
* ok, nok and fail will terminate the running test
* Add capability to run sync and async tests in mixed order and have a task.post inbetween them
* fix gambiarra self test to also run on device (not only host)
Use less ram in checking tests directly after they ran.
Use nateie task.post to tame watchdog.
* Update file tests + add async tmr tests
* Another fix in executing async test
* Catch errors in callbacks using node.setonerror
* change interface to return an object with several test methods
* Update README.md
* Change interface of Gambiarra + add reason for failed eq
* Update gambiarra documentation
* Add coroutine testcases to gambiarra
* Delete mispec_file.lua as it is superseeded by gambiarra_file.lua
* improve regexp for stack frame extraction
* Use Lua 53 debug capabilities
* move actual tests upfront
* remove debug code + optimization
* Show errors immediately instead of at the end of the test, freeing memory earlier
* Split tests to be run in 2 tranches
* rename to NTest and move to new location
* Add tests to checking mechanisms
* Add luacheck to tests
* Some pushing around of files
* more (last) fixes and file juggling
* Minor tweaks and forgotten checkin
* Add NTest selftest to travis
* Trying how to master travis
* another try
* restrict NTest selftest to linux
- Lots of minor but nasty bugfixes to get all tests to run clean
- core lua and test suite fixes to allow luac -F to run cleanly against test suite
- next tranch to get LFS working
- luac.cross -a options plus fixes from feedback
- UART fixes and lua.c merge
- commit of wip prior to rebaselining against current dev
- more tweaks
* espconn: remove unused espconn code, take 1
This is the easiest part of https://github.com/nodemcu/nodemcu-firmware/issues/3004 .
It removes a bunch of functions that were never called in our tree.
* espconn: De-orbit espconn_gethostbyname
Further work on https://github.com/nodemcu/nodemcu-firmware/issues/3004
While here, remove `mqtt`'s charming DNS-retry logic (which is neither
shared with nor duplicated in other modules) and update its :connect()
return value behavior and documentation.
* espconn: remove scary global pktinfo
A write-only global! How about that.
* net: remove deprecated methods
All the TLS stuff moved over there a long time ago, and
net_createUDPSocket should just do what it says on the tin.
* espconn_secure: remove ESPCONN_SERVER support
We can barely function as a TLS client; being a TLS server seems like a
real stretch. This code was never called from Lua anyway.
* espconn_secure: more code removal
* espconn_secure: simplify ssl options structure
There is nothing "ssl_packet" about this structure. Get rid of the
terrifying "pbuffer" pointer.
Squash two structure types together and eliminate an unused field.
* espconn_secure: refactor mbedtls_msg_info_load
Split out espconn_mbedtls_parse, which we can use as part of our effort
towards addressing https://github.com/nodemcu/nodemcu-firmware/issues/3032
* espconn_secure: introduce TLS cert/key callbacks
The new feature part of https://github.com/nodemcu/nodemcu-firmware/issues/3032
Subsequent work will remove the old mechanism.
* tls: add deprecation warnings
* luacheck: net.ifinfo is a thing now
* tls: remove use of espconn->reverse
* mqtt: stop using espconn->reverse
Instead, just place the espconn structure itself at the top of the user
data. This enlarges the structure somewhat but removes one more layer
of dynamic heap usage and NULL checks.
While here, simplify the code a bit.
* mqtt: remove redundant pointer to connect_info
Everywhere we have the mqtt_state_t we also have the lmqtt_userdata.
* mqtt: doc fixes
* mqtt: note bug
* tls: allow :on(...,nil) to unregister a callback
* Add missing globals from luacheck config
* Fix luacheck warnings in all lua files
* Re-enable luacheck in Travis
* Speed up Travis by using preinstalled LuaRocks
* Fix more luacheck warnings in httpserver lua module
* Fix DCC module and add appropriate definitions to luacheck config.
* Change inline comments from ignoring block to only ignore specific line
* Add Luacheck for Windows and enable it for both Windows and Linux
* Change luacheck exceptions and fix errors from 1st round of polishing
* Add retry and timeout params to wget
* Move luacheck conf and fix Travis for all possible filenames
* Add lua script to help with luacheck config
* Add xargs approach for current luac.cross file checking
* Enable luacheck but do not break build
* Rebaseline firmware to non-OS SDK version 3.0
* Note that SDK version 3.0 introduces the concept of a Flash Partition Table(PT). This is located at Flash offset 0x10000 in our firmware build.
* The firmware is now PT aware with both LFS and SPIFFS taking their partition size and location from the PT
* A new tool `tools/nodemcu-partition.py` is now used to initialise these data and can also download LFS and SPIFFS images to these partitions.
* Download pre-built toolchains
* Updated to include the platform in the name of the pre-built toolchain
* Download archive into cache/
* Update Travis configuration to use pre-built toolchain via make
Use separate names for the integer and float `luac.cross` binaries. Also adds local/lua directory which is already supported by tools makefile to build LFS image.