Microchip® Advanced Software Framework

croutine.c File Reference
#include "include/FreeRTOS.h"
#include "include/task.h"
#include "include/croutine.h"

Macros

#define corINITIAL_STATE   ( 0 )
 
#define prvAddCoRoutineToReadyQueue(pxCRCB)
 

Functions

static void prvCheckDelayedList (void)
 
static void prvCheckPendingReadyList (void)
 
static void prvInitialiseCoRoutineLists (void)
 
void vCoRoutineAddToDelayedList (portTickType xTicksToDelay, xList *pxEventList)
 
void vCoRoutineSchedule (void)
 
signed portBASE_TYPE xCoRoutineCreate (crCOROUTINE_CODE pxCoRoutineCode, unsigned portBASE_TYPE uxPriority, unsigned portBASE_TYPE uxIndex)
 
signed portBASE_TYPE xCoRoutineRemoveFromEventList (const xList *pxEventList)
 

Variables

corCRCBpxCurrentCoRoutine = NULL
 
static xListpxDelayedCoRoutineList
 
static xListpxOverflowDelayedCoRoutineList
 
static xList pxReadyCoRoutineLists [configMAX_CO_ROUTINE_PRIORITIES]
 
static unsigned portBASE_TYPE uxTopCoRoutineReadyPriority = 0
 
static portTickType xCoRoutineTickCount = 0
 
static xList xDelayedCoRoutineList1
 
static xList xDelayedCoRoutineList2
 
static portTickType xLastTickCount = 0
 
static portTickType xPassedTicks = 0
 
static xList xPendingReadyCoRoutineList
 

#define corINITIAL_STATE   ( 0 )

Referenced by xCoRoutineCreate().

#define prvAddCoRoutineToReadyQueue (   pxCRCB)
Value:
{ \
if( pxCRCB->uxPriority > uxTopCoRoutineReadyPriority ) \
{ \
uxTopCoRoutineReadyPriority = pxCRCB->uxPriority; \
} \
vListInsertEnd( ( xList * ) &( pxReadyCoRoutineLists[ pxCRCB->uxPriority ] ), &( pxCRCB->xGenericListItem ) ); \
}
static unsigned portBASE_TYPE uxTopCoRoutineReadyPriority
Definition: croutine.c:83
static xList pxReadyCoRoutineLists[configMAX_CO_ROUTINE_PRIORITIES]
Definition: croutine.c:74
void vListInsertEnd(xList *pxList, xListItem *pxNewListItem)
Definition: list.c:96
Definition: list.h:119

Referenced by prvCheckDelayedList(), prvCheckPendingReadyList(), and xCoRoutineCreate().

static void prvInitialiseCoRoutineLists ( void  )
static
void vCoRoutineAddToDelayedList ( portTickType  xTicksToDelay,
xList pxEventList 
)
signed portBASE_TYPE xCoRoutineRemoveFromEventList ( const xList pxEventList)

corCRCB* pxCurrentCoRoutine = NULL
xList* pxDelayedCoRoutineList
static

Referenced by prvCheckDelayedList().

xList* pxOverflowDelayedCoRoutineList
static

Referenced by prvCheckDelayedList().

xList pxReadyCoRoutineLists[configMAX_CO_ROUTINE_PRIORITIES]
static
unsigned portBASE_TYPE uxTopCoRoutineReadyPriority = 0
static

Referenced by vCoRoutineSchedule().

portTickType xCoRoutineTickCount = 0
static
xList xDelayedCoRoutineList1
static
xList xDelayedCoRoutineList2
static
portTickType xLastTickCount = 0
static

Referenced by prvCheckDelayedList().

portTickType xPassedTicks = 0
static

Referenced by prvCheckDelayedList().

xList xPendingReadyCoRoutineList
static