arduino / arduino/ArduinoCore-megaavr

Run an exact millis() timer...

Open
#73 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
111
Forks
65
PR merge metrics
No merged PRs in 30d

Description

Since the timer used for millis() (TIMERB3 on Uno WiFi2 and Every) is not shared with any functionality, couldn't it could be set up in "periodic" mode (instead of free-running with overflow interrupts), thereby producing an interrupt every one millisecond exactly, and removing the need for all the fancy logic in the ISR?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the TIMERB3 setup and the millis() timer ISR in the ArduinoCore-megaavr sources. Compare the current free-running overflow approach with periodic one-millisecond interrupts, then verify that millis() remains accurate and existing timer behavior is preserved.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.