/*! @page q_extensions Extensions
*
* The QuarkTS++ extensions are interfaces that are integrated into the kernel to 
* provide additional and important functionalities.
*
* <b> To improve the cooperative model </b>
*
* @subpage q_fsm "Finite State Machines (FSM)" and @subpage q_qcoroutines "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.
* 
* <b> The overall timing primitive </b>
*
* A @subpage q_stimers "Timer" beyond being a simple extension, is a direct 
* dependency on the kernel. In fact, each task has an instance of Timer 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, Timers are 
* a non-blocking time measurement mechanism ideal for use in cooperative
* RTOS environments
* 
* By using Timers for delays, tasks can continue to execute while waiting for 
* the delay to expire, allowing other tasks to run. Timers are also a dependency 
* for coroutines and FSMs in order to manage timed operations efficiently.
* 
* Always consider using Timers for operations that require elapsed time
* measurement or intra-task delays to efficiently preserve the cooperative 
* multitasking scheme.
*
* <b> Last but not least </b>
*
* @subpage q_atcli "AT Command Line Interface (CLI)"
*
* @subpage q_memmang "Memory Management"
*
* 
* 
* @subpage q_trace "Trace/Debugging"
*
*/