1. 07 Sep, 2020 1 commit
  2. 06 Sep, 2020 2 commits
  3. 18 Jul, 2020 2 commits
  4. 25 Jun, 2020 1 commit
  5. 15 Jun, 2020 2 commits
  6. 14 Jun, 2020 1 commit
  7. 21 May, 2020 1 commit
  8. 26 Apr, 2020 1 commit
  9. 08 Apr, 2020 1 commit
  10. 06 Apr, 2020 1 commit
  11. 03 Apr, 2020 2 commits
  12. 16 Mar, 2020 3 commits
  13. 31 Jan, 2020 2 commits
  14. 03 Jan, 2020 1 commit
  15. 09 Dec, 2019 2 commits
  16. 06 Dec, 2019 2 commits
  17. 19 Nov, 2019 1 commit
  18. 13 Nov, 2019 3 commits
    • Rahix's avatar
      feat(utime): Implement ticks_ms() and ticks_us() · 8926fd02
      Rahix authored
      
      
      Implement the hal functions necessary for utime.ticks_ms() and
      utime.ticks_us().  This enables much more accurate measurements of time
      taken in Pycardium (useful for profiling).
      
      Please note that the tick counter will reset whenever a new app is
      loaded.
      Signed-off-by: Rahix's avatarRahix <rahix@rahix.de>
      8926fd02
    • fgross's avatar
      feat(pycardium): Enable framebuf module · c27f3fcc
      fgross authored and Rahix's avatar Rahix committed
      The framebuf module provides a framebuffer implementation running purely
      in MicroPython which will increase drawing performance by a lot.  A
      follow-up change will be necessary to connect this framebuffer
      implementation to the display API.
      
      This commit is implements a part of MR !211.
      c27f3fcc
    • Rahix's avatar
      fix(pycardium): Fix delay implementation · dbeec980
      Rahix authored
      
      
      Rewrite the delay implementation to be more accurate and properly handle
      incoming MicroPython interrupts (See issue #177).
      
      For this, the delay is split into two functions:
      
      - systick_delay_precise(): Delay with microsecond accuracy for delays
            less than 1 ms.
      - systick_delay_sleep(): Sleep for a potentially very long time, using
            WFI to put the CPU to sleep.  Whenever the CPU wakes up, this
            function will poll the MicroPython scheduler so it can execute
            pending interrupts.
      
      Ontop, this implementation allows for a future, fast, tick-based
      monotonic time implementation (e.g. mp_hal_ticks_ms).
      Signed-off-by: Rahix's avatarRahix <rahix@rahix.de>
      dbeec980
  19. 11 Nov, 2019 1 commit
  20. 10 Nov, 2019 3 commits
  21. 09 Nov, 2019 2 commits
  22. 05 Oct, 2019 2 commits
    • Foaly's avatar
      docs: Improve documentation for the BHI160 · e804de47
      Foaly authored and Rahix's avatar Rahix committed
      e804de47
    • Philip Stewart's avatar
      fix(gfx/display): Draw partially clipped primitives · 14d5abcc
      Philip Stewart authored and Rahix's avatar Rahix committed
      Fix two bugs in the display/gfx module:
      
      1. The animation of the simple_menu used in the main menu had the issue
         that there is a black line visible at the top.  This is due the
         gfx_puts method ignoring lines, where the top pixel of the string is
         above the top of the screen.  As gfx_puts uses gfx_setpixel which in
         turn ignores pixels outside of the screen, remove the check in
         gfx_puts.
      2. X and Y coordinates were cast to unsigned-ints before being given to
         the gfx-library which means calls like circ(0, -10, 30) would be draw
         at coordinates like [0,65526].  Fix this by changing the data-type of
         all coordinates to signed-integers.
      
      Also remove the x and y ranges from the documentation of the individual
      python functions and instead add a general documentation about the
      screen and it's size/coordinate system.
      14d5abcc
  23. 04 Oct, 2019 3 commits
    • zenox's avatar
      Apply suggestion to pycardium/modules/sys_leds.c · cb11deac
      zenox authored
      cb11deac
    • Rahix's avatar
      fix(build): Fix module changes not getting picked up · d71a6cf8
      Rahix authored
      
      
      Previously, we left out the dependency of the QSTR header on
      `modules.h`.  This was done to prevent rebuilds of the entire
      MicroPython sources whenever a Pycardium module is changed. This
      leads to issues where QSTRs got out of sync and weird errors like
      the following could happen:
      
          import foo_module
      
          Exception: No module `abc_def` (a different string than expected)
      
      Attempt to fix this by only updating the QSTR header when the
      module-header actually changes.  For this, a few workarounds are needed:
      
      - Replace symlinks with actual copied files so timestamps change on
        updates.
      - Add a hack so meson picks up on the dependency of the file in genhdr/
      - Rename the outer file so older meson versions don't complain about
        multiple targets with the same name.
      Co-authored-by: dx's avatardx <dequis@dequis.org>
      Signed-off-by: Rahix's avatarRahix <rahix@rahix.de>
      d71a6cf8
    • zenox's avatar
      for annoyatron · 039066d8
      zenox authored
      039066d8