13    #include "qcritical.h" 
   24    #ifndef Q_PRIORITY_LEVELS 
   25        #define Q_PRIORITY_LEVELS           ( 3 ) 
   28    #ifndef Q_SETUP_TIME_CANONICAL 
   29        #define Q_SETUP_TIME_CANONICAL      ( 0 ) 
   32    #ifndef Q_SETUP_TICK_IN_HERTZ 
   33        #define Q_SETUP_TICK_IN_HERTZ       ( 0 ) 
   36    #ifndef Q_PRIO_QUEUE_SIZE 
   37        #define Q_PRIO_QUEUE_SIZE           ( 3 ) 
   40    #ifndef Q_PRESERVE_TASK_ENTRY_ORDER 
   41        #define Q_PRESERVE_TASK_ENTRY_ORDER ( 0 ) 
   44    #ifndef Q_NOTIFICATION_SPREADER 
   45        #define Q_NOTIFICATION_SPREADER     ( 1 ) 
   48    #ifndef Q_ALLOW_SCHEDULER_RELEASE 
   49        #define Q_ALLOW_SCHEDULER_RELEASE   ( 1 ) 
   53        #define Q_QUEUES                    ( 1 ) 
   56    #if ( Q_PRIORITY_LEVELS < 1 ) 
   57        #error Q_PRIORITY_LEVELS must be defined to be greater than or equal to 1. 
   71    #define qLowest_Priority        ( (qPriority_t)0U ) 
   74    #define qMedium_Priority        ( (qPriority_t)( Q_PRIORITY_LEVELS >> 1 ) ) 
   77    #define qHigh_Priority          ( (qPriority_t)( Q_PRIORITY_LEVELS - 1U ) ) 
   80    #define qPeriodic               ( (qIteration_t)INT32_MIN ) 
   83    #define qIndefinite             ( qPeriodic ) 
   86    #define qSingleShot             ( (qIteration_t)1 ) 
   88    #if (Q_SETUP_TIME_CANONICAL == 1) 
   91                           void(*coreIdleFcn)(
void) );
 
  145                           void(*coreIdleFcn)(
void) );
 
  156    #if ( Q_ALLOW_SCHEDULER_RELEASE == 1 ) 
  162        qBool_t qOS_Scheduler_Release( 
void );
 
  331    #if ( Q_ALLOW_YIELD_TO_TASK == 1 ) 
qClock_t(* qGetTickFcn_t)(void)
Pointer to Function type qGetTickFcn_t : A function to get the hardware tick value.
Definition qclock.h:81
 
qFloat32_t qTime_t
The typedef that specified an time quantity, usually expressed in seconds.
Definition qclock.h:33
 
#define qTimingBase_t
A macro to specify a qTime_t type for time-base APIs.
Definition qclock.h:62
 
qBool_t qOS_Notification_Spread(void *eventData, const qTask_NotifyMode_t mode)
Try to spread a notification among all the tasks in the scheduling scheme.
Definition qkernel.c:234
 
qTask_NotifyMode_t
An enum that defines the modes in which a notification can be spread.
Definition qtasks.h:327
 
qBool_t qOS_Add_Task(qTask_t *const Task, qTaskFcn_t callbackFcn, const qPriority_t p, const qTime_t t, const qIteration_t n, const qState_t init, void *arg)
Add a task to the scheduling scheme. The task is scheduled to run every t seconds,...
Definition qkernel.c:433
 
qBool_t qOS_Remove_Task(qTask_t *const Task)
Remove the task from the scheduling scheme.
Definition qkernel.c:614
 
qBool_t qOS_Setup(const qGetTickFcn_t tFcn, const qTimingBase_t t, qTaskFcn_t idleCallback, void(*coreIdleFcn)(void))
Task Scheduler Setup. This function is required and must be called once in the application main threa...
Definition qkernel.c:128
 
qBool_t qOS_Set_CoreIdleFcn(void(*pFcn)(void))
Set the function that puts the CPU into a low-power or idle state until an interrupt occurs.
Definition qkernel.c:220
 
qBool_t qOS_Set_IdleTask(qTaskFcn_t callbackFcn)
Set/Change the callback for the Idle-task.
Definition qkernel.c:184
 
qBool_t qOS_Run(void)
Executes the scheduling scheme. It must be called once after the task pool has been defined.
Definition qkernel.c:703
 
qBool_t qOS_YieldToTask(qTask_t *const Task)
Yield the control of the current running task to another task.
Definition qkernel.c:1155
 
qBool_t qOS_Add_EventTask(qTask_t *const Task, qTaskFcn_t callbackFcn, const qPriority_t p, void *arg)
Add a task to the scheduling scheme. This API creates a task with a qDisabled state by default,...
Definition qkernel.c:492
 
qBool_t qOS_Add_StateMachineTask(qTask_t *const Task, qSM_t *m, const qPriority_t p, const qTime_t t, const qState_t init, void *arg)
Add a task to the scheduling scheme running a dedicated state-machine. The task is scheduled to run e...
Definition qkernel.c:507
 
qBool_t qOS_Add_ATCLITask(qTask_t *const Task, qATCLI_t *cli, const qPriority_t p, void *arg)
Add a task to the scheduling scheme running an AT Command Line Interface. Task will be scheduled as e...
Definition qkernel.c:563
 
void(* qTaskFcn_t)(qEvent_t arg)
Pointer to a task callback.
Definition qtasks.h:223
 
qUINT8_t qBool_t
A type to instantiate an OS boolean variable.
Definition qtypes.h:139
 
qINT32_t qIteration_t
A type to instantiate a variable that hold the number of task iterations.
Definition qtypes.h:129
 
qUINT8_t qState_t
A type to instantiate an OS state value.
Definition qtypes.h:134
 
qUINT8_t qPriority_t
A type to instantiate a variable to hold the priority value of a task.
Definition qtypes.h:123
 
An AT Command Line Interface (CLI) object.
Definition qatcli.h:202
 
A FSM(Finite State Machine) object.
Definition qfsm.h:387
 
A task node object.
Definition qtasks.h:268