Skip to content

Safely schedule functional ISRs: follow-up to Schedule and FunctionalInterrupt fix #2747

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

Closed
wants to merge 16 commits into from

Conversation

dok-net
Copy link
Contributor

@dok-net dok-net commented May 6, 2019

This PR brings #2734 and #2743 full-circle:
Sketch-level support of only IRAM-safe ISRs as std::bind, std::function, or lambdas, plus regular C-style support for ISRs with void* argument.

dok-net added 16 commits May 2, 2019 09:45
…ndling:

- VIP treatment in general attach/detach/handling looks untidy:
  extern symbols without matching header include but copy&paste
  special under-the-hood c++ delete support, where everyone else has to do their own
  resource tracking as usual.
- FunctionalInterrupt is not used by anything inside core ESP32 Arduino for 8 months now,
  it can be a library, which reduces precious core size for everyone else.

This reverts commit ea61563.
…as example code.

It should be decided whether to reinstate these in the core, or make them an optional library.
…n attachInterruptArg().

This is sufficient for resource management - the function has static duration anyway.
…late the ISR in

ICACHE_RAM rule (ESP8266 core catches this).
… of non-IRAM ISRs

via C++ std::bind, std::function, or lambdas.
It is now a follow up to the introduction of Schedule.(h|cpp) into core, which supports
safe scheduling of non-IRAM ISRs as they are being scheduled synchronously to loop() in the
same task.
@me-no-dev
Copy link
Member

OMG 😮 I think all your PRs have intertwined. I would suggest you close them all and start again :)

@dok-net
Copy link
Contributor Author

dok-net commented May 11, 2019

@me-no-dev Not quite so, but not a completely wrong assessment of what's going on either ;-) ;-) ;-)
Issue #2748 still stands firmly.

@dok-net
Copy link
Contributor Author

dok-net commented May 11, 2019

TBD... closing.

@dok-net dok-net closed this May 11, 2019
@dok-net dok-net deleted the scheduled_isrs branch May 11, 2019 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants