76 #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE 88 #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE 90 #if ( INCLUDE_xEventGroupSetBitFromISR == 1 ) && ( configUSE_TIMERS == 0 ) 91 #error configUSE_TIMERS must be set to 1 to make the xEventGroupSetBitFromISR() function available. 94 #if ( INCLUDE_xEventGroupSetBitFromISR == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 0 ) 95 #error INCLUDE_xTimerPendFunctionCall must also be set to one to make the xEventGroupSetBitFromISR() function available. 101 #if configUSE_16_BIT_TICKS == 1 102 #define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100U 103 #define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200U 104 #define eventWAIT_FOR_ALL_BITS 0x0400U 105 #define eventEVENT_BITS_CONTROL_BYTES 0xff00U 107 #define eventCLEAR_EVENTS_ON_EXIT_BIT 0x01000000UL 108 #define eventUNBLOCKED_DUE_TO_BIT_SET 0x02000000UL 109 #define eventWAIT_FOR_ALL_BITS 0x04000000UL 110 #define eventEVENT_BITS_CONTROL_BYTES 0xff000000UL 118 #if( configUSE_TRACE_FACILITY == 1 ) 143 if( pxEventBits !=
NULL )
167 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) 179 if( ( ( uxOriginalBitValue | uxBitsToSet ) & uxBitsToWaitFor ) == uxBitsToWaitFor )
182 uxReturn = ( uxOriginalBitValue | uxBitsToSet );
219 if( xAlreadyYielded ==
pdFALSE )
245 if( ( uxReturn & uxBitsToWaitFor ) == uxBitsToWaitFor )
256 xTimeoutOccurred =
pdTRUE;
265 uxReturn &= ~eventEVENT_BITS_CONTROL_BYTES;
278 BaseType_t xWaitConditionMet, xAlreadyYielded;
286 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) 297 xWaitConditionMet = prvTestWaitCondition( uxCurrentEventBits, uxBitsToWaitFor, xWaitForAllBits );
299 if( xWaitConditionMet !=
pdFALSE )
303 uxReturn = uxCurrentEventBits;
320 uxReturn = uxCurrentEventBits;
337 if( xWaitForAllBits !=
pdFALSE )
363 if( xAlreadyYielded ==
pdFALSE )
387 if( prvTestWaitCondition( uxReturn, uxBitsToWaitFor, xWaitForAllBits ) !=
pdFALSE )
414 uxReturn &= ~eventEVENT_BITS_CONTROL_BYTES;
449 #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) 485 EventBits_t uxBitsToClear = 0, uxBitsWaitedFor, uxControlBits;
506 while( pxListItem != pxListEnd )
514 uxBitsWaitedFor &= ~eventEVENT_BITS_CONTROL_BYTES;
528 else if( ( uxBitsWaitedFor & pxEventBits->
uxEventBits ) == uxBitsWaitedFor )
543 uxBitsToClear |= uxBitsWaitedFor;
617 if( xWaitForAllBits ==
pdFALSE )
621 if( ( uxCurrentEventBits & uxBitsToWaitFor ) != (
EventBits_t ) 0 )
623 xWaitConditionMet =
pdTRUE;
634 if( ( uxCurrentEventBits & uxBitsToWaitFor ) == uxBitsToWaitFor )
636 xWaitConditionMet =
pdTRUE;
644 return xWaitConditionMet;
648 #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) 663 #if (configUSE_TRACE_FACILITY == 1) 665 UBaseType_t uxEventGroupGetNumber(
void* xEventGroup )
670 if( xEventGroup ==
NULL )
676 xReturn = pxEventBits->uxEventGroupNumber;
#define xEventGroupSetBitsFromISR(xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken)
void vPortFree(void *pv) PRIVILEGED_FUNCTION
#define listGET_LIST_ITEM_VALUE(pxListItem)
BaseType_t xTimerPendFunctionCallFromISR(PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
#define traceEVENT_GROUP_SYNC_BLOCK(xEventGroup, uxBitsToSet, uxBitsToWaitFor)
struct xLIST_ITEM *configLIST_VOLATILE pxNext
void vEventGroupSetBitsCallback(void *pvEventGroup, const uint32_t ulBitsToSet)
#define mtCOVERAGE_TEST_MARKER()
#define taskEXIT_CRITICAL()
void vTaskSuspendAll(void) PRIVILEGED_FUNCTION
EventBits_t xEventGroupClearBits(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear)
#define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR(xEventGroup, uxBitsToClear)
void * pvPortMalloc(size_t xSize) PRIVILEGED_FUNCTION
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(uxSavedStatusValue)
#define portYIELD_WITHIN_API
void vTaskPlaceOnUnorderedEventList(List_t *pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION
void vEventGroupClearBitsCallback(void *pvEventGroup, const uint32_t ulBitsToClear)
unsigned long UBaseType_t
#define traceEVENT_GROUP_WAIT_BITS_BLOCK(xEventGroup, uxBitsToWaitFor)
EventBits_t xEventGroupGetBitsFromISR(EventGroupHandle_t xEventGroup)
#define traceEVENT_GROUP_SYNC_END(xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred)
#define portSET_INTERRUPT_MASK_FROM_ISR()
List_t xTasksWaitingForBits
#define traceEVENT_GROUP_CREATE_FAILED()
BaseType_t xTaskRemoveFromUnorderedEventList(ListItem_t *pxEventListItem, const TickType_t xItemValue) PRIVILEGED_FUNCTION
EventGroupHandle_t xEventGroupCreate(void)
#define traceEVENT_GROUP_CLEAR_BITS(xEventGroup, uxBitsToClear)
#define traceEVENT_GROUP_SET_BITS(xEventGroup, uxBitsToSet)
void vEventGroupDelete(EventGroupHandle_t xEventGroup)
#define eventCLEAR_EVENTS_ON_EXIT_BIT
#define listGET_NEXT(pxListItem)
EventBits_t xEventGroupSetBits(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet)
EventBits_t xEventGroupWaitBits(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
#define traceEVENT_GROUP_CREATE(xEventGroup)
TickType_t uxTaskResetEventItemValue(void) PRIVILEGED_FUNCTION
#define xEventGroupClearBitsFromISR(xEventGroup, uxBitsToClear)
#define traceEVENT_GROUP_WAIT_BITS_END(xEventGroup, uxBitsToWaitFor, xTimeoutOccurred)
#define traceEVENT_GROUP_DELETE(xEventGroup)
BaseType_t xTaskResumeAll(void) PRIVILEGED_FUNCTION
#define eventWAIT_FOR_ALL_BITS
BaseType_t xTaskGetSchedulerState(void) PRIVILEGED_FUNCTION
#define taskENTER_CRITICAL()
#define eventEVENT_BITS_CONTROL_BYTES
void * EventGroupHandle_t
#define listGET_HEAD_ENTRY(pxList)
#define traceEVENT_GROUP_SET_BITS_FROM_ISR(xEventGroup, uxBitsToSet)
#define listGET_END_MARKER(pxList)
#define taskSCHEDULER_SUSPENDED
#define eventUNBLOCKED_DUE_TO_BIT_SET
EventBits_t xEventGroupSync(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
#define listCURRENT_LIST_LENGTH(pxList)
struct xEventGroupDefinition EventGroup_t
void vListInitialise(List_t *const pxList) PRIVILEGED_FUNCTION