Add test for backlogged auto-reload timer (#553)

* Add test for backlogged auto-reset timer

Must call vTimerDemoIncludeBacklogTests() to activate.

* Fix little style issues

- Update to new header
- Add parentheses (style)
- Remove trailing space accidentally introduced

* Don't verify full clearing of backlog

The timer task should be free to process the stop request without a
specific requirement to work through the backlog of callbacks for the
stopped timer.  The timer task should be allowed to cancel the entire
backlog, part of it, or none of it.  In other words, once the
application sends the stop request, it should not depend on receiving
any more callbacks, even backlogged ones.

The only requirement here is that the timer stop as requested.

Co-authored-by: Joseph Julicher <jjulicher@mac.com>
Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
This commit is contained in:
Jeff Tenney 2021-04-12 16:39:17 -07:00 committed by GitHub
parent 1f47a22b23
commit f2bcfb3866
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 94 additions and 8 deletions

View file

@ -19,10 +19,9 @@
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* http://www.FreeRTOS.org
* http://aws.amazon.com/freertos
* https://www.FreeRTOS.org
* https://github.com/FreeRTOS
*
* 1 tab == 4 spaces!
*/
#ifndef TIMER_DEMO_H
@ -31,6 +30,7 @@
void vStartTimerDemoTask( TickType_t xBaseFrequencyIn );
BaseType_t xAreTimerDemoTasksStillRunning( TickType_t xCycleFrequency );
void vTimerPeriodicISRTests( void );
void vTimerDemoIncludeBacklogTests( BaseType_t includeBacklogTests );
#endif /* TIMER_DEMO_H */