feat(interrupt): Add API for tracking and getting the min queue size #344
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Interupt
to track the minimum number of free spaces in the queue and an API for querying it, over the lifetime of the objectMotivation and Context
In complex systems with many tasks and many interrupts, there is a chance that the configured interrupt queue size (default=10) is too small and may fill up, causing some interrupts to be missed.
This may also help to indicate if there is additional filtering required on the interrupt line (either using the
espp::Interrupt::FilterType
config or by implementing hardware filtering).This may also occur if the interrupt handler task priority is too low and there are many other tasks in the system starving the interrupt task of CPU time.
How has this been tested?
Building and running the
interrupt/example
on a QtPy ESP32s3.Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):
Types of changes
Checklist:
Software
.github/workflows/build.yml
file to add my new test to the automated cloud build github action.