1. 21 Jul, 2019 1 commit
    • Johny Mattsson's avatar
      Major cleanup - c_whatever is finally history. (#2838) · 526d21da
      Johny Mattsson authored
      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.
      526d21da
  2. 17 May, 2019 1 commit
  3. 08 May, 2019 1 commit
  4. 05 Apr, 2019 1 commit
    • Terry Ellison's avatar
      SDK 3.0 release (#2692) · 9a471079
      Terry Ellison authored
      * 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.
      9a471079
  5. 28 Nov, 2018 1 commit
  6. 29 Sep, 2018 1 commit
  7. 22 Jul, 2018 2 commits
  8. 20 Apr, 2018 1 commit
  9. 19 Apr, 2018 1 commit
  10. 13 Apr, 2018 1 commit
    • dnc40085's avatar
      Refactor timer suspend portion of node.sleep (pmsleep) (#2287) · 96e5c026
      dnc40085 authored
      * 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(6218b926)
      * Added #ifdefs around SWTIMER_REG_CB to prevent inclusion of disabled
      code
      96e5c026
  11. 17 Mar, 2018 1 commit
  12. 13 Mar, 2018 1 commit
    • Nathaniel Wesley Filardo's avatar
      Update to sdk 2.2 · c972d86e
      Nathaniel Wesley Filardo authored
      Initial commit for
      https://github.com/nodemcu/nodemcu-firmware/issues/2225 .
      
      Replay patches from Espressif's repository at
      https://github.com/espressif/ESP8266_NONOS_SDK between tags v2.1.0 and
      v2.2.0:
      
      	0001-sync-from-ccca00f2.patch
      
      		Superseded by existing changes, but lines reordered in app/driver/key.c
      		to minimize divergences.
      
      	0002-sync-from-3f38ad5a.patch
      
      		Upstream files only
      
      	0003-Update-links.patch
      
      		Not meaningful to NodeMCU
      
      	0004-sync-from-01990ad0.patch
      	0005-sync-from-cdf6877d.patch
      
      		Upstream files only
      
      	0006-sync-from-f29e744c.patch
      
      		Upstream files only, user_interface.h override non-conflicting
      
      	0009-feat-lwip-Move-lwip-source-code-to-third_party-folde.patch
      
      		Merged change to lwip/app/espconn_udp.c; rest is just moves or
      		appears to not apply.
      
      	0010-feat-mbedtls-Add-mbedtls-source-code-in-third_party-.patch
      
      		Does not apply; we use our own mbedtls
      
      	0011-added-C-support.patch
      
      		Merged to Makefile
      
      	0012-feat-mbedtls-Rebuild-libmbedtls.patch
      
      		Already applied
      
      	0013-fix-at-Fix-some-bugs-of-AT.patch
      
      		Upstream files only
      
      	0014-feat-err_t-Redefine-err_t-to-s32_t.patch
      
      		Merged to app/include/arch/cc.h and ./app/include/lwip/app/espconn.h;
      		the rest is upstream files.
      
      	0015-fix-wpa-Fix-wpa-wpa2-ptk-gtk-reinstallation-vulnerab.patch
      	0016-fix-wifi-Remove-group-key-entry-before-connecting-to.patch
      	0017-feat-lib-Remove-time-function-in-libmain.patch
      
      		Upstream files only
      
      	0018-feat-espconn-Modification-for-espconn.patch
      
      		Merged to app/include/lwip/app/espconn.h,
      		app/include/lwip/app/espconn_tcp.h, app/lwip/app/espconn.c,
      		app/lwip/app/espconn_tcp.c
      
      	0019-feat-at-Use-new-espconn_recv-to-fix-tcp-server-issue.patch
      	0020-feat-examples-Update-mqtt-demo-and-auto-bin-generate.patch
      
      		Upstream files only
      
      	0021-wifi-Add-scan-threshold-and-dwell-time.patch
      	0022-feat-wifi-Add-country-code-API.patch
      	0023-feat-wifi-Record-more-information-of-scanned-ap.patch
      
      		Upstream files only, user_interface.h override non-conflicting
      
      	0024-fix-example-Fix-IoT_Demo-user-sector-error.patch
      
      		Upstream files only
      
      	0025-fix-lwip-Fix-sequence-number-error-of-RST-ACK.patch
      
      		Merged app/lwip/core/tcp_in.c
      
      	0026-fix-mbedtls-Fix-memory-leak.patch
      
      		Merged app/mbedtls/app/lwIPSocket.c
      
      	0027-fix-mbedtls-Fix-call-send-callback-function-failed.patch
      
      		Merged app/mbedtls/app/espconn_mbedtls.c
      
      	0028-feat-Add-USE_OPTIMIZE_PRINTF-in-third_party-Makefile.patch
      
      		Merged app/Makefile
      
      	0029-fix-api-Fix-ets_delay_us-declaration.patch
      
      		Upstream files only, osapi.h override non-conflicting
      
      	0030-fix-wifi-Remove-max_tx_power-in-wifi_country_t-in-li.patch
      	0031-fix-wifi-Fix-softAP-wrong-behavior-after-call-system.patch
      	0032-fix-wifi-bugfix-of-scan-fail-after-connected-if-max-.patch
      	0033-feat-at-Enable-scan-time-scan-type-and-add-scan-resu.patch
      	0034-feat-at-Add-command-AT-CWCOUNTRY.patch
      	0035-fix-at-Fix-that-AT-CIPSTART-causes-busy-if-the-serve.patch
      
      		Upstream files only
      
      	0036-feat-mbedtls-Speed-up-mbedtls-handshake-process.patch
      
      		Merged app/mbedtls/app/espconn_mbedtls.c
      
      	0037-fix-api-Fix-os_calloc-declaration.patch
      
      		Merged app/include/lwip/mem.h; sdk-overrides/include/mem.h
      		non-conflicting.
      
      	0038-fix-mbedtls-Fix-disconnect-callback-function-never-b.patch
      
      		Merged app/mbedtls/app/espconn_mbedtls.c; minor revision to logic in
      		6576af95.  Whitespace fixes.
      
      	0039-feat-at-Add-country-code-start-channel-in-AT-CWCOUNT.patch
      	0040-fix-net80211-Fix-Null-pointer-in-ieee80211_rfid_locp.patch
      
      		Upstream files only
      
      	0041-feat-wifi-Add-new-esp_init_data_default-v08-bin.patch
      
      		Upstream files only, but impacts Makefile
      
      	0042-fix-mbedtls-Fix-load-cert-fail-when-the-private-key-.patch
      
      		Merged app/mbedtls/app/espconn_mbedtls.c
      
      	0043-fix-wifi-The-start-channel-can-be-any-valid-channel.patch
      	0044-fix-wifi-Fix-scan-do-not-start-after-connect.patch
      	0045-feat-wifi-Add-keep-connection-for-station-to-keep-co.patch
      	0046-feat-at-Update-AT-version-to-1.6.0.0.patch
      	0047-fix-at-Fix-GSLP-too-long-time.patch
      	0048-fix-at-Fix-the-message-is-incorrect-when-creating-UD.patch
      	0049-feat-at-Add-AT-CIPSERVERMAXCONN.patch
      
      		Upstream files only
      
      	0050-feat-system-Add-softap-distributes-station-ip-event.patch
      
      		Upstream files only, user_interface.h override non-conflicting
      
      	0051-feat-example-Use-libmbedtls.a-instead-of-libssl.a-in.patch
      
      		Upstream files only
      
      	0052-feat-mesh-Remove-mesh-support.patch
      
      		Upstream files only, but go ahead and remove comment from
      		ld/nodemcu.ld.
      
      	0053-fix-example-Fix-forget-to-add-integer-parameter-when.patch
      
      		Upstream files only
      
      	0054-fix-mbedtls-Fix-reconnect_callback-is-not-triggered-.patch
      
      		Merged app/mbedtls/app/espconn_mbedtls.c
      
      	0055-feat-at-Add-AT-SYSMSG-to-enable-some-report-informat.patch
      	0056-fix-at-Fix-the-incorrect-link-id-when-client-connect.patch
      	0057-fix-at-Fix-the-bug-that-it-should-be-error-when-the-.patch
      	0058-fix-smartconfig-Fix-the-smartconfig-scan-time-issue.patch
      	0059-fix-lwip-Fix-the-bug-of-lwip-output.patch
      
      		Upstream files only
      
      	0060-fix-lwip-Fix-the-length-of-TCP-data-in-one-packet-is.patch
      	0061-fix-lwip-Fix-send-TCP-data-with-two-or-more-pbuf.patch
      
      		Merged app/lwip/core/tcp_out.c
      
      	0062-fix-wifi-Fix-assert-happen-when-smartconfig-start-th.patch
      
      		Upstream files only
      
      	0063-fix-mbedtls-Fix-memory-leak-when-ESP8266-as-SSL-TLS-.patch
      
      		Merged app/mbedtls/app/espconn_mbedtls.c
      
      	0064-fix-mbedtls-Fix-already-freed-and-exception-bug-when.patch
      
      		Merged app/mbedtls/app/lwIPSocket.c
      
      	0065-fix-at-Fix-bug-that-there-is-no-result-when-sending-.patch
      	0066-feat-example-Add-AT-bin-version.patch
      	0067-feat-version-Update-version-to-2.2.0-and-add-version.patch
      	0068-feat-bin-Update-AT-bin-for-SDK-2.2.0.patch
      
      		Upstream files only
      
      Apply local changes to build:
      
      	app/include/lwip/app/espconn.h pulls changes (and license decl) from
      	upstream SDK.  Makefile is altered to use this file ahead of the
      	SDK's.
      
      	Remove lwip's sntp support, since it was never really wired in anyway.
      	See https://github.com/nodemcu/nodemcu-firmware/issues/2042 for more
      	information.  Patch Makefile to strip time.o, the consumer of lwip's
      	sntp functionality, from libmain.a, resulting in much
      	easier-to-understand error messages.
      
      	This has consequences for mbedtls.  The simplest thing to do, which is,
      	impressively, not a change in behavior, is to completely disable TLS
      	certificate time validation; a later patch can optionally couple this to
      	RTCTIME support.
      
      	Similarly, it happens that the sqlite3 import was calling time(), but
      	this was not going to work out well for it.  Just stub it out to always
      	return unix timestamp 0, as would have happened anyway.
      
      Changes unprocessed:
      
      	0007-sync-from-080c37e1.patch
      	0008-feat-lib-Compile-some-libraries-with-ffunction-secti.patch
      
      		These two make changes to the linker script; perhaps
      		they are worth porting over, but I have not done so
      		here.
      
      This is build-tested (ADC, BIT, COLOR_UTILS, CRON, CRYPTO, DHT, ENCODER,
      FILE, GPIO, HTTP, I2C, MQTT, NET, NODE, OW, PCM, PERF, PWM, RTCFIFO,
      RTCMEM, RTCTIME, SNTP, SPI, SQLITE3, STRUCT, TLS, TMR, UART, WIFI,
      WS2812, WS2812_EFFECTS) and boots, but only limited run-time testing has
      been performed.  Testing done does, however, include having made a few
      TLS connections through the HTTP module, so things are not hopelessly
      broken, at the very least.
      c972d86e
  13. 10 Jan, 2018 1 commit
    • Luiz Felipe Silva's avatar
      Add sqlite3 module (#2008) · df930c2d
      Luiz Felipe Silva authored
      * add final sqlite3 patch
      * remove unused defines, join caching code with esp vfs code to reduce exported symbols and shrink final file size
      * Modules should by default be disabled and in alphabetical order
      df930c2d
  14. 03 Jul, 2017 1 commit
    • Johny Mattsson's avatar
      Cleaned up sjson module build. · ea4d3371
      Johny Mattsson authored
      - Move jsonsl build to regular library build rather than #include the .c file
      - Provide wrappers for malloc/calloc/free to fix undefined symbol warnings.
      ea4d3371
  15. 04 Apr, 2017 1 commit
    • dnc40085's avatar
      Add wifi.suspend() and node.sleep() (#1231) · 41a5736d
      dnc40085 authored
      * Exposed forced sleep API and more
      Added timer suspend functionality
      * wifi.suspend
      * wifi.resume
      * node.sleep 
      * tmr.suspend
      * tmr.suspend_all
      * tmr.resume
      * tmr.resume_all
      * Implement timer suspend functionality
      * Fix for uart TX glitch
      * Made some modifications to the error reporting
      41a5736d
  16. 22 Mar, 2017 1 commit
  17. 09 Jan, 2017 1 commit
    • FrankX's avatar
      Add WPS module (#1694) · 378e5eb0
      FrankX authored
      * WPS functionality added
      
      * WPS module switched off by default
      
      * Update mkdocs.yml
      378e5eb0
  18. 11 Dec, 2016 1 commit
    • Yury Popov's avatar
      Upgrade to SDK 2.0.0 (#1435) · bdd54648
      Yury Popov authored
      * 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
      bdd54648
  19. 21 Sep, 2016 1 commit
    • Philip Gladstone's avatar
      Add the esp-gdbstub to enable debugging (#1506) · 04e93b24
      Philip Gladstone authored
      * 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
      04e93b24
  20. 05 Sep, 2016 1 commit
    • Arnim Läuger's avatar
      Add FatFs and SD card support (#1397) · ecf8bd98
      Arnim Läuger authored
      * 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
      ecf8bd98
  21. 18 Aug, 2016 1 commit
  22. 05 Jun, 2016 1 commit
    • Arnim Läuger's avatar
      Add pcm module. (#1255) · d4166489
      Arnim Läuger authored
      * Add pcm module.
      * Add network streaming example.
      * document hw_timer dependency with pwm
      * Add vu peak callback.
      d4166489
  23. 27 May, 2016 1 commit
  24. 03 Apr, 2016 1 commit
    • Philip Gladstone's avatar
      Take 2: Add regular sends to mdns. Check for (some) buffer overflows. Make it handle unicast · 3a5e5f10
      Philip Gladstone authored
      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 6ee49ee106274bc63f6309047e57f7bc9828523e
      Author: philip <philip@gladstonefamily.net>
      Date:   Fri Mar 25 23:25:11 2016 -0400
      
          Update the docs
      
      commit 7e455541c6f2531824cfb2419d051f1306935fdf
      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`
      3a5e5f10
  25. 26 Feb, 2016 1 commit
    • TerryE's avatar
      Make the wifi.smart functions options and remove wofs and upgrade · 46ea2aa4
      TerryE authored
      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.
      46ea2aa4
  26. 17 Feb, 2016 1 commit
    • TerryE's avatar
      Add New Tasking I/F and rework GPIO, UART, etc to support it · 49733f6f
      TerryE authored
      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.
      49733f6f
  27. 29 Dec, 2015 1 commit
  28. 23 Dec, 2015 1 commit
  29. 18 Dec, 2015 1 commit
  30. 17 Dec, 2015 1 commit
  31. 12 Dec, 2015 1 commit
    • Johny Mattsson's avatar
      Major cleanup of module registration. · 6b6456be
      Johny Mattsson authored
      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.
      6b6456be
  32. 12 Oct, 2015 5 commits
  33. 17 Sep, 2015 1 commit
  34. 23 Aug, 2015 1 commit
  35. 22 Aug, 2015 1 commit