1. 24 Jun, 2016 1 commit
    • Johny Mattsson's avatar
      Sort out mapping of virtual <-> flash addresses. · b3e8eddf
      Johny Mattsson authored
      The irom0_flash.bin file gets written to offset 0x40000 in flash. Said file
      has the following layout
      
        | irom0 | text | data | rodata | chksum |
      
      ...so the previous approach of having a _flash_used_end symbol at the end of
      the irom0 section no longer gives us an accurate view of how much of the flash
      is used.
      b3e8eddf
  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. 02 Jun, 2016 1 commit
  4. 26 May, 2016 2 commits
  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. 10 Mar, 2016 1 commit
    • philip's avatar
      Adds support for verifying the certificate offered by an SSL server. · 501bd1fb
      philip authored
      Squashed commit of the following:
      
      commit 4439b8c45192f6dee1222df78bbb59f74509e0ee
      Author: philip <philip@gladstonefamily.net>
      Date:   Sun Mar 6 20:23:21 2016 -0500
      
          Fix the ignore
      
      commit a07ee5acdf91286607c3e2dce128c9b8bfd7bd80
      Author: philip <philip@gladstonefamily.net>
      Date:   Sun Mar 6 20:20:41 2016 -0500
      
          Remove uneeded stuff
      
      commit b3604ace92fc13b30161d385c354b0f1c5fe4046
      Author: philip <philip@gladstonefamily.net>
      Date:   Sun Mar 6 20:15:26 2016 -0500
      
          Remove client cert auth
      
      commit 6e48c633569630736a986cd07a59a12de954391e
      Author: philip <philip@gladstonefamily.net>
      Date:   Sun Mar 6 20:11:42 2016 -0500
      
          More cleanup
      
      commit d40eade405ef071d0d1b60d038566b5b8f2cafa3
      Author: philip <philip@gladstonefamily.net>
      Date:   Sat Mar 5 10:56:56 2016 -0500
      
          Move to almost working version
      
      commit 1860a2d90afa94461c53bd41251d4870d6527f9d
      Author: philip <philip@gladstonefamily.net>
      Date:   Fri Mar 4 08:04:09 2016 -0500
      
          Changed the naem to server-ca.crt
      
      commit e7a315660843273fe62943b7fe8ee6c0541dada2
      Author: philip <philip@gladstonefamily.net>
      Date:   Thu Mar 3 21:16:26 2016 -0500
      
          Update gitignores
      
      commit 2b037d185c396209b64381399c40821c15e1840e
      Author: philip <philip@gladstonefamily.net>
      Date:   Thu Mar 3 08:56:17 2016 -0500
      
          Getting better
      
      commit 763255cffba8e279158cd7f43391a3573efdeca8
      Author: philip <philip@gladstonefamily.net>
      Date:   Wed Mar 2 22:28:21 2016 -0500
      
          Works a bit better
      
      commit a38325d1a47dbad255cb3e681da8415e8cf699ea
      Author: philip <philip@gladstonefamily.net>
      Date:   Wed Mar 2 09:11:04 2016 -0500
      
          First building version
      
      commit 4aef13da33470ed954f2eaf5f7ac0ac3dcdf3774
      Merge: 180e147 ebb0c333
      Author: philip <philip@gladstonefamily.net>
      Date:   Tue Mar 1 22:03:06 2016 -0500
      
          Merge remote-tracking branch 'upstream/dev' into ssl-client
      
      commit 180e147c1abdcf4046ad9be9b3c1a48f4a875312
      Author: philip <philip@gladstonefamily.net>
      Date:   Sun Feb 28 21:34:21 2016 -0500
      
          Missing files from espressif
      
      Try to imporve layout
      
      Align the file names with the contents
      
      Missing file
      
      Review comments
      
      More review coments
      501bd1fb
  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. 28 Jan, 2016 1 commit
    • Johny Mattsson's avatar
      Simplified linker script handling of libc. · d5f71eb0
      Johny Mattsson authored
      Having ascertained that the SDK itself has no (zero, zilch, nada) dependencies
      on the standard C library, the NodeMCU linker script now puts any and all
      libc functions into irom, rather than carefully picking the ones that
      were used by NodeMCU some months ago. This should help keep iram free for
      the things which really need to be in iram (such as ISRs).
      d5f71eb0
  9. 23 Dec, 2015 1 commit
  10. 18 Dec, 2015 1 commit
  11. 16 Dec, 2015 1 commit
    • 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
  12. 17 Nov, 2015 1 commit
  13. 05 Nov, 2015 1 commit
    • Johny Mattsson's avatar
      Fix to do TCP port number randomization at boot. · f82415f6
      Johny Mattsson authored
      This addresses the issue where a server would otherwise reject a valid
      connection attempt from a rebooted node, due to the server thinking that
      packet belonged to a recently closed session. By starting off the local
      TCP port numbers at random* points each boot the risk of port reuse
      across a reboot is significantly reduced.
      
      *) As random as can be had via the lower 12 bits of the ccounter.
      f82415f6
  14. 12 Oct, 2015 4 commits
  15. 03 Jul, 2015 1 commit
  16. 24 Jun, 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. 29 Mar, 2015 1 commit
  19. 06 Mar, 2015 1 commit
  20. 16 Feb, 2015 1 commit
    • 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
  21. 13 Feb, 2015 1 commit
  22. 11 Feb, 2015 1 commit
  23. 08 Feb, 2015 1 commit
  24. 07 Feb, 2015 1 commit
  25. 06 Feb, 2015 1 commit
  26. 04 Feb, 2015 1 commit
  27. 03 Feb, 2015 1 commit
    • devsaurus's avatar
      improve font handling · 9f0b1678
      devsaurus authored
      * macros established to build a table of fonts which get compiled into the image
      * font data is mapped to irom0 to save dram space
      * quirky function to retrieve font data 4-byte aligned from irom0
      9f0b1678
  28. 01 Feb, 2015 1 commit
  29. 25 Jan, 2015 1 commit
  30. 24 Jan, 2015 1 commit
  31. 09 Jan, 2015 1 commit
  32. 05 Jan, 2015 2 commits
  33. 22 Dec, 2014 1 commit