35 #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE 47 #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE 52 #if configUSE_16_BIT_TICKS == 1 53 #define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100U 54 #define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200U 55 #define eventWAIT_FOR_ALL_BITS 0x0400U 56 #define eventEVENT_BITS_CONTROL_BYTES 0xff00U 58 #define eventCLEAR_EVENTS_ON_EXIT_BIT 0x01000000UL 59 #define eventUNBLOCKED_DUE_TO_BIT_SET 0x02000000UL 60 #define eventWAIT_FOR_ALL_BITS 0x04000000UL 61 #define eventEVENT_BITS_CONTROL_BYTES 0xff000000UL 69 #if( configUSE_TRACE_FACILITY == 1 ) 73 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) 74 uint8_t ucStaticallyAllocated;
92 #if( configSUPPORT_STATIC_ALLOCATION == 1 ) 101 #if( configASSERT_DEFINED == 1 ) 114 if( pxEventBits !=
NULL )
119 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) 124 pxEventBits->ucStaticallyAllocated =
pdTRUE;
141 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) 150 if( pxEventBits !=
NULL )
155 #if( configSUPPORT_STATIC_ALLOCATION == 1 ) 160 pxEventBits->ucStaticallyAllocated =
pdFALSE;
186 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) 198 if( ( ( uxOriginalBitValue | uxBitsToSet ) & uxBitsToWaitFor ) == uxBitsToWaitFor )
201 uxReturn = ( uxOriginalBitValue | uxBitsToSet );
231 xTimeoutOccurred =
pdTRUE;
239 if( xAlreadyYielded ==
pdFALSE )
265 if( ( uxReturn & uxBitsToWaitFor ) == uxBitsToWaitFor )
276 xTimeoutOccurred =
pdTRUE;
285 uxReturn &= ~eventEVENT_BITS_CONTROL_BYTES;
291 ( void ) xTimeoutOccurred;
301 BaseType_t xWaitConditionMet, xAlreadyYielded;
309 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) 320 xWaitConditionMet =
prvTestWaitCondition( uxCurrentEventBits, uxBitsToWaitFor, xWaitForAllBits );
322 if( xWaitConditionMet !=
pdFALSE )
326 uxReturn = uxCurrentEventBits;
343 uxReturn = uxCurrentEventBits;
344 xTimeoutOccurred =
pdTRUE;
361 if( xWaitForAllBits !=
pdFALSE )
387 if( xAlreadyYielded ==
pdFALSE )
426 xTimeoutOccurred =
pdTRUE;
436 uxReturn &= ~eventEVENT_BITS_CONTROL_BYTES;
441 ( void ) xTimeoutOccurred;
474 #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) 510 EventBits_t uxBitsToClear = 0, uxBitsWaitedFor, uxControlBits;
531 while( pxListItem != pxListEnd )
539 uxBitsWaitedFor &= ~eventEVENT_BITS_CONTROL_BYTES;
553 else if( ( uxBitsWaitedFor & pxEventBits->
uxEventBits ) == uxBitsWaitedFor )
568 uxBitsToClear |= uxBitsWaitedFor;
616 #if( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 0 ) ) 622 #elif( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) 626 if( pxEventBits->ucStaticallyAllocated == ( uint8_t )
pdFALSE )
661 if( xWaitForAllBits ==
pdFALSE )
665 if( ( uxCurrentEventBits & uxBitsToWaitFor ) != (
EventBits_t ) 0 )
667 xWaitConditionMet =
pdTRUE;
678 if( ( uxCurrentEventBits & uxBitsToWaitFor ) == uxBitsToWaitFor )
680 xWaitConditionMet =
pdTRUE;
688 return xWaitConditionMet;
692 #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) 707 #if (configUSE_TRACE_FACILITY == 1) 709 UBaseType_t uxEventGroupGetNumber(
void* xEventGroup )
714 if( xEventGroup ==
NULL )
720 xReturn = pxEventBits->uxEventGroupNumber;
729 #if ( configUSE_TRACE_FACILITY == 1 ) 731 void vEventGroupSetNumber(
void * xEventGroup,
UBaseType_t uxEventGroupNumber )
733 ( (
EventGroup_t * ) xEventGroup )->uxEventGroupNumber = 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
struct xLIST_ITEM *configLIST_VOLATILE pxNext
#define traceEVENT_GROUP_WAIT_BITS_BLOCK(xEventGroup, uxBitsToWaitFor)
#define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR(xEventGroup, uxBitsToClear)
#define traceEVENT_GROUP_SYNC_BLOCK(xEventGroup, uxBitsToSet, uxBitsToWaitFor)
void vEventGroupSetBitsCallback(void *pvEventGroup, const uint32_t ulBitsToSet)
#define taskEXIT_CRITICAL()
void vTaskSuspendAll(void) PRIVILEGED_FUNCTION
EventBits_t xEventGroupClearBits(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear)
void * pvPortMalloc(size_t xSize) PRIVILEGED_FUNCTION
List_t xTasksWaitingForBits
#define traceEVENT_GROUP_CREATE_FAILED()
void vTaskPlaceOnUnorderedEventList(List_t *pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION
#define traceEVENT_GROUP_CREATE(xEventGroup)
void vEventGroupClearBitsCallback(void *pvEventGroup, const uint32_t ulBitsToClear)
unsigned long UBaseType_t
EventBits_t xEventGroupGetBitsFromISR(EventGroupHandle_t xEventGroup)
#define portSET_INTERRUPT_MASK_FROM_ISR()
#define traceEVENT_GROUP_DELETE(xEventGroup)
#define traceEVENT_GROUP_SYNC_END(xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred)
void vEventGroupDelete(EventGroupHandle_t xEventGroup)
#define traceEVENT_GROUP_CLEAR_BITS(xEventGroup, uxBitsToClear)
#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)
struct xSTATIC_EVENT_GROUP StaticEventGroup_t
TickType_t uxTaskResetEventItemValue(void) PRIVILEGED_FUNCTION
#define xEventGroupClearBitsFromISR(xEventGroup, uxBitsToClear)
#define traceEVENT_GROUP_WAIT_BITS_END(xEventGroup, uxBitsToWaitFor, xTimeoutOccurred)
#define traceEVENT_GROUP_SET_BITS(xEventGroup, uxBitsToSet)
#define portYIELD_WITHIN_API
BaseType_t xTaskResumeAll(void) PRIVILEGED_FUNCTION
#define eventWAIT_FOR_ALL_BITS
BaseType_t xTaskGetSchedulerState(void) PRIVILEGED_FUNCTION
#define taskENTER_CRITICAL()
static BaseType_t prvTestWaitCondition(const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits) PRIVILEGED_FUNCTION
#define eventEVENT_BITS_CONTROL_BYTES
void * EventGroupHandle_t
#define PRIVILEGED_FUNCTION
#define listGET_HEAD_ENTRY(pxList)
#define listGET_END_MARKER(pxList)
#define mtCOVERAGE_TEST_MARKER()
#define taskSCHEDULER_SUSPENDED
#define eventUNBLOCKED_DUE_TO_BIT_SET
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(uxSavedStatusValue)
EventBits_t xEventGroupSync(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
#define listCURRENT_LIST_LENGTH(pxList)
void vTaskRemoveFromUnorderedEventList(ListItem_t *pxEventListItem, const TickType_t xItemValue) PRIVILEGED_FUNCTION
struct xEventGroupDefinition EventGroup_t
#define traceEVENT_GROUP_SET_BITS_FROM_ISR(xEventGroup, uxBitsToSet)
void vListInitialise(List_t *const pxList) PRIVILEGED_FUNCTION