Skip to content
Snippets Groups Projects
  1. Jul 10, 2018
  2. Jul 09, 2018
  3. Jul 08, 2018
  4. Jul 05, 2018
  5. Jul 04, 2018
    • Nicko van Someren's avatar
      esp32: Reduce latency for handling of scheduled Python callbacks. · 14ab81e8
      Nicko van Someren authored
      Prior to this patch there was a large latency for executing scheduled
      callbacks when when Python code is sleeping: at the heart of the
      implementation of sleep_ms() is a call to vTaskDelay(1), which always
      sleeps for one 100Hz tick, before performing another call to
      MICROPY_EVENT_POLL_HOOK.
      
      This patch fixes this issue by using FreeRTOS Task Notifications to signal
      the main thread that a new callback is pending.
      14ab81e8
  6. Jul 03, 2018
  7. Jul 02, 2018
  8. Jun 28, 2018
  9. Jun 27, 2018
    • Damien George's avatar
      py/compile: Handle return/break/continue correctly in async with. · d8dc918d
      Damien George authored
      Before this patch the context manager's __aexit__() method would not be
      executed if a return/break/continue statement was used to exit an async
      with block.  async with now has the same semantics as normal with.
      
      The fix here applies purely to the compiler, and does not modify the
      runtime at all. It might (eventually) be better to define new bytecode(s)
      to handle async with (and maybe other async constructs) in a cleaner, more
      efficient way.
      
      One minor drawback with addressing this issue purely in the compiler is
      that it wasn't possible to get 100% CPython semantics.  The thing that is
      different here to CPython is that the __aexit__ method is not looked up in
      the context manager until it is needed, which is after the body of the
      async with statement has executed.  So if a context manager doesn't have
      __aexit__ then CPython raises an exception before the async with is
      executed, whereas uPy will raise it after it is executed.  Note that
      __aenter__ is looked up at the beginning in uPy because it needs to be
      called straightaway, so if the context manager isn't a context manager then
      it'll still raise an exception at the same location as CPython.  The only
      difference is if the context manager has the __aenter__ method but not the
      __aexit__ method, then in that case uPy has different behaviour.  But this
      is a very minor, and acceptable, difference.
      d8dc918d
    • Damien George's avatar
    • Damien George's avatar
      esp8266/mpconfigport.h: Enable ucryptolib module for standard build. · bc6c56d7
      Damien George authored
      It remains disabled for the 512k build.
      bc6c56d7
    • Damien George's avatar
      extmod/moducryptolib: Don't include arpa/inet.h, it's not needed. · 8769a3e3
      Damien George authored
      And some ports (eg esp8266) don't have it.
      8769a3e3
    • Damien George's avatar
      82bc4838
Loading