Skip to content
Snippets Groups Projects
Select Git revision
0 results

mphalport.c

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    • rahix's avatar
      dbeec980
      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: default avatarRahix <rahix@rahix.de>
      dbeec980
      History
      fix(pycardium): Fix delay implementation
      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: default avatarRahix <rahix@rahix.de>