1. 15 Jun, 2017 2 commits
  2. 06 May, 2017 1 commit
  3. 16 Feb, 2017 1 commit
    • Damien George's avatar
      py: Add iter_buf to getiter type method. · ae8d8675
      Damien George authored
      Allows to iterate over the following without allocating on the heap:
      - tuple
      - list
      - string, bytes
      - bytearray, array
      - dict (not dict.keys, dict.values, dict.items)
      - set, frozenset
      
      Allows to call the following without heap memory:
      - all, any, min, max, sum
      
      TODO: still need to allocate stack memory in bytecode for iter_buf.
      ae8d8675
  4. 06 Feb, 2017 1 commit
  5. 04 Jan, 2017 1 commit
  6. 28 Dec, 2016 2 commits
    • Damien George's avatar
      stmhal/uart: Increase inter-character timeout by 1ms. · e81116d0
      Damien George authored
      Sys-tick resolution is 1ms and a value of 2 will give a delay between 1ms
      and 2ms (whereas a value of 1 gives a delay between 0ms and 1ms, which is
      too short).
      e81116d0
    • Damien George's avatar
      stmhal/uart: Provide a custom function to transmit over UART. · 16a584d7
      Damien George authored
      The HAL_UART_Transmit function has changed in the latest HAL version such
      that the Timeout is a timeout for the entire function, rather than a
      timeout between characters as it was before.  The HAL function also does
      not allow one to reliably tell how many characters were sent before the
      timeout (if a timeout occurred).
      
      This patch provides a custom function to do UART transmission, completely
      replacing the HAL version, to fix the above-mentioned issues.
      16a584d7
  7. 05 Dec, 2016 3 commits
  8. 02 Dec, 2016 1 commit
  9. 13 Nov, 2016 1 commit
  10. 18 Jun, 2016 1 commit
  11. 03 Jun, 2016 1 commit
  12. 10 May, 2016 1 commit
  13. 17 Apr, 2016 1 commit
  14. 13 Apr, 2016 1 commit
  15. 11 Jan, 2016 1 commit
    • Damien George's avatar
      py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*. · 5b3f0b7f
      Damien George authored
      The first argument to the type.make_new method is naturally a uPy type,
      and all uses of this argument cast it directly to a pointer to a type
      structure.  So it makes sense to just have it a pointer to a type from
      the very beginning (and a const pointer at that).  This patch makes
      such a change, and removes all unnecessary casting to/from mp_obj_t.
      5b3f0b7f
  16. 12 Dec, 2015 1 commit
  17. 04 Dec, 2015 1 commit
  18. 30 Nov, 2015 2 commits
  19. 26 Nov, 2015 1 commit
  20. 01 Nov, 2015 1 commit
  21. 31 Oct, 2015 1 commit
    • Damien George's avatar
      all: Add py/mphal.h and use it in all ports. · 731f3592
      Damien George authored
      py/mphal.h contains declarations for generic mp_hal_XXX functions, such
      as stdio and delay/ticks, which ports should provide definitions for.  A
      port will also provide mphalport.h with further HAL declarations.
      731f3592
  22. 19 Oct, 2015 1 commit
    • Paul Sokolovsky's avatar
      stmhal/uart: If char is not received within timeout, return EAGAIN error. · bedab235
      Paul Sokolovsky authored
      Instead of return 0, which means EOF. There's no good way to detect EOF on
      continuously active bus like UART, and treat timeout as just temporary
      unvailability of data. .read() method of UART object will return None in
      this case (instead of 0, which again measn EOF). This is fully compliant
      with unix port.
      bedab235
  23. 07 Aug, 2015 1 commit
  24. 02 Aug, 2015 3 commits
  25. 29 Jul, 2015 1 commit
  26. 31 May, 2015 1 commit
  27. 27 May, 2015 1 commit
  28. 03 May, 2015 1 commit
  29. 18 Apr, 2015 1 commit
  30. 16 Apr, 2015 1 commit
    • Damien George's avatar
      py: Overhaul and simplify printf/pfenv mechanism. · 7f9d1d6a
      Damien George authored
      Previous to this patch the printing mechanism was a bit of a tangled
      mess.  This patch attempts to consolidate printing into one interface.
      
      All (non-debug) printing now uses the mp_print* family of functions,
      mainly mp_printf.  All these functions take an mp_print_t structure as
      their first argument, and this structure defines the printing backend
      through the "print_strn" function of said structure.
      
      Printing from the uPy core can reach the platform-defined print code via
      two paths: either through mp_sys_stdout_obj (defined pert port) in
      conjunction with mp_stream_write; or through the mp_plat_print structure
      which uses the MP_PLAT_PRINT_STRN macro to define how string are printed
      on the platform.  The former is only used when MICROPY_PY_IO is defined.
      
      With this new scheme printing is generally more efficient (less layers
      to go through, less arguments to pass), and, given an mp_print_t*
      structure, one can call mp_print_str for efficiency instead of
      mp_printf("%s", ...).  Code size is also reduced by around 200 bytes on
      Thumb2 archs.
      7f9d1d6a
  31. 22 Feb, 2015 1 commit
  32. 13 Feb, 2015 1 commit
  33. 07 Jan, 2015 1 commit