1. 23 Nov, 2015 1 commit
    • T S's avatar
      stmhal: Implement delayed RTC initialization with LSI fallback. · 86aa16be
      T S authored
      If RTC is already running at boot then it's left alone.  Otherwise, RTC is
      started at boot but startup function returns straight away.  RTC startup
      is then finished the first time it is used.  Fallback to LSI if LSE fails
      to start in a certain time.
      
      Also included:
       MICROPY_HW_CLK_LAST_FREQ
              hold pyb.freq() parameters in RTC backup reg
       MICROPY_HW_RTC_USE_US
              option to present datetime sub-seconds in microseconds
       MICROPY_HW_RTC_USE_CALOUT
              option to enable RTC calibration output
      
      CLK_LAST_FREQ and RTC_USE_CALOUT are enabled for PYBv1.0.
      86aa16be
  2. 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
  3. 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
  4. 30 Oct, 2015 1 commit
  5. 19 Oct, 2015 2 commits
  6. 07 Aug, 2015 1 commit
  7. 05 Aug, 2015 2 commits
  8. 29 Jul, 2015 2 commits
  9. 22 Mar, 2015 2 commits
  10. 04 Mar, 2015 2 commits
  11. 13 Feb, 2015 2 commits
  12. 21 Jan, 2015 1 commit
  13. 07 Jan, 2015 1 commit
  14. 01 Jan, 2015 1 commit
  15. 27 Dec, 2014 1 commit
  16. 08 Dec, 2014 1 commit
  17. 30 Nov, 2014 1 commit
  18. 29 Nov, 2014 1 commit
  19. 02 Nov, 2014 1 commit
  20. 22 Oct, 2014 1 commit
  21. 09 Oct, 2014 1 commit
  22. 05 Oct, 2014 2 commits
  23. 04 Oct, 2014 1 commit
    • Damien George's avatar
      stmhal: Allow pyb.freq() function to change SYSCLK frequency. · 24119176
      Damien George authored
      Eg pyb.freq(120000000) sets the CPU to 120MHz.  The frequency can be set
      at any point in the code, and can be changed as many times as you like.
      Note that any active timers will need to be reconfigured after a freq
      change.
      
      Valid range is 24MHz to 168MHz (but not all freqs are supported).  The
      code maintains a 48MHz clock for the USB at all times and it's possible
      to change the frequency at a USB REPL and keep the REPL alive (well,
      most of the time it stays, sometimes it resets the USB for some reason).
      Note that USB does not work with pyb.freq of 24MHz.
      24119176
  24. 02 Oct, 2014 1 commit
  25. 28 Sep, 2014 1 commit
  26. 25 Aug, 2014 3 commits
  27. 16 Aug, 2014 1 commit
  28. 31 Jul, 2014 2 commits
    • Damien George's avatar
      stmhal: Change 0:/ and 1:/ to /flash and /sd; add CWD support. · 65dd7bc1
      Damien George authored
      Some important changes to the way the file system is structured on the
      pyboard:
      
      1. 0: and 1: drive names are now replaced with POSIX inspired
      directories, namely /flash and /sd.
      
      2. Filesystem now supports the notion of a current working directory.
      Supports the standard Python way of manipulating it: os.chdir and
      os.getcwd.
      
      3. On boot up, current directory is /flash if no SD inserted, else /sd
      if SD inserted.  Then runs boot.py and main.py from the current dir.
      This is the same as the old behaviour, but is much more consistent and
      flexible (eg you can os.chdir in boot.py to change where main.py is run
      from).
      
      4. sys.path (for import) is now set to '' (current dir), plus /flash
      and /flash/lib, and then /sd and /sd/lib if SD inserted.  This, along
      with CWD, means that import now works properly.  You can import a file
      from the current directory.
      
      5. os.listdir is fixed to return just the basename, not the full path.
      
      See issue #537 for background and discussion.
      65dd7bc1
    • Damien George's avatar
      stmhal: Add USB_VCP class/object, for direct USB VCP control. · 3c4db9f9
      Damien George authored
      Before, pyb.stdin/pyb.stdout allowed some kind of access to the USB VCP
      device, but it was basic access.
      
      This patch adds a proper USB_VCP class and object with much more control
      over the USB VCP device.  Create an object with pyb.USB_VCP(), then use
      this object as if it were a UART object.  It has send, recv, read,
      write, and other methods.  send and recv allow a timeout to be specified.
      
      Addresses issue 774.
      3c4db9f9
  29. 20 Jul, 2014 1 commit
  30. 03 Jul, 2014 1 commit