Microchip® Advanced Software Framework

event_groups.c File Reference
#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
#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

static BaseType_t prvTestWaitCondition ( const EventBits_t  uxCurrentEventBits,
const EventBits_t  uxBitsToWaitFor,
const BaseType_t  xWaitForAllBits 
)
static

References mtCOVERAGE_TEST_MARKER, pdFALSE, and pdTRUE.

Referenced by xEventGroupWaitBits().

UBaseType_t uxEventGroupGetNumber ( void *  xEventGroup)
void vEventGroupClearBitsCallback ( void *  pvEventGroup,
const uint32_t  ulBitsToClear 
)
void vEventGroupDelete ( EventGroupHandle_t  xEventGroup)

event_groups.h

   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.

Parameters
xEventGroupThe 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 
)