Support configuration of the scheduler tick source by client #119
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.
This PR offers better control over the scheduler tick sources while keeping full compatibility to the default setting of WDT 15ms. Those developers who use WDT tick source won't need to change anything.
Main point for externalizing the configuration and ISR function is that their implementation fully dependent on the nature of ticks source used. Giving full control over these functions to the app developer is better from the architectural standpoint, because he is the one who knows the concrete timing source used. Supporting all possible variations within Arduino_FreeRTOS would bloat the codebase and increase our burden of testing.
Long story short, Arduino_FreeRTOS expects the app developer to provide two functions:
A) the initialization of their tick source, and
B) the ISR handler for it.
Documentation how to do it and code example are provided.
PR tested on actual device Atmega2560 with Timer0 as tick source.