1. 10 May, 2016 1 commit
  2. 08 May, 2016 1 commit
  3. 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
  4. 02 Nov, 2015 1 commit
  5. 01 Nov, 2015 1 commit
  6. 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
  7. 27 May, 2015 1 commit
  8. 18 Apr, 2015 1 commit
  9. 16 Apr, 2015 3 commits
    • Damien George's avatar
      stmhal: Allow sending CAN messages with timeout=0. · 7d5e3428
      Damien George authored
      Thanks to Henrik Sölver for this patch.
      7d5e3428
    • blmorris's avatar
      stmhal: Use new %q format to print qstr's in a few more places. · 4c459213
      blmorris authored
      Saves 68 bytes.
      4c459213
    • 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
  10. 15 Feb, 2015 1 commit
  11. 21 Jan, 2015 1 commit
    • Damien George's avatar
      py: Remove mp_obj_str_builder and use vstr instead. · 05005f67
      Damien George authored
      With this patch str/bytes construction is streamlined.  Always use a
      vstr to build a str/bytes object.  If the size is known beforehand then
      use vstr_init_len to allocate only required memory.  Otherwise use
      vstr_init and the vstr will grow as needed.  Then use
      mp_obj_new_str_from_vstr to create a str/bytes object using the vstr
      memory.
      
      Saves code ROM: 68 bytes on stmhal, 108 bytes on bare-arm, and 336 bytes
      on unix x64.
      05005f67
  12. 01 Jan, 2015 1 commit
  13. 26 Nov, 2014 1 commit
  14. 16 Nov, 2014 1 commit
  15. 15 Nov, 2014 1 commit
  16. 31 Oct, 2014 1 commit
  17. 30 Oct, 2014 2 commits
  18. 23 Oct, 2014 1 commit
  19. 05 Oct, 2014 1 commit
  20. 02 Oct, 2014 1 commit