#include "list.h"
Data Structures | |
struct | corCoRoutineControlBlock |
Macros | |
#define | crDELAY(xHandle, xTicksToDelay) |
#define | crEND() } |
#define | crQUEUE_RECEIVE(xHandle, pxQueue, pvBuffer, xTicksToWait, pxResult) |
#define | crQUEUE_RECEIVE_FROM_ISR(pxQueue, pvBuffer, pxCoRoutineWoken) xQueueCRReceiveFromISR( ( pxQueue ), ( pvBuffer ), ( pxCoRoutineWoken ) ) |
#define | crQUEUE_SEND(xHandle, pxQueue, pvItemToQueue, xTicksToWait, pxResult) |
#define | crQUEUE_SEND_FROM_ISR(pxQueue, pvItemToQueue, xCoRoutinePreviouslyWoken) xQueueCRSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( xCoRoutinePreviouslyWoken ) ) |
#define | crSET_STATE0(xHandle) ( ( corCRCB * )( xHandle ) )->uxState = (__LINE__ * 2); return; case (__LINE__ * 2): |
#define | crSET_STATE1(xHandle) ( ( corCRCB * )( xHandle ) )->uxState = ((__LINE__ * 2)+1); return; case ((__LINE__ * 2)+1): |
#define | crSTART(pxCRCB) switch( ( ( corCRCB * )( pxCRCB ) )->uxState ) { case 0: |
Typedefs | |
typedef struct corCoRoutineControlBlock | corCRCB |
typedef void(* | crCOROUTINE_CODE )(xCoRoutineHandle, unsigned portBASE_TYPE) |
typedef void * | xCoRoutineHandle |
Functions | |
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) |
#define crDELAY | ( | xHandle, | |
xTicksToDelay | |||
) |
#define crEND | ( | ) | } |
#define crQUEUE_RECEIVE | ( | xHandle, | |
pxQueue, | |||
pvBuffer, | |||
xTicksToWait, | |||
pxResult | |||
) |
#define crQUEUE_RECEIVE_FROM_ISR | ( | pxQueue, | |
pvBuffer, | |||
pxCoRoutineWoken | |||
) | xQueueCRReceiveFromISR( ( pxQueue ), ( pvBuffer ), ( pxCoRoutineWoken ) ) |
#define crQUEUE_SEND | ( | xHandle, | |
pxQueue, | |||
pvItemToQueue, | |||
xTicksToWait, | |||
pxResult | |||
) |
#define crQUEUE_SEND_FROM_ISR | ( | pxQueue, | |
pvItemToQueue, | |||
xCoRoutinePreviouslyWoken | |||
) | xQueueCRSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( xCoRoutinePreviouslyWoken ) ) |
#define crSET_STATE0 | ( | xHandle | ) | ( ( corCRCB * )( xHandle ) )->uxState = (__LINE__ * 2); return; case (__LINE__ * 2): |
#define crSET_STATE1 | ( | xHandle | ) | ( ( corCRCB * )( xHandle ) )->uxState = ((__LINE__ * 2)+1); return; case ((__LINE__ * 2)+1): |
#define crSTART | ( | pxCRCB | ) | switch( ( ( corCRCB * )( pxCRCB ) )->uxState ) { case 0: |
typedef struct corCoRoutineControlBlock corCRCB |
typedef void(* crCOROUTINE_CODE)(xCoRoutineHandle, unsigned portBASE_TYPE) |
typedef void* xCoRoutineHandle |
void vCoRoutineAddToDelayedList | ( | portTickType | xTicksToDelay, |
xList * | pxEventList | ||
) |
void vCoRoutineSchedule | ( | void | ) |
signed portBASE_TYPE xCoRoutineCreate | ( | crCOROUTINE_CODE | pxCoRoutineCode, |
unsigned portBASE_TYPE | uxPriority, | ||
unsigned portBASE_TYPE | uxIndex | ||
) |
References corINITIAL_STATE, errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY, listSET_LIST_ITEM_OWNER, listSET_LIST_ITEM_VALUE, NULL, pdPASS, portTickType, prvAddCoRoutineToReadyQueue, prvInitialiseCoRoutineLists(), pvPortMalloc(), corCoRoutineControlBlock::pxCoRoutineFunction, corCoRoutineControlBlock::uxIndex, corCoRoutineControlBlock::uxPriority, corCoRoutineControlBlock::uxState, vListInitialiseItem(), corCoRoutineControlBlock::xEventListItem, and corCoRoutineControlBlock::xGenericListItem.
signed portBASE_TYPE xCoRoutineRemoveFromEventList | ( | const xList * | pxEventList | ) |