-
Notifications
You must be signed in to change notification settings - Fork 13.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pluggable Scheduler: Make entry points into sequential cont/user scheduler weak functions #6182
Conversation
Blink.ino before: After: |
@hreintke What do you think? Could you please check the FunctionalInterrupt/library.properties? |
a6e61f3
to
9f22320
Compare
d3943cb
to
e7daf1e
Compare
97d82df
to
56975b3
Compare
@d-a-v @earlephilhower @devyte This is 3 weeks old, and I am sorry, had gotten out of control somehow, being a PR containing a lot of unrelated changes. |
@d-a-v #6214 , why o' why... But of course my biggest gripe is that all my PRs need intensive care now 👎 |
I agree. I did what the majority told me. In some other comment it was clearly stated that scheduled functions should be allowed to run You can however use recurrent scheduled function like you do with scheduled function with
|
@d-a-v I'll see what I can do to the circular-queue based scheduler. First, I'd like to see the EspSoftwareSerial issue (#6227) through, the attachInterrupt fix/improvement is important (#6047 does away with #6055 and #6048 in one step), and getting this here pluggability into core would be awesome. |
Oh wait a minute - is this a suggestion for scheduled ISRs? Doing those without FIFO semantics is completely wrong. |
It's not a suggestion for scheduled ISR, there are conditions if you wish to do that, and one of them is "without fifo semantics".
Now if you think scheduled ISR should be called also from (see? I do my homework) |
dcfc9a0
to
f3d5c10
Compare
@d-a-v What's in master now doesn't work, I am sorry. Regression test using f5a882d is OK.
Just running
|
That one was hairy. It will be fixed by #6233 (I hadn't retested after change from |
@d-a-v Can you help me? Where's the discussion that led to implementing two separate lists for immediate and timed scheduled functions? Was there any proof of the efficiency of this? Is anybody in any way looking at my work with the lock-free data structure and using the timer for longer delays at all right now? |
5712e7c
to
d937f46
Compare
c760644
to
669502b
Compare
f7efedf
to
71bab7c
Compare
9d6bc10
to
bba72cc
Compare
…o libraries, too.
…result in another PR.
f377be7
to
789662e
Compare
Withdrawing this PR - existing Scheduler in core has received patches, works nicely, belongs in core. |
For sketches that don't use libraries depending on a user scheduler, this PR helps eliminate the Scheduler from the binaries, saving memory. To complete this, the Scheduler would have to be moved from core to the libraries.
Also, plugging different schedulers becomes more obvious to do.
Questions:
loop_completed()
andyield_completed()
?