1. 20 Feb, 2018 10 commits
  2. 19 Feb, 2018 20 commits
  3. 18 Feb, 2018 4 commits
    • Damien George's avatar
      esp32/machine_touchpad: Swap pins 32 and 33. · 5a82ba8e
      Damien George authored
      Based on testing, this is how the mapping should be.
    • Damien George's avatar
      py/pystack: Use "pystack exhausted" as error msg for out of pystack mem. · 7b2a9b05
      Damien George authored
      Using the message "maximum recursion depth exceeded" for when the pystack
      runs out of memory can be misleading because the pystack can run out for
      reasons other than deep recursion (although in most cases pystack
      exhaustion is probably indirectly related to deep recursion).  And it's
      important to give the user more precise feedback as to the reason for the
      error: if they know precisely that the pystack was exhausted then they have
      a chance to increase the amount of memory available to the pystack (as
      opposed to not knowing if it was the C stack or pystack that ran out).
      Also, C stack exhaustion is more serious than pystack exhaustion because it
      could have been that the C stack overflowed and overwrote/corrupted some
      data and so the system must be restarted.  The pystack can never corrupt
      data in this way so pystack exhaustion does not require a system restart.
      Knowing the difference between these two cases is therefore important.
      The actual exception type for pystack exhaustion remains as RuntimeError so
      that programatically it behaves the same as a C stack exhaustion.
    • Damien George's avatar
    • Ayke van Laethem's avatar
      py/nlrthumb: Do not mark nlr_push as not returning anything. · 5591bd23
      Ayke van Laethem authored
      By adding __builtin_unreachable() at the end of nlr_push, we're
      essentially telling the compiler that this function will never return.
      When GCC LTO is in use, this means that any time nlr_push() is called
      (which is often), the compiler thinks this function will never return
      and thus eliminates all code following the call.
      Note: I've added a 'return 0' for older GCC versions like 4.6 which
      complain about not returning anything (which doesn't make sense in a
      naked function). Newer GCC versions (tested 4.8, 5.4 and some others)
      don't complain about this.
  4. 16 Feb, 2018 3 commits
  5. 15 Feb, 2018 3 commits