aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2022-05-17 11:46:09 -0400
committerKevin O'Connor <kevin@koconnor.net>2022-05-17 11:46:38 -0400
commite8dc44a0cabb8bddacea753ba1d8bdc1a463c3ec (patch)
treea11810277f463cda52a0eed2f44a43ad88030dde /docs
parent95676343db8c040e840eabeff88f819d1c02f4a3 (diff)
downloadkutter-e8dc44a0cabb8bddacea753ba1d8bdc1a463c3ec.tar.gz
kutter-e8dc44a0cabb8bddacea753ba1d8bdc1a463c3ec.tar.xz
kutter-e8dc44a0cabb8bddacea753ba1d8bdc1a463c3ec.zip
docs: Update Code_Overview.md with more realistic task timing guidelines
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'docs')
-rw-r--r--docs/Code_Overview.md9
1 files 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