From e8dc44a0cabb8bddacea753ba1d8bdc1a463c3ec Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 17 May 2022 11:46:09 -0400 Subject: [PATCH] docs: Update Code_Overview.md with more realistic task timing guidelines Signed-off-by: Kevin O'Connor --- docs/Code_Overview.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/Code_Overview.md b/docs/Code_Overview.md index 16854073..2afec1f8 100644 --- a/docs/Code_Overview.md +++ b/docs/Code_Overview.md @@ -58,9 +58,12 @@ functions are declared using the DECL_COMMAND() macro (see the Task, init, and command functions always run with interrupts enabled (however, they can temporarily disable interrupts if needed). These -functions should never pause, delay, or do any work that lasts more -than a few micro-seconds. These functions schedule work at specific -times by scheduling timers. +functions should avoid long pauses, delays, or do work that lasts a +significant time. These functions schedule work at specific times by +scheduling timers. Long delays in these "task" functions result in +scheduling jitter for other "tasks" - delays over 100us may become +noticeable, delays over 500us may result in command retransmissions, +delays over 100ms may result in watchdog reboots. Timer functions are scheduled by calling sched_add_timer() (located in **src/sched.c**). The scheduler code will arrange for the given