1. 15 Jun, 2017 1 commit
  2. 06 May, 2017 1 commit
  3. 31 Mar, 2017 2 commits
  4. 02 Mar, 2017 1 commit
  5. 04 Jan, 2017 1 commit
  6. 25 Nov, 2016 2 commits
  7. 22 Nov, 2016 1 commit
  8. 21 Nov, 2016 1 commit
  9. 16 Nov, 2016 2 commits
  10. 11 Nov, 2016 3 commits
  11. 18 Oct, 2016 1 commit
  12. 05 May, 2016 1 commit
    • Tobias Badertscher's avatar
      stmhal: L4: Adapt DMA to be able to support STM32L4 MCU series. · e64032d6
      Tobias Badertscher authored
      The main thing is to change the DMA code in a way that the structure
      DMA_Stream_TypeDef (which is similar to DMA_Channel_TypeDef on stm32l4)
      is no longer used outside of dma.c, as this structure only exists for the
      F4 series.  Therefore I introduced a new structure (dma_descr_t) which
      handles all DMA specific stuff for configuration.  Further the periphery
      (spi, i2c, sdcard, dac) does not need to know the internals of the dma.
      e64032d6
  13. 02 May, 2016 1 commit
  14. 11 Feb, 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. 02 Dec, 2015 1 commit
  17. 14 Nov, 2015 1 commit
    • Paul Sokolovsky's avatar
      stmhal/modmachine: Initial attempt to add I2C & SPI classes. · 16d42368
      Paul Sokolovsky authored
      In new hardware API, these classes implement master modes of interfaces,
      and "mode" parameter is not accepted. Trying to implement new HW API
      in terms of older pyb module leaves variuos corner cases:
      
      In new HW API, I2C(1) means "I2C #1 in master mode" (? depends on
      interpretation), while in old API, it means "I2C #1, with no settings
      changes".
      
      For I2C class, it's easy to make mode optional, because that's last
      positional param, but for SPI, there's "baudrate" after it (which
      is inconsistent with I2C, which requires "baudrate" to be kwonly-arg).
      16d42368
  18. 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
  19. 05 Aug, 2015 1 commit
  20. 02 Aug, 2015 1 commit
  21. 29 Jul, 2015 1 commit
  22. 24 Jun, 2015 1 commit
    • blmorris's avatar
      stmhal/dma.c: Modify dma_init() to accept init struct as an argument · c5175526
      blmorris authored
      This removes hard-coded DMA init params from dma_init(), instead defining
      these parameters in a DMA_InitTypeDef struct that gets passed as an
      argument to dma_init()
      This makes dma_init more generic so it can be used for I2S and SD Card,
      which require different initialization parameters.
      c5175526
  23. 22 Jun, 2015 1 commit
  24. 10 Jun, 2015 1 commit
  25. 28 May, 2015 1 commit
  26. 27 May, 2015 1 commit
  27. 18 Apr, 2015 1 commit
  28. 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
  29. 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
  30. 01 Jan, 2015 1 commit
  31. 23 Oct, 2014 1 commit
  32. 29 Aug, 2014 1 commit
  33. 22 Jul, 2014 1 commit
  34. 12 Jul, 2014 1 commit
  35. 11 Jul, 2014 1 commit