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 Task, init, and command functions always run with interrupts enabled
(however, they can temporarily disable interrupts if needed). These (however, they can temporarily disable interrupts if needed). These
functions should never pause, delay, or do any work that lasts more functions should avoid long pauses, delays, or do work that lasts a
than a few micro-seconds. These functions schedule work at specific significant time. These functions schedule work at specific times by
times by scheduling timers. 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 Timer functions are scheduled by calling sched_add_timer() (located in
**src/sched.c**). The scheduler code will arrange for the given **src/sched.c**). The scheduler code will arrange for the given