nodemcu-firmware/components/lua/lua-5.3
Jade Mattsson 4cdebe7191
Initial support for ESP32-C6 and ESP32-H2, plus assorted fixes & improvements (#3646)
* Proof-of-concept multi-type console support via stdio

* Address crashes on linput's use of printf.

On an empty line input, a C3 with UART console would panic while attempting
to output the new Lua prompt. The backtrace shows a xQueueSemaphoreTake
with uxItemSize==0 as the panic cause, deep inside the uart driver, invoked
via vfs_uart and vfs_console layers, from printf.
Similarly, the printf for outputting a backspace/erase sequence would also
trigger a panic.

This workaround (of not mixing fflush() with printf) is likely merely hiding
a deeper issue, but it appears to be consistent. Plus, printf with no args
and a user-supplied format string is a no-no and should be fixed anyway.

* Work around IDF inconsistency with stdout buffering.

* Increase console task stack size.

Seems on Xtensa it ended up not being enough.

* Switch to single-byte console reads.

* Stop cheating and feed Lua from the right context.

* Work around IDF buffering stdout even when told not to, on ACM consoles.

* Initial build support for esp32c6.

Plus fixup of module selection for a variety of targets.

* Update github actions to node 20 versions.

* Update github build to deal with Lua 5.3 being default.

* Address fatal compiler warning.

Newer IDF toolchain is stricter, and we'd apparently failed to build test
the Lua-5.1 path for some time.

* Initial build support for esp32h2.

* Upgrade IDF to v5.1.3

* Fix left-over incorrect type in uzlib.

* Avoid null pointer crashes when debugging startup.

* Workaround for using wifi module on S2 with USB-CDC console.

---------

Co-authored-by: Jade Mattsson <github@frozenlogic.org>
2024-04-26 17:35:22 -04:00
..
host Switch to IDF-provided VFS and standard `io` module. 2021-10-20 21:49:11 +11:00
Makefile Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lapi.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lapi.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lauxlib.c Prefer Lua booleans over 1/nil or 1/0 2023-02-09 15:52:38 +11:00
lauxlib.h Prefer Lua booleans over 1/nil or 1/0 2023-02-09 15:52:38 +11:00
lbaselib.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lbitlib.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lcode.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lcode.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lcorolib.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lctype.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lctype.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ldblib.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ldebug.c Fix potential integer overflow in getnum and fix the negation overflow in lua (#3634) 2024-02-05 19:27:00 -05:00
ldebug.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ldo.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ldo.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ldump.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lfunc.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lfunc.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lgc.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lgc.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
liolib.c Switch to IDF-provided VFS and standard `io` module. 2021-10-20 21:49:11 +11:00
llex.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
llex.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
llimits.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lmathlib.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lmem.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lmem.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lnodemcu.c Initial migration to IDFv5.0 2024-01-30 11:34:03 +11:00
lnodemcu.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
loadlib.c Switch to IDF-provided VFS and standard `io` module. 2021-10-20 21:49:11 +11:00
lobject.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lobject.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lopcodes.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lopcodes.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lparser.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lparser.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lprefix.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lrotable.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lstate.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lstate.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lstring.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lstring.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lstrlib.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ltable.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ltable.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ltablib.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ltm.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
ltm.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lua.c Initial support for ESP32-C6 and ESP32-H2, plus assorted fixes & improvements (#3646) 2024-04-26 17:35:22 -04:00
lua.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
luaconf.h Announce Lua config options with version. 2021-08-30 17:55:45 +10:00
lualib.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lundump.c Fix broken LFS loading in Lua 5.3. 2021-08-30 16:49:23 +10:00
lundump.h Make LFS flash sig config specific. 2021-08-30 16:51:48 +10:00
lutf8lib.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lvm.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lvm.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lzio.c Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00
lzio.h Port Terry's Lua 5.1 + 5.3 work from the esp8266 branch. 2021-08-22 02:03:05 +10:00