* list_ref can become LUA_REFNIL, because that's what rawgeti returns
for LUA_NOREF. Defensively guard for this, rather than falling into
the sntp_dolookups loop with nil on the stack.
* set_repeat_mode should not call itself, but should rather always do
what it's going to do and then optionally do the rest if directed.
* sntp_sync should not try to special case the single string argument:
we should be queueing that name for DNS resolution, too. Towards that
end, if we are given a single string, build a table and make that the
list_ref and call off to sntp_dolookups, just like we otherwise do.
FIXES: #2699
The PR removed the bulk of non-newlib headers from the NodeMCU source base.
app/libc has now been cut down to the bare minimum overrides to shadow the
corresponding functions in the SDK's libc. The old c_xyz.h headerfiles have been
nuked in favour of the standard <xyz.h> headers, with a few exceptions over in
sdk-overrides. Again, shipping a libc.a without headers is a terrible thing to do. We're
still living on a prayer that libc was configured the same was as a default-configured
xtensa gcc toolchain assumes it is. That part I cannot do anything about, unfortunately,
but it's no worse than it has been before.
This enables our source files to compile successfully using the standard header files,
and use the typical malloc()/calloc()/realloc()/free(), the strwhatever()s and
memwhatever()s. These end up, through macro and linker magic, mapped to the
appropriate SDK or ROM functions.
* pmsleep refactor
* Shortened swtmr disabled message
* Added swtimer debug module option to user_modules.h.
* Added comments to user_config.h.
* Fixed error in documentation for node.sleep()
* remove blank sntp.c that got added in during rebase onto dev(6218b92)
* Added #ifdefs around SWTIMER_REG_CB to prevent inclusion of disabled
code
* Improve RTC timekeeping -- includes clock rate tracking
* Improved division by 1M
* Fix crash in sntp
* Disable RTC debug
* Get the offset correct
* Add comments on where the mysterious numbers came from
* Fix a crash with auto repeat mode and errors on repeat
* Fix bug in sntp where callback was run at interrupt level. Also add
the nodemcu pool servers as the default.
* Add comments on where the mysterious numbers came from
* Fix a crash with auto repeat mode and errors on repeat
* Provide an error code to SNTP error callback.
* Switch SNTP to use ephemeral port.
In case we're being hit by ISP-level thou-shall-not-run-NTP silliness.
Module creation & registration now made a lot simpler. In essence,
each module file is now self-contained and only needs a
NODEMCU_MODULE(MYNAME, "myname", myname_map, luaopen_myname);
line to both be automatically recognised by the Lua initialization
as well as honor the LUA_USE_MODULES_MYNAME #define.
As per #810 & #796, only LUA_OPTIMIZE_MEMORY=2 & MIN_OPT_LEVEL=2 are
supported when building. This commit effects that limitation.
With this change modules/auxmods.h no longer needs to be updated for
every new module, nor do module writers need to cater for a hypothetical
LUA_OPTIMIZE_MEMORY < 2 scenario.