docs: Update Code_Overview.md with more realistic task timing guidelines

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2022-05-17 11:46:09 -04:00
parent 95676343db
commit e8dc44a0ca
1 changed files with 6 additions and 3 deletions

View File

@ -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