Macros | |
#define | corINITIAL_STATE ( 0 ) |
#define | prvAddCoRoutineToReadyQueue(pxCRCB) |
Functions | |
static void | prvCheckDelayedList (void) |
static void | prvCheckPendingReadyList (void) |
static void | prvInitialiseCoRoutineLists (void) |
void | vCoRoutineAddToDelayedList (TickType_t xTicksToDelay, List_t *pxEventList) |
void | vCoRoutineSchedule (void) |
BaseType_t | xCoRoutineCreate (crCOROUTINE_CODE pxCoRoutineCode, UBaseType_t uxPriority, UBaseType_t uxIndex) |
BaseType_t | xCoRoutineRemoveFromEventList (const List_t *pxEventList) |
Variables | |
CRCB_t * | pxCurrentCoRoutine = NULL |
static List_t * | pxDelayedCoRoutineList |
static List_t * | pxOverflowDelayedCoRoutineList |
static List_t | pxReadyCoRoutineLists [configMAX_CO_ROUTINE_PRIORITIES] |
static UBaseType_t | uxTopCoRoutineReadyPriority = 0 |
static TickType_t | xCoRoutineTickCount = 0 |
static List_t | xDelayedCoRoutineList1 |
static List_t | xDelayedCoRoutineList2 |
static TickType_t | xLastTickCount = 0 |
static TickType_t | xPassedTicks = 0 |
static List_t | xPendingReadyCoRoutineList |
#define corINITIAL_STATE ( 0 ) |
Referenced by xCoRoutineCreate().
#define prvAddCoRoutineToReadyQueue | ( | pxCRCB | ) |
Referenced by prvCheckDelayedList(), prvCheckPendingReadyList(), and xCoRoutineCreate().
|
static |
References listGET_LIST_ITEM_VALUE, listGET_OWNER_OF_HEAD_ENTRY, listLIST_IS_EMPTY, pdFALSE, prvAddCoRoutineToReadyQueue, xLIST_ITEM::pvContainer, pxDelayedCoRoutineList, pxOverflowDelayedCoRoutineList, uxListRemove(), xCoRoutineTickCount, corCoRoutineControlBlock::xEventListItem, corCoRoutineControlBlock::xGenericListItem, xLastTickCount, xPassedTicks, and xTaskGetTickCount().
Referenced by vCoRoutineSchedule().
|
static |
|
static |
References configMAX_CO_ROUTINE_PRIORITIES, vListInitialise(), xDelayedCoRoutineList1, and xDelayedCoRoutineList2.
Referenced by xCoRoutineCreate().
void vCoRoutineAddToDelayedList | ( | TickType_t | xTicksToDelay, |
List_t * | pxEventList | ||
) |
References listSET_LIST_ITEM_VALUE, uxListRemove(), vListInsert(), xCoRoutineTickCount, corCoRoutineControlBlock::xEventListItem, and corCoRoutineControlBlock::xGenericListItem.
Referenced by xQueueCRReceive(), and xQueueCRSend().
void vCoRoutineSchedule | ( | void | ) |
BaseType_t xCoRoutineCreate | ( | crCOROUTINE_CODE | pxCoRoutineCode, |
UBaseType_t | uxPriority, | ||
UBaseType_t | uxIndex | ||
) |
References configMAX_CO_ROUTINE_PRIORITIES, corINITIAL_STATE, errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY, listSET_LIST_ITEM_OWNER, listSET_LIST_ITEM_VALUE, pdPASS, prvAddCoRoutineToReadyQueue, prvInitialiseCoRoutineLists(), pvPortMalloc(), corCoRoutineControlBlock::pxCoRoutineFunction, corCoRoutineControlBlock::uxIndex, corCoRoutineControlBlock::uxPriority, corCoRoutineControlBlock::uxState, vListInitialiseItem(), corCoRoutineControlBlock::xEventListItem, and corCoRoutineControlBlock::xGenericListItem.
Referenced by demo_co_routines_init().
BaseType_t xCoRoutineRemoveFromEventList | ( | const List_t * | pxEventList | ) |
CRCB_t* pxCurrentCoRoutine = NULL |
|
static |
Referenced by prvCheckDelayedList().
|
static |
Referenced by prvCheckDelayedList().
|
static |
|
static |
Referenced by vCoRoutineSchedule().
|
static |
Referenced by prvCheckDelayedList(), and vCoRoutineAddToDelayedList().
|
static |
Referenced by prvInitialiseCoRoutineLists().
|
static |
Referenced by prvInitialiseCoRoutineLists().
|
static |
Referenced by prvCheckDelayedList().
|
static |
Referenced by prvCheckDelayedList().
|
static |