InfiniTimeOrg / InfiniTimeOrg/InfiniTime

Hardware initialization, abstraction and controllers.

Open
#1,583 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

maintenance
Dominant language
C
Stars
3.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

Verification
  • I searched for similar issues and found none was relevant.
Introduce the issue

The hardware is initialized in many places, controller classes, drivers, systemtask, displayapp. Keeping track of the hardware state can be difficult. What has been initialized and when. We need to define how and where the hardware should be initialized, and how info about the hardware, such as pins, is passed to the controller classes.

Relates to #1387 #1050 #1468

Preferred solution

For example, we could have a port init function, that initializes all hardware. The already configured pins could be passed to the controller classes. We could apply a discipline to only include hardware specific files in certain places.

Version

No response

Contributor guide

Open the contributing guide

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 mapping hardware initialization across the controller classes, drivers, systemtask, and displayapp, then review related issues #1387, #1050, and #1468. Define where initialization belongs and how configured hardware information reaches controllers; done means the project has a consistent, documented approach implemented across the affected areas.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cpp
Domain
embedded-iot
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.