rust-embedded / rust-embedded/cortex-m

Delay should sleep the CPU

Open
#506 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
1k
Forks
202
Avg merge
6d 2h
Merged PRs (30d)
2

Description

Rather than busy-wait the CPU, the delay implementation should set the systick to generate an interrupt on overflow, and sleep with a wfi. This would reduce power consumption.

You might need to put it behind a flag because you'd have to replace DefaultHandler_ for systick with something that didn't loop forever...

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the delay implementation and the Cortex-M SysTick and DefaultHandler entry points mentioned in the issue. Determine how an overflow interrupt and wfi can replace busy-waiting, and whether the behavior needs a feature flag; done means delay sleeps the CPU while preserving the existing behavior where the flag is not enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
embedded-iot
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.