File croutine.h
FileList > FreeRTOS > include > croutine.h
Go to the source code of this file.
Classes
Public Types
Public Functions
Macros
Type |
Name |
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) ( ( CRCB_t * )( xHandle ) )->uxState = (__LINE__ * 2); return; case (__LINE__ * 2):
|
define |
crSET_STATE1 (xHandle) ( ( CRCB_t * )( xHandle ) )->uxState = ((__LINE__ * 2)+1); return; case ((__LINE__ * 2)+1):
|
define |
crSTART (pxCRCB) switch( ( ( CRCB_t * )( pxCRCB ) )->uxState ) { case 0:
|
Public Types Documentation
typedef CRCB_t
typedef struct corCoRoutineControlBlock CRCB_t;
typedef CoRoutineHandle_t
typedef void* CoRoutineHandle_t;
typedef crCOROUTINE_CODE
typedef void(* crCOROUTINE_CODE) (CoRoutineHandle_t, UBaseType_t);
Public Functions Documentation
function vCoRoutineAddToDelayedList
void vCoRoutineAddToDelayedList (
TickType_t xTicksToDelay,
List_t * pxEventList
)
function vCoRoutineSchedule
void vCoRoutineSchedule (
void
)
function xCoRoutineCreate
BaseType_t xCoRoutineCreate (
crCOROUTINE_CODE pxCoRoutineCode,
UBaseType_t uxPriority,
UBaseType_t uxIndex
)
function xCoRoutineRemoveFromEventList
BaseType_t xCoRoutineRemoveFromEventList (
const List_t * pxEventList
)
Macro Definition Documentation
define crDELAY
#define crDELAY (
xHandle,
xTicksToDelay
) if( ( xTicksToDelay ) > 0 ) \
{ \
vCoRoutineAddToDelayedList( ( xTicksToDelay ), NULL ); \
} \
crSET_STATE0( ( xHandle ) );
define crEND
define crQUEUE_RECEIVE
#define crQUEUE_RECEIVE (
xHandle,
pxQueue,
pvBuffer,
xTicksToWait,
pxResult
) { \
*( pxResult ) = xQueueCRReceive( ( pxQueue) , ( pvBuffer ), ( xTicksToWait ) ); \
if( *( pxResult ) == errQUEUE_BLOCKED ) \
{ \
crSET_STATE0( ( xHandle ) ); \
*( pxResult ) = xQueueCRReceive( ( pxQueue) , ( pvBuffer ), 0 ); \
} \
if( *( pxResult ) == errQUEUE_YIELD ) \
{ \
crSET_STATE1( ( xHandle ) ); \
*( pxResult ) = pdPASS; \
} \
}
define crQUEUE_RECEIVE_FROM_ISR
#define crQUEUE_RECEIVE_FROM_ISR (
pxQueue,
pvBuffer,
pxCoRoutineWoken
) xQueueCRReceiveFromISR( ( pxQueue ), ( pvBuffer ), ( pxCoRoutineWoken ) )
define crQUEUE_SEND
#define crQUEUE_SEND (
xHandle,
pxQueue,
pvItemToQueue,
xTicksToWait,
pxResult
) { \
*( pxResult ) = xQueueCRSend( ( pxQueue) , ( pvItemToQueue) , ( xTicksToWait ) ); \
if( *( pxResult ) == errQUEUE_BLOCKED ) \
{ \
crSET_STATE0( ( xHandle ) ); \
*pxResult = xQueueCRSend( ( pxQueue ), ( pvItemToQueue ), 0 ); \
} \
if( *pxResult == errQUEUE_YIELD ) \
{ \
crSET_STATE1( ( xHandle ) ); \
*pxResult = pdPASS; \
} \
}
define crQUEUE_SEND_FROM_ISR
#define crQUEUE_SEND_FROM_ISR (
pxQueue,
pvItemToQueue,
xCoRoutinePreviouslyWoken
) xQueueCRSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( xCoRoutinePreviouslyWoken ) )
define crSET_STATE0
#define crSET_STATE0 (
xHandle
) ( ( CRCB_t * )( xHandle ) )->uxState = (__LINE__ * 2); return; case (__LINE__ * 2):
define crSET_STATE1
#define crSET_STATE1 (
xHandle
) ( ( CRCB_t * )( xHandle ) )->uxState = ((__LINE__ * 2)+1); return; case ((__LINE__ * 2)+1):
define crSTART
#define crSTART (
pxCRCB
) switch( ( ( CRCB_t * )( pxCRCB ) )->uxState ) { case 0:
The documentation for this class was generated from the following file fw/rbcx-coprocessor/lib/FreeRTOS/include/croutine.h