* Rewrite net.dns.resolve on LWIP
* Move IGMP (net multicast) to LWIP
* Cleanup net module
* Move secure connection operations to tls module
* Net module on LWIP
* Server timeout parameter
* TCP hold
* Fixes in documentation
* Documentation fixes
* Note TLS module depends on net
* Add TLS module to user_modules.h
* Callback on connect event
* Fix depends net module on tls module
* Fix unhold exponential time issue
* Switch off interrupts before rtctime dsleep.
* Deal with the fact that MCU keeps running after being told to enter deep sleep
(It can keep running for quite a few instructions at times (and none at
all at others), and it appears that trying to cache additional code from
SPI flash while trying to go to sleep fails miserably at both....)
* Ensure flash is not active when going into deep sleep.
* Update LWIP from SDK
* mbedTLS integration
* Fix argument type in dbg_printf (#1624)
* Migrate to espressif’s download center (#1604)
* Fixed BBS links to firmware
* Adjust net module docs with mbedTLS info
* Remove unrelevant axTLS notice
To work around the pesky "rf_cal[0] !=0x05" hang when booting on a chip
which doesn't have esp_init_data written to it.
It is no longer possible to do the writing of the esp_init_data_default
from within nodemcu_init(), as the SDK now hangs long before it gets
there. As such, I've had to reimplement this in our user_start_trampoline
and get it all done before the SDK has a chance to look for the init data.
It's unfortunate that we have to spend IRAM on this, but I see no better
alternative at this point.
* Initial version of gdbstub support
* Add DEBUG argument to Makefile to add more debug data and turn off -Os
* Add the output redirection handling
* Added documentation
* Cleaned up the english a bit
* Make gdboutput actually trap all the output
* Review comments
* Add FatFs
* enable BUILD_FATFS for all-module build
* push vfs into rest of firmware
* align maximum filename length
* increase timeout for acmd41 during card initialization
* switch from DOS to Unix path semantics chdrive() is substituted by chdir()
* update to fatfs R.012a incl. patches 1-6
* add callback for rtc provisioning in file
* update docs
The original code did not deal with UDP binding failures, this new code
does one random port attempt and then sets port to 0 to get 'OS
default' behaviour, and ASSERTs that that has to work.
Patch also moves the local UDP port range definition to udp.h from
udp.c.
Fixes#1164 and thus also #1150, #1149, #1147 and #898.
* Move to latest version of SPIFFS
* Add SPIFFS porting layer for NodeMCU
* Add option to delete output if it doesn't fit
* Change FLASHSIZE to be in bits by default: default 4mb 32mb
* Add SPIFFS_MAX_FILESYSTEM_SIZE override
* Add notes on SPIFFS_FIXED_LOCATION
* Add 1M boundary
* Include the current version of the LICENSE
- Stop fighting against the SDK in terms of owning/writing the init_data block.
NodeMCU included a default init_data block because originally the SDK did
not, but by now it's not needed.
- Expose a way to reconfigure the ADC mode from Lua land. With most people
using the cloud builder and not able to change the #define for byte 107
this has been a pain point.
- Less confusion about which init_data has been used. Lua code can now simply
state what mode it wants the ADC to be in, and not worry about the rest of
the init_data complexities such as the init_data changing location due to
flashing with wrong flash_size setting, or doing/not doing a chip-erase
before loading new NodeMCU firmware.
Merging as suggested by @TerryE (and squashing at the same time. Turns out that this feature is enabled for this repo).
* Squashed commit of the following:
commit f985f10d9d2ee035f5a6ee6245c60d9904d98cc1
Author: philip <philip@gladstonefamily.net>
Date: Sun Mar 27 21:52:46 2016 -0400
Better mdns code
commit 6ee49ee106
Author: philip <philip@gladstonefamily.net>
Date: Fri Mar 25 23:25:11 2016 -0400
Update the docs
commit 7e455541c6
Author: philip <philip@gladstonefamily.net>
Date: Thu Mar 24 21:58:16 2016 -0400
Add retries and buffer checking to mdns
Get the length right
Now it seems to work
* Might work for combined mode
* Fix crash
* Simplified various bits of code. Changed the LUA interface
Added checking (to some degree) incoming quyery types
Move the defaults to the right place
Added reference to the RFC`
Implement SDK event monitor
Move wifi status event monitor code into seperate file
(app/modules/wifi_eventmon.c)
Modify wifi lua callback registration code.
Add Functions wifi.ap.deauth and wifi.sta.getrssi
Rework wifi event monitor to use tasking interface
fix for Lua coroutine compatibility issue
Made changes Suggested by TerryE
Also, moved code that sets the default host name out of
luaopen_wifi_init and into a separate function and added a post_task_low
entry in it's place.
Replaced some if test then return error lines with
luaL_argcheck
Add check for malloc null return in wifi.eventmon
to catch out of memory errors
commit 2c7c3fc3985cc32866e8af496abea9971eaee90a
Merge: 9179dae 41022c3
Author: philip <philip@gladstonefamily.net>
Date: Sun Feb 28 14:47:47 2016 -0500
Merge remote-tracking branch 'upstream/dev' into rotary_2
commit 9179dae0824e6b35ad09e5113aacc26dc91692c0
Author: philip <philip@gladstonefamily.net>
Date: Fri Feb 26 20:53:27 2016 -0500
Review comments
commit 67741170e20ccb2b636e701f0664feff2aafbb4c
Author: philip <philip@gladstonefamily.net>
Date: Fri Feb 26 20:59:49 2016 -0500
Squashed commit of the following:
commit 8c9a64731c4a8b9aedda18a399b433b173d2199f
Merge: 085935f 19d3c1d
Author: philip <philip@gladstonefamily.net>
Date: Fri Feb 26 20:58:10 2016 -0500
Merge remote-tracking branch 'upstream/dev' into rotarymod
Conflicts:
app/platform/platform.c
commit 085935fc56986d607ff5e05d1663970331959c34
Author: philip <philip@gladstonefamily.net>
Date: Fri Feb 26 20:53:27 2016 -0500
Review comment
commit 7732fd2d1044f28b8fcf5b0aa0f76d76fe80f449
Author: philip <philip@gladstonefamily.net>
Date: Sat Feb 20 12:10:38 2016 -0500
Module to handle rotary decoders
Eliminate ROTARY_DEBUG
Remove unused file
Eliminate a malloc call
Cleaned up the register code. Now 0x114 bytes
Fix bug with clearing bits in one case
Fix the type in the #define name
AFAIK no one uses the wifi.startsmart() and wifi.stopsmart(). Removing
them frees up an extra 20-25K of Flash to use as filesystem. So I have
added a new config define WIFI_SMART_ENABLE which is enabled by default
so the default functionality is the same, but if this is commented out
then this code is omitted.
I have also removed wofs and upgrade from this build as we no longer
support these.
Squashed commit of the following:
commit f1820af82bb5467d0c79c03290fca809b0273030
Author: philip <philip@gladstonefamily.net>
Date: Sun Feb 21 15:08:31 2016 -0500
Now uses userdata
commit 74a2298f5f2d2b07097a9501046efb8d4061ec5e
Merge: 4ffab15 716e682
Author: philip <philip@gladstonefamily.net>
Date: Sun Feb 21 13:54:40 2016 -0500
Merge remote-tracking branch 'upstream/dev' into performance
Conflicts:
app/platform/hw_timer.c
app/platform/hw_timer.h
commit 4ffab15a2a15e0c6b2d7e93611a02be47bafdc79
Author: philip <philip@gladstonefamily.net>
Date: Fri Feb 12 17:36:12 2016 -0500
Simple low level performance monitoring tool
Make it work with the new hw_timer code
commit 944db2bdb8
Author: philip <philip@gladstonefamily.net>
Date: Sun Feb 14 10:32:41 2016 -0500
Initial version of the hw_timer as part of the platform
Addressed review comments
Add the binsize return
As with the last commit this rolls up the follwowing, but include the various
review comments on the PR.
- **Documentation changes**. I've added the taks FAQ as a stub new Extension
developer FAQ, and split the old FAQ into a Lua Developer FAQ and a Hardware
FAQ.
- **Tasking I/F**. New `app/task/Makefile`, `app/task/task.c`,
`app/include/task/task.h` and `app/Makefile` as per previous commit. Cascade
changes to `app/driver/uart.c`, `app/include/driver/uart.h`,
`app/user/user_main.c` and `app/modules/node.c`
- **GPIO Rework** to `app/modules/gpio.c` and `pin_map.[hc]`, `platform.[hc]`
in `app/platform`
- **Other Optimisations** Move the `platform_*_exists()` from
`app/platform/common.c` to static inline declarations in `platform.h` as
this generates faster, smaller code. Move lgc.a routines out of iram0.
packed structures in strings. Very useful for network protocol
packing/unpacking. The docs are directly converted from the original.
Review feedback
Fix typo
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.
The module will start a SoftAP, DNS, HTTP server acting as a captive portal.
The portal will have the SSID SetupGadget and will serve a website where
credentials for the end users WLAN can be submitted.
Once valid credentials have been submitted and used to connect to the
local WLAN this module will stop.
This module requires USE_DNS to enabled in dhcpserver.h
Also made the cache on/off configurable via user_config.h. Uncached writes
are not a very good idea, but for read-only deployments a further ~0.5k RAM
can be gained by disabling the cache.
Tweaked the file.read() workhorse to read large chunks at a time rather
than use getc(), to compensate for potential unavailability of cache.