1. 23 Jun, 2016 1 commit
    • Johny Mattsson's avatar
      Replaced UART driver. · afbbeb45
      Johny Mattsson authored
      New driver is a three-way merger between Espressif's esp8266-rtos-sdk example
      driver, Espressif's esp32-rtos-sdk not-example driver, and the previous
      NodeMCU driver, plus some general clean-ups.
      
      Basic interactivity is now available on the ESP32!
      afbbeb45
  2. 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
  3. 31 May, 2016 1 commit
  4. 26 May, 2016 1 commit
  5. 24 May, 2016 2 commits
    • Johny Mattsson's avatar
      Reimplemented the NodeMCU task interface on top of RTOS. · 5c39a1f6
      Johny Mattsson authored
      Not yet hooked up to an RTOS task, however.
      5c39a1f6
    • 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. 18 May, 2016 1 commit
    • Johny Mattsson's avatar
      Rework ADC mode setting approach (#1285) · 30d354c2
      Johny Mattsson authored
      - 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.
      30d354c2
  7. 29 Apr, 2016 1 commit
  8. 17 Apr, 2016 1 commit
  9. 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
  10. 01 Apr, 2016 1 commit
    • dnc40085's avatar
      Modified wifi module · 5e9ab015
      dnc40085 authored
      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
      5e9ab015
  11. 25 Mar, 2016 1 commit
  12. 20 Mar, 2016 1 commit
  13. 09 Mar, 2016 1 commit
  14. 03 Mar, 2016 1 commit
  15. 01 Mar, 2016 2 commits
  16. 29 Feb, 2016 1 commit
    • philip's avatar
      Squashed commit of the following: · d40ee50a
      philip authored
      commit 2c7c3fc3985cc32866e8af496abea9971eaee90a
      Merge: 9179dae 41022c3b
      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 19d3c1d5
          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
      d40ee50a
  17. 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
  18. 22 Feb, 2016 1 commit
    • philip's avatar
      Performance monitoring tool. · e516a0e9
      philip authored
      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 716e6824
      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 944db2bdb8a2b725ba683c564b39f30f3b61e47f
      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
      e516a0e9
  19. 21 Feb, 2016 2 commits
  20. 18 Feb, 2016 2 commits
  21. 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
  22. 14 Feb, 2016 1 commit
    • Henk Vergonet's avatar
      Add i2c based module for am2320 humidity sensor · a1c1e015
      Henk Vergonet authored
      Example use:
      > sda=1
      > scl=2
      > am2320.init(sda,scl)
      > rh, t = am2320.read()
      > print(string.format("Temperature: %s degrees C", t / 10))
      > print(string.format("RH: %s %%", rh / 10))
      
      signed-off-by: henk.vergonet@gmail.com
      a1c1e015
  23. 13 Feb, 2016 1 commit
  24. 09 Feb, 2016 1 commit
  25. 30 Jan, 2016 1 commit
  26. 26 Jan, 2016 1 commit
  27. 24 Jan, 2016 1 commit
  28. 23 Jan, 2016 3 commits
  29. 22 Jan, 2016 1 commit
  30. 21 Jan, 2016 1 commit
  31. 20 Jan, 2016 1 commit
  32. 14 Jan, 2016 1 commit
  33. 13 Jan, 2016 1 commit
  34. 05 Jan, 2016 1 commit