Adapt https://www.lua.org/work/diffs-lua-5.3.5-lua-5.3.6.html to
NodeMCU. Mostly a straight application, but some small tweaks were
required and, in lundump.c, some changes were elided and some additional
diff reduction applied, as we have heavily diverged from upstream.
* Allow configuration of debugOutput to be performed
* don't send to own IP or update own data
* Use same socket to send and receive. Avoid problems in many opened and closed sockets to send
* Add callback for REMOVEed hosts
* Send broascast messages if seedList is empty
* Adapt yeelink to new luacheck rules
* Fix building of luac.cross for win to win2019 and VS 2019
This is intended to be a more portable abstraction: rather than
hard-coding offsets in the macro invocations, it relies on the existence
of __builtin_offset and its availability even within inline asm blocks.
While here, rename some of the functions involved to hopefully improve
clarity
Discovered over on the dev-esp32-idf4 branch.
- Off by one error in loadLFS, leading to slight memory leak and
potential corruption.
- Insufficient return value check in loadLFS, where uzlib may return
one of two success conditions, one of which would result in an
out-of-bounds access and related pain.
- One case of a side effect within a lua_assert(), leading to
silently broken LFS image handling when compiling without asserts
enabled, the issue showing up as module names being shuffled around.
- Incorrect encoding of TValues in LFS when 64bit numbers in use.
LWIP_RAND() return type is int, value returned is sometimes negative.
This causes timer to sometimes (often) go outside of max_time, which in turn causes IGMP snoopers or IGMP routers to drop the subscription
While we intend our release strategy to be that we just fast-forward our
`release` branch to `dev`, things have come a little off the wheels.
This is a "git merge -s recursive -X theirs" of `dev` into `release`
instead.
- Changed the note about bme280_math dependency into a blue note box, like in the [bh1750 documentation](https://nodemcu.readthedocs.io/en/release/lua-modules/bh1750/)
- Added a paragraph on differentiating between BMP280 and BME280 sensors. It put it in an orange caution box for now, might be too visible for a rare problem.
- Small fixes in bme280.setup() description
* Rename to tests/README.md
* Expand tests/README.md a bit
* NTest: remove report() in favor of named fields
Use a metatable to provide defaults which can be shadowed by the calling
code.
* NTest: remove old interface flag
I think we have few enough tests that we can verify not needing this
alert for ourselves.
* NTest tests: new standard prelude
Allow for NTest constructor to be passed in to the test itself.
The test harness can use this to provide a wrapper that will
pre-configure NTest itself.
* NTest output handler for TAP messages
* expect tests: core library functions
* expect tests: file xfer TCL module
* expect tests: add TAP-based test runner
* Begin documenting TCL goo
* Add .gitattributes to make sure lineends are correct ...
... if checked out under windows and executed under linux (say docker)
* tests/README: enumerate dependencies
* tests: more README.md
Co-authored-by: Gregor Hartmann <HHHartmann@users.noreply.github.com>
* LiquidCrystal I2C 4-bit robustness
- Fix up some formatting
- Initialization is now more conformant with the datasheet.
- Read-backs don't needlessly (or erroneously!) store back
While here, document some unexpected behaviour of read-back commands.
* liquidcrystal i2c 4bit NTest
* apa102: remove dead code
We can't store strings of hundreds of thousands of characters in RAM, so
this can't possibly have fired, historically. Pixbufs are still RAM
objects, so that's still out. With LFS, it would take a pathological
example to hit the required 400KB TSTRING.
* Add IRQ management functions
* ws2812: fill UART FIFOs with IRQs off
Refactor code to make the use of two fill loops less gross.
`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>