#include <stdlib.h>
#include "FreeRTOS.h"
#include "task.h"
#include "timers.h"
#include "event_groups.h"
Data Structures | |
struct | xEventGroupDefinition |
Macros | |
#define | eventCLEAR_EVENTS_ON_EXIT_BIT 0x01000000UL |
#define | eventEVENT_BITS_CONTROL_BYTES 0xff000000UL |
#define | eventUNBLOCKED_DUE_TO_BIT_SET 0x02000000UL |
#define | eventWAIT_FOR_ALL_BITS 0x04000000UL |
#define | MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
Typedefs | |
typedef struct xEventGroupDefinition | EventGroup_t |
Functions | |
static BaseType_t | prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits) PRIVILEGED_FUNCTION |
UBaseType_t | uxEventGroupGetNumber (void *xEventGroup) |
void | vEventGroupClearBitsCallback (void *pvEventGroup, const uint32_t ulBitsToClear) |
void | vEventGroupDelete (EventGroupHandle_t xEventGroup) |
event_groups.h More... | |
void | vEventGroupSetBitsCallback (void *pvEventGroup, const uint32_t ulBitsToSet) |
void | vEventGroupSetNumber (void *xEventGroup, UBaseType_t uxEventGroupNumber) |
EventBits_t | xEventGroupClearBits (EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear) |
EventGroupHandle_t | xEventGroupCreate (void) |
EventBits_t | xEventGroupGetBitsFromISR (EventGroupHandle_t xEventGroup) |
EventBits_t | xEventGroupSetBits (EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet) |
EventBits_t | xEventGroupSync (EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait) |
EventBits_t | xEventGroupWaitBits (EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait) |
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x01000000UL |
Referenced by xEventGroupSetBits(), xEventGroupSync(), and xEventGroupWaitBits().
#define eventEVENT_BITS_CONTROL_BYTES 0xff000000UL |
Referenced by xEventGroupClearBits(), xEventGroupSetBits(), xEventGroupSync(), and xEventGroupWaitBits().
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x02000000UL |
Referenced by vEventGroupDelete(), xEventGroupSetBits(), xEventGroupSync(), and xEventGroupWaitBits().
#define eventWAIT_FOR_ALL_BITS 0x04000000UL |
Referenced by xEventGroupSetBits(), xEventGroupSync(), and xEventGroupWaitBits().
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
typedef struct xEventGroupDefinition EventGroup_t |
|
static |
References mtCOVERAGE_TEST_MARKER, pdFALSE, and pdTRUE.
Referenced by xEventGroupWaitBits().
UBaseType_t uxEventGroupGetNumber | ( | void * | xEventGroup | ) |
References xEventGroupDefinition::uxEventGroupNumber.
void vEventGroupClearBitsCallback | ( | void * | pvEventGroup, |
const uint32_t | ulBitsToClear | ||
) |
References xEventGroupClearBits().
void vEventGroupDelete | ( | EventGroupHandle_t | xEventGroup | ) |
void xEventGroupDelete( EventGroupHandle_t xEventGroup );
Delete an event group that was previously created by a call to xEventGroupCreate(). Tasks that are blocked on the event group will be unblocked and obtain 0 as the event group's value.
xEventGroup | The event group being deleted. |
References configASSERT, eventUNBLOCKED_DUE_TO_BIT_SET, listCURRENT_LIST_LENGTH, mtCOVERAGE_TEST_MARKER, pdFALSE, xMINI_LIST_ITEM::pxNext, traceEVENT_GROUP_DELETE, vPortFree(), vTaskRemoveFromUnorderedEventList(), vTaskSuspendAll(), xLIST::xListEnd, xTaskResumeAll(), and xEventGroupDefinition::xTasksWaitingForBits.
void vEventGroupSetBitsCallback | ( | void * | pvEventGroup, |
const uint32_t | ulBitsToSet | ||
) |
References xEventGroupSetBits().
void vEventGroupSetNumber | ( | void * | xEventGroup, |
UBaseType_t | uxEventGroupNumber | ||
) |
EventBits_t xEventGroupClearBits | ( | EventGroupHandle_t | xEventGroup, |
const EventBits_t | uxBitsToClear | ||
) |
References configASSERT, eventEVENT_BITS_CONTROL_BYTES, taskENTER_CRITICAL, taskEXIT_CRITICAL, traceEVENT_GROUP_CLEAR_BITS, and xEventGroupDefinition::uxEventBits.
Referenced by vEventGroupClearBitsCallback().
EventGroupHandle_t xEventGroupCreate | ( | void | ) |
EventBits_t xEventGroupGetBitsFromISR | ( | EventGroupHandle_t | xEventGroup | ) |
EventBits_t xEventGroupSetBits | ( | EventGroupHandle_t | xEventGroup, |
const EventBits_t | uxBitsToSet | ||
) |
References configASSERT, eventCLEAR_EVENTS_ON_EXIT_BIT, eventEVENT_BITS_CONTROL_BYTES, eventUNBLOCKED_DUE_TO_BIT_SET, eventWAIT_FOR_ALL_BITS, listGET_END_MARKER, listGET_HEAD_ENTRY, listGET_LIST_ITEM_VALUE, listGET_NEXT, mtCOVERAGE_TEST_MARKER, pdFALSE, pdTRUE, traceEVENT_GROUP_SET_BITS, xEventGroupDefinition::uxEventBits, vTaskRemoveFromUnorderedEventList(), vTaskSuspendAll(), xTaskResumeAll(), and xEventGroupDefinition::xTasksWaitingForBits.
Referenced by vEventGroupSetBitsCallback(), and xEventGroupSync().
EventBits_t xEventGroupSync | ( | EventGroupHandle_t | xEventGroup, |
const EventBits_t | uxBitsToSet, | ||
const EventBits_t | uxBitsToWaitFor, | ||
TickType_t | xTicksToWait | ||
) |
References configASSERT, eventCLEAR_EVENTS_ON_EXIT_BIT, eventEVENT_BITS_CONTROL_BYTES, eventUNBLOCKED_DUE_TO_BIT_SET, eventWAIT_FOR_ALL_BITS, mtCOVERAGE_TEST_MARKER, pdFALSE, pdTRUE, portYIELD_WITHIN_API, taskENTER_CRITICAL, taskEXIT_CRITICAL, taskSCHEDULER_SUSPENDED, traceEVENT_GROUP_SYNC_BLOCK, traceEVENT_GROUP_SYNC_END, xEventGroupDefinition::uxEventBits, uxTaskResetEventItemValue(), vTaskPlaceOnUnorderedEventList(), vTaskSuspendAll(), xEventGroupSetBits(), xTaskGetSchedulerState(), xTaskResumeAll(), and xEventGroupDefinition::xTasksWaitingForBits.
EventBits_t xEventGroupWaitBits | ( | EventGroupHandle_t | xEventGroup, |
const EventBits_t | uxBitsToWaitFor, | ||
const BaseType_t | xClearOnExit, | ||
const BaseType_t | xWaitForAllBits, | ||
TickType_t | xTicksToWait | ||
) |
References configASSERT, eventCLEAR_EVENTS_ON_EXIT_BIT, eventEVENT_BITS_CONTROL_BYTES, eventUNBLOCKED_DUE_TO_BIT_SET, eventWAIT_FOR_ALL_BITS, mtCOVERAGE_TEST_MARKER, pdFALSE, pdTRUE, portYIELD_WITHIN_API, prvTestWaitCondition(), taskENTER_CRITICAL, taskEXIT_CRITICAL, taskSCHEDULER_SUSPENDED, traceEVENT_GROUP_WAIT_BITS_BLOCK, traceEVENT_GROUP_WAIT_BITS_END, xEventGroupDefinition::uxEventBits, uxTaskResetEventItemValue(), vTaskPlaceOnUnorderedEventList(), vTaskSuspendAll(), xTaskGetSchedulerState(), xTaskResumeAll(), and xEventGroupDefinition::xTasksWaitingForBits.