1. 21 Sep, 2016 1 commit
  2. 19 Mar, 2016 3 commits
  3. 11 Jan, 2016 2 commits
    • 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
    • Damien George's avatar
      py: Change type of .make_new and .call args: mp_uint_t becomes size_t. · a0c97814
      Damien George authored
      This patch changes the type signature of .make_new and .call object method
      slots to use size_t for n_args and n_kw (was mp_uint_t.  Makes code more
      efficient when mp_uint_t is larger than a machine word.  Doesn't affect
      ports when size_t and mp_uint_t have the same size.
      a0c97814
  4. 10 Jan, 2016 1 commit
  5. 03 Jan, 2016 1 commit
  6. 09 Dec, 2015 1 commit
  7. 03 Dec, 2015 1 commit
  8. 29 Nov, 2015 2 commits
  9. 27 Oct, 2015 1 commit
  10. 25 Oct, 2015 1 commit
  11. 06 Jun, 2015 1 commit
  12. 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
  13. 11 Apr, 2015 1 commit
  14. 20 Jan, 2015 1 commit
  15. 12 Jan, 2015 1 commit
  16. 01 Jan, 2015 1 commit
  17. 10 Dec, 2014 1 commit
  18. 05 Dec, 2014 1 commit
  19. 29 Nov, 2014 1 commit
  20. 30 Oct, 2014 3 commits
  21. 06 Oct, 2014 1 commit
  22. 28 Sep, 2014 1 commit
    • Dave Hylands's avatar
      Fix timer overflow code. · 39296b40
      Dave Hylands authored
      Teensy doesn't need to worry about overflows since all of
      its timers are only 16-bit.
      
      For PWM, the pulse width needs to be able to vary from 0..period+1
      (pulse-width == period+1 corresponds to 100% PWM)
      
      I couldn't test the 0xffffffff cases since we can't currently get a
      period that big in python. With a prescaler of 0, that corresponds
      to a freq of 0.039 (i.e. cycle every 25.56 seconds), and we can't
      set that using freq or period.
      
      I also tested both stmhal and teensy with floats disabled, which
      required a few other code changes to compile.
      39296b40
  23. 02 Sep, 2014 1 commit
  24. 29 Aug, 2014 1 commit
  25. 12 Aug, 2014 1 commit
  26. 10 Aug, 2014 1 commit
  27. 31 Jul, 2014 1 commit
  28. 10 Jul, 2014 1 commit
  29. 09 Jul, 2014 1 commit