Added warning for known priority issue

This commit is contained in:
dario 2025-01-18 22:51:12 +01:00
parent c307aff3d5
commit 07b19c5a3b

View File

@ -377,10 +377,13 @@ Every thread running in your TACOS project has a priority that the underlying RT
We conclude this section with a short list of design principles that have been useful in previous projects: We conclude this section with a short list of design principles that have been useful in previous projects:
* Find a base priority (usually `osPriorityNormal`) that all threads should have by default. Those are then scheduled via round-robin. * Find a base priority (usually `osPriorityNormal`) that all threads should have by default. Those are then scheduled via round-robin.
* There is no reason for your logger to log with 1KHz. Use thread blocking to limit the amount of computing time a thread consumes. For example, this could be the method `sleep(ms)` that the TacosThread class provides. It's also always a good idea to use interrupts in combination with RtosEvents (discussed later). * There is no reason for your radio thread to check for incoming messages every two milliseconds. Use thread blocking to limit the amount of computing time a thread consumes. For example, this could be the method `sleep(ms)` that the TacosThread class provides. It's also always a good idea to use interrupts in combination with RtosEvents (discussed later).
* What are more important tasks in your system? What tasks have strict time requirements? Find a new base priority (for example `osPriorityAboveNormal`) and assign it to all higher priority threads. Repeat this step if these threads are not equally important. * What are more important tasks in your system? What tasks have strict time requirements? Find a new base priority (for example `osPriorityAboveNormal`) and assign it to all higher priority threads. Repeat this step if these threads are not equally important.
* Use global timers in combination with events (as dicussed later in this chapter) to ensure that threads are unblocked at different times. * Use global timers in combination with events (as dicussed later in this chapter) to ensure that threads are unblocked at different times.
> [!WARNING]
> The priorities of your threads must always be lower than the priority of the Statemachine in TACOS. Per default, the the statemachine has priority `osPriorityHigh`.
### Using Inter-Thread Communication ### Using Inter-Thread Communication
This section serves to give you a brief overview of both the fundamental building blocks and useful design patterns for inter-thread communication. This section serves to give you a brief overview of both the fundamental building blocks and useful design patterns for inter-thread communication.