1. 24 3月, 2020 1 次提交
  2. 09 3月, 2020 2 次提交
  3. 06 3月, 2020 1 次提交
  4. 31 1月, 2020 1 次提交
  5. 30 1月, 2020 1 次提交
  6. 27 12月, 2019 1 次提交
  7. 13 12月, 2019 1 次提交
  8. 11 11月, 2019 1 次提交
    • D
      extmod: Consolidate FAT FS config to MICROPY_VFS_FAT across all ports. · 799b6d1e
      Damien George 提交于
      This commit removes the Makefile-level MICROPY_FATFS config and moves the
      MICROPY_VFS_FAT config to the Makefile level to replace it.  It also moves
      the include of the oofatfs source files in the build from each port to a
      central place in extmod/extmod.mk.
      
      For a port to enabled VFS FAT support it should now set MICROPY_VFS_FAT=1
      at the level of the Makefile.  This will include the relevant oofatfs files
      in the build and set MICROPY_VFS_FAT=1 at the C (preprocessor) level.
      799b6d1e
  9. 01 11月, 2019 1 次提交
  10. 31 10月, 2019 2 次提交
    • D
      stm32: Add machine.Timer with soft timer implementation. · 48b25a84
      Damien George 提交于
      This commit adds an implementation of machine.Timer backed by the soft
      timer mechanism.  It allows an arbitrary number of timers with 1ms
      resolution, with an associated Python callback.  The Python-level API
      matches existing ports that have a soft timer, and is used as:
      
          from machine import Timer
          t = Timer(freq=10, callback=lambda t:print(t))
          ...
          t = Timer(mode=Timer.ONE_SHOT, period=2000, callback=lambda t:print(t))
          ...
          t.deinit()
      48b25a84
    • D
      stm32: Add soft timer implementation, using SysTick at 1ms resolution. · a5d97f1d
      Damien George 提交于
      This commit adds an implementation of a "software timer" with a 1ms
      resolution, using SysTick.  It allows unlimited number of concurrent
      timers (limited only by memory needed for each timer entry).  They can be
      one-shot or periodic, and associated with a Python callback.
      
      There is a very small overhead added to the SysTick IRQ, which could be
      further optimised in the future, eg by patching SysTick_Handler code
      dynamically.
      a5d97f1d
  11. 28 10月, 2019 1 次提交
  12. 15 10月, 2019 2 次提交
  13. 10 10月, 2019 1 次提交
  14. 08 10月, 2019 1 次提交
    • J
      stm32: Extract port-specific Nimble implementation. · 902bb4ce
      Jim Mussared 提交于
      On other ports (e.g. ESP32) they provide a complete Nimble implementation
      (i.e. we don't need to use the code in extmod/nimble). This change
      extracts out the bits that we don't need to use in other ports:
       - malloc/free/realloc for Nimble memory.
       - pendsv poll handler
       - depowering the cywbt
      
      Also cleans up the root pointer management.
      902bb4ce
  15. 01 10月, 2019 2 次提交
  16. 23 9月, 2019 2 次提交
  17. 04 9月, 2019 1 次提交
  18. 17 7月, 2019 1 次提交
    • D
      stm32: Add initial support for STM32WBxx MCUs. · 59b7166d
      Damien George 提交于
      This new series of MCUs is similar to the L4 series with an additional
      Cortex-M0 coprocessor.  The firmware for the wireless stack must be managed
      separately and MicroPython does not currently interface to it.  Supported
      features so far include: RTC, UART, USB, internal flash filesystem.
      59b7166d
  19. 16 7月, 2019 2 次提交
  20. 08 7月, 2019 2 次提交
  21. 05 7月, 2019 1 次提交
  22. 03 7月, 2019 2 次提交
  23. 25 6月, 2019 1 次提交
    • D
      stm32: Enter bootloader via a system reset. · 04c7cdb6
      Damien George 提交于
      Entering a bootloader (ST system bootloader, or custom mboot) from software
      by directly branching to it is not reliable, and the reliability of it
      working can depend on the peripherals that were enabled by the application
      code.  It's also not possible to branch to a bootloader if the WDT is
      enabled (unless the bootloader has specific provisions to feed the WDT).
      
      This patch changes the way a bootloader is entered from software by first
      doing a complete system reset, then branching to the desired bootloader
      early on in the start-up process.  The top two words of RAM (of the stack)
      are reserved to store flags indicating that the bootloader should be
      entered after a reset.
      04c7cdb6
  24. 24 6月, 2019 1 次提交
  25. 11 6月, 2019 2 次提交
    • D
      stm32/usbd_msc: Provide Mode Sense response data in MSC interface. · 38bcc99a
      Damien George 提交于
      Eventually these responses could be filled in by a function to make their
      contents dynamic, depending on the attached logical units.  But for now
      they are fixed, and this patch fixes the MODE SENSE(6) responses so it is
      the correct length with the correct header.
      38bcc99a
    • D
      stm32/usbd_msc: Rework USBD MSC code to support multiple logical units. · 518aa571
      Damien George 提交于
      SCSI can support multiple logical units over the one interface (in this
      case over USBD MSC) and here the MSC code is reworked to support this
      feature.  At this point only one LU is used and the behaviour is mostly
      unchanged from before, except the INQUIRY result is different (it will
      report "Flash" for both flash and SD card).
      518aa571
  26. 05 6月, 2019 1 次提交
  27. 03 6月, 2019 1 次提交
  28. 07 5月, 2019 1 次提交
    • D
      stm32: Move factory reset files and code to separate source file. · 97753a1b
      Damien George 提交于
      The new function factory_reset_make_files() populates the given filesystem
      with the default factory files.  It is defined with weak linkage so it can
      be overridden by a board.
      
      This commit also brings some minor user-facing changes:
      
      - boot.py is now no longer created unconditionally if it doesn't exist, it
        is now only created when the filesystem is formatted and the other files
        are populated (so, before, if the user deleted boot.py it would be
        recreated at next boot; now it won't be).
      
      - pybcdc.inf and README.txt are only created if the board has USB, because
        they only really make sense if the filesystem is exposed via USB.
      97753a1b
  29. 24 4月, 2019 1 次提交
    • D
      stm32/dac: Rework DAC driver to use direct register access. · aa7b32c8
      Damien George 提交于
      This patch makes the DAC driver simpler and removes the need for the ST
      HAL.  As part of it, new helper functions are added to the DMA driver,
      which also use direct register access instead of the ST HAL.
      
      Main changes to the DAC interface are:
      
      - The DAC uPy object is no longer allocated dynamically on the heap,
        rather it's statically allocated and the same object is retrieved for
        subsequent uses of pyb.DAC(<id>).  This allows to access the DAC objects
        without resetting the DAC peripheral.  It also means that the DAC is only
        reset if explicitly passed initialisation parameters, like "bits" or
        "buffering".
      
      - The DAC.noise() and DAC.triangle() methods now output a signal which is
        full scale (previously it was a fraction of the full output voltage).
      
      - The DAC.write_timed() method is fixed so that it continues in the
        background when another peripheral (eg SPI) uses the DMA (previously the
        DAC would stop if another peripheral finished with the DMA and shut the
        DMA peripheral off completely).
      
      Based on the above, the following backwards incompatibilities are
      introduced:
      
      - pyb.DAC(id) will now only reset the DAC the first time it is called,
        whereas previously each call to create a DAC object would reset the DAC.
        To get the old behaviour pass the bits parameter like: pyb.DAC(id, bits).
      
      - DAC.noise() and DAC.triangle() are now full scale.  To get previous
        behaviour (to change the amplitude and offset) write to the DAC_CR (MAMP
        bits) and DAC_DHR12Rx registers manually.
      aa7b32c8
  30. 01 4月, 2019 1 次提交
  31. 29 3月, 2019 1 次提交