Microchip® Advanced Software Framework

freertos-7.0.0/source/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 xList pxReadyCoRoutineLists[configMAX_CO_ROUTINE_PRIORITIES]
Definition: freertos-7.0.0/source/croutine.c:74
void vListInsertEnd(xList *pxList, xListItem *pxNewListItem)
Definition: freertos-7.3.0/source/list.c:105
if(memp!=NULL)
Definition: src/core/memp.c:407
Definition: freertos-7.3.0/source/include/list.h:128
static unsigned portBASE_TYPE uxTopCoRoutineReadyPriority
Definition: freertos-7.0.0/source/croutine.c:83

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

static void prvInitialiseCoRoutineLists ( void  )
static
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