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. 03 Jun, 2016 1 commit
  3. 01 Jun, 2016 1 commit
    • Johny Mattsson's avatar
      Shunt tmr callbacks into the Lua RTOS task. · 61291bd8
      Johny Mattsson authored
      The os_timer callback is executed from task rtT, prio 14, so they preempt
      the Lua environment whenever they fire. Ideally we should be using the
      RTOS timers instead, which run at prio 2 and thus would be more suited
      for our uses.
      61291bd8
  4. 26 May, 2016 1 commit
  5. 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
  6. 13 May, 2016 1 commit
    • dnc40085's avatar
      Updated tmr module and documentation · 17443720
      dnc40085 authored
      * Change upper limit for timer in `tmr_register` and `tmr_interval` to reflect new limit in SDK 1.5.3.
      * Change documentation for `tmr.alarm()`, `tmr.interval()` and `tmr.register()` to match source.
      * Improve error reporting to be more descriptive.
      17443720
  7. 30 Mar, 2016 1 commit
  8. 25 Feb, 2016 1 commit
  9. 21 Jan, 2016 1 commit
  10. 20 Jan, 2016 1 commit
  11. 10 Jan, 2016 1 commit
  12. 16 Dec, 2015 2 commits
    • Johny Mattsson's avatar
      Reworked module registration, removed modules.h · 4e8ef87d
      Johny Mattsson authored
      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.
      4e8ef87d
    • TerryE's avatar
      Major cleanup of module registration pass 2. · b773290b
      TerryE authored
      carrying on Johny's edits as per my comments on #810
      b773290b
  13. 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
  14. 05 Nov, 2015 1 commit
  15. 27 Oct, 2015 1 commit
    • Johny Mattsson's avatar
      Fix WDT resets during file.format(). · b535be7a
      Johny Mattsson authored
      With the new SDK soft-wdt it is no longer sufficient to tickle the hardware
      watchdog, so all (found) instances have been changed to system_soft_wdt_feed().
      b535be7a
  16. 29 Jun, 2015 2 commits
  17. 14 May, 2015 2 commits
  18. 10 Apr, 2015 1 commit
    • Kirill's avatar
      Update tmr.c · f19e24c7
      Kirill authored
      According to NodeMCU team recommendations.
      f19e24c7
  19. 11 Mar, 2015 1 commit
  20. 27 Jan, 2015 1 commit
  21. 24 Jan, 2015 1 commit
  22. 05 Jan, 2015 1 commit
  23. 29 Dec, 2014 1 commit
  24. 22 Dec, 2014 1 commit