arduino / arduino/ArduinoCore-megaavr

Compatibility: delay() should call yield()

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

Description

In official AVR Arduino core, delay() is based on yield(), which is turn has weak binding and is overridable.
I am asking that delay() on any Arduino platform must call yield() at least once, preferably at the end of delay(), for compatibility with libraries like Scheduler and similar implementations.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the Arduino core entry points for delay() and yield(), then inspect how delay() currently behaves on this ATMEGA4809 core. Done means delay() invokes yield() at least once, preferably at the end, while preserving compatibility with Scheduler and similar libraries.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.