OS  v7.3.3
Documentation
Extensions

The QuarkTS extensions are interfaces that are integrated into the kernel to provide additional and important functionalities.

To improve the cooperative model

Finite State Machines (FSM) and Co-Routines are two important extensions for a cooperative RTOS because they can enable more efficient and predictable multitasking behavior.

In a cooperative RTOS, tasks must voluntarily yield control to the scheduler in order to allow other tasks to run. This means that it can be difficult to manage complex systems with many different states or to coordinate multiple tasks that need to communicate with each other.

Finite state machines provide a useful tool for modeling complex systems that have many different states and transitions. By implementing an FSM, an application can more easily manage state transitions and respond to different input events.

Coroutines, on the other hand, provide a programming construct that can improve the behavior of the RTC cooperative multitasking model. By allowing a task to suspend and resume its execution at specific points, coroutines can enable multiple tasks to run in a cooperative manner without requiring explicit context switching.

Overall, finite state machines and coroutines can be valuable tools for managing complex systems in a cooperative RTOS environment. By providing standardized ways to manage state transitions and enable cooperative multitasking, these tools can help simplify application development and improve system performance and reliability.

The overall timing primitive

A STimer beyond being a simple extension, is a direct dependency on the kernel. In fact, each task has an instance of STimer within its TCB (Task Control Block) to measure the passage of time and determine when a "time-elapsed" event needs to be generated. In summary, STimers are a non-blocking time measurement mechanism ideal for use in cooperative RTOS environments

By using STimers for delays, tasks can continue to execute while waiting for the delay to expire, allowing other tasks to run. STimers are also a dependency for coroutines and FSMs in order to manage timed operations efficiently.

Always consider using STimers for operations that require elapsed time measurement or intra-task delays to efficiently preserve the cooperative multitasking scheme.

Last but not least

AT Command Line Interface (CLI)

Memory Management

Trace/Debugging