1. 09 Jun, 2016 1 commit
    • Johny Mattsson's avatar
      Make NodeMCU compile and link for ESP32. · 224788b6
      Johny Mattsson authored
      A fair bit of reshuffling with include paths and overrides was necessary, as
      the two RTOS SDKs (ESP8266 and ESP32) don't have the same header structure
      (or even libraries for that matter). Uses the xtensa-esp108-elf toolchain
      to build.
      
      Completely untested beyond linking, as I still can't flash the ESP32 module
      I have :(  I'd be most surprised if it does anything useful at this point
      considering I've spent almost no time on the linker script or UART setup.
      
      Anything using espconn has been ifdef'd out since espconn is not (and
      probably will not be) available. Notably this includes the entire net module
      as well as coap, mqtt and enduser_setup.
      
      Many (most?) hardware bus drivers and related modules are also ifdef'd
      out for now due to hardware differences. Functions surrounding sleep,
      rtc and RF modes have also been hit by the ifdef hammer. Grep'ing for
      __ESP8266__ and/or FIXME is a quick way of finding these places. With
      time I hope all of these will be reinstated.
      224788b6
  2. 30 May, 2016 1 commit
  3. 26 May, 2016 2 commits
  4. 24 May, 2016 1 commit
    • Johny Mattsson's avatar
      Initial pass at switching to RTOS SDK. · f3e2a3af
      Johny Mattsson authored
      This compiles, links, and starts the RTOS without crashing and burning.
      
      Lua environment does not yet start due to the different task architecture.
      
      Known pain points:
      
        - task implementation needs to be rewritten for RTOS (next up on my TODO)
      
        - secure espconn does not exist, all secure espconn stuff has been #if 0'd
      
        - lwip now built from within the RTOS SDK, but does not appear to include
          MDNS support. Investigation needed.
      
        - there is no access to FRC1 NMI, not sure if we ever actually used that
          however. Also #if 0'd out for now.
      
        - new timing constraints introduced by the RTOS, all use of ets_delay_us()
          and os_delay_us() needs to be reviewed (the tsl2561 driver in particular).
      
        - even more confusion with ets_ vs os_ vs c_ vs non-prefixed versions.
          In the long run everything should be switched to non-prefixed versions.
      
        - system_set_os_print() not available, needs to be reimplemented
      
        - all the RTOS rodata is loaded into RAM, as it apparently uses some
          constants while the flash isn't mapped, so our exception handler can't
          work its magic. This should be narrowed down to the minimum possible
          at some point.
      
        - with each task having its own stack in RTOS, we probably need change
          flash-page buffers from the stack to the heap in a bunch of places.
          A single, shared, page buffer *might* be possible if we limit ourselves
          to running NodeMCU in a single task.
      
        - there's a ton of junk in the sdk-overrides now; over time the core code
          should be updated to not need those shims
      f3e2a3af
  5. 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
  6. 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
  7. 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
  8. 29 Dec, 2015 1 commit
  9. 23 Dec, 2015 1 commit
  10. 18 Dec, 2015 1 commit
  11. 17 Dec, 2015 1 commit
  12. 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
  13. 12 Oct, 2015 5 commits
  14. 17 Sep, 2015 1 commit
  15. 23 Aug, 2015 1 commit
  16. 22 Aug, 2015 1 commit
  17. 23 Jun, 2015 1 commit
    • Johny Mattsson's avatar
      Move constants to ROM. Frees up 16k+ of RAM. · b0f9788a
      Johny Mattsson authored
      Accessing 8bit and 16bit constants from ROM rather than RAM comes with a
      performance cost, as these loads go through the load/store exception
      vector. Any performance critical constants can be forced back into RAM
      as RAM_CONST_ATTR.
      
      The entry point has changed from call_user_start() to user_start_trampoline()
      in order for the exception handler to be installed early enough.
      b0f9788a
  18. 19 Jun, 2015 1 commit
  19. 18 Jun, 2015 1 commit
  20. 17 Jun, 2015 1 commit
  21. 02 Jun, 2015 1 commit
  22. 21 May, 2015 1 commit
  23. 14 May, 2015 1 commit
  24. 16 Mar, 2015 1 commit
  25. 06 Mar, 2015 1 commit
  26. 16 Feb, 2015 2 commits
    • HuangRui's avatar
      Re enabled open-source LWIP using dummy.c · bb0a5b1d
      HuangRui authored
      Fixed the RAM issue.
      bb0a5b1d
    • HuangRui's avatar
      Update to SDK 0.9.6_b1 · 05fe3ea9
      HuangRui authored
      The open source LWIP is broken, use espressif's liblwip.a.
      Uses system_get_vdd33 instead of readvdd33.
      The espressif's sdk0.9.6 beta1 (2015.02.15) release note
      1、Optimize smartconfig to version v0.8;
      2、Optimize AT to version 0.22.b1;
      1>、Fixed bugs;
      2>、Optimize the speed of transparent transmission;
      3、Optimize boot to version 1.3(b3);
      1>、Fix compatibility problem of dual flash ;
      4、Solve problem of the large current in deep sleep;
      5、Fixed problem “check mem fail”;
      6、Fixed problem of UDP socket may stop listening broadcast packet after a long time running under some special router;
      7、Fixed bug related to wifi_station_scan;
      8、Other optimize to make the software more reliable;
      05fe3ea9
  27. 04 Feb, 2015 1 commit
  28. 02 Feb, 2015 1 commit
  29. 01 Feb, 2015 1 commit
    • devsaurus's avatar
      * add u8glib · a2672113
      devsaurus authored
      * initializer for SSD1306 display with I2C driver
      * disabled mqtt and ow modules to avoid irom0_0_seg overflow
        check ld script to increase size
      a2672113
  30. 27 Jan, 2015 1 commit
  31. 24 Jan, 2015 1 commit
  32. 23 Jan, 2015 1 commit
  33. 12 Jan, 2015 2 commits