FreeRTOS C++ Wrappers  1.6.0
C++ interface to FreeRTOS
Public Member Functions | Protected Attributes | List of all members
cpp_freertos::EventGroup Class Reference

#include <event_groups.hpp>

Public Member Functions

 EventGroup ()
 
EventBits_t Sync (const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
 
EventBits_t WaitBits (const EventBits_t uxBitsToWaitFor, bool xClearOnExit, bool xWaitForAllBits, TickType_t xTicksToWait)
 
EventBits_t ClearBits (const EventBits_t uxBitsToClear)
 
BaseType_t ClearBitsFromISR (const EventBits_t uxBitsToClear)
 
EventBits_t GetBits ()
 
EventBits_t GetBitsFromISR ()
 
EventBits_t SetBits (const EventBits_t uxBitsToSet)
 
virtual ~EventGroup ()
 

Protected Attributes

EventGroupHandle_t handle
 

Detailed Description

Todo:
  • document this class

Definition at line 108 of file event_groups.hpp.

Constructor & Destructor Documentation

◆ EventGroup()

EventGroup::EventGroup ( )

Construct a Event Group

Definition at line 44 of file cevent_groups.cpp.

◆ ~EventGroup()

EventGroup::~EventGroup ( )
virtual

Our destructor

Definition at line 77 of file cevent_groups.cpp.

Member Function Documentation

◆ ClearBits()

EventBits_t EventGroup::ClearBits ( const EventBits_t  uxBitsToClear)

Clear bits (flags) within an event group.

Parameters
uxBitsToClearA bitwise value that indicates the bit or bits to clear in the event group.
Returns
The value of the event group before the specified bits were cleared.

Definition at line 110 of file cevent_groups.cpp.

◆ ClearBitsFromISR()

BaseType_t EventGroup::ClearBitsFromISR ( const EventBits_t  uxBitsToClear)

Clear bits (flags) within an event group from ISR context.

Parameters
uxBitsToClearA bitwise value that indicates the bit or bits to clear in the event group.
Returns
The value of the event group before the specified bits were cleared.

Definition at line 116 of file cevent_groups.cpp.

◆ GetBits()

EventBits_t EventGroup::GetBits ( )

Returns the current value of the event bits (event flags) in an event group.

Returns
The value of the event bits in the event group at the time EventGroup::GetBitsFromISR was called.

Definition at line 122 of file cevent_groups.cpp.

◆ GetBitsFromISR()

EventBits_t EventGroup::GetBitsFromISR ( )

Returns the current value of the event bits (event flags) in an event group from ISR context.

Returns
The value of the event bits in the event group at the time EventGroup::GetBitsFromISR was called.

Definition at line 128 of file cevent_groups.cpp.

◆ SetBits()

EventBits_t EventGroup::SetBits ( const EventBits_t  uxBitsToSet)

Set bits (flags) within an event group.

Parameters
uxBitsToSetA bitwise value that indicates the bit or bits to set in the event group.
Returns
The value of the event group at the time the call to EventGroup::SetBits returns

Definition at line 134 of file cevent_groups.cpp.

◆ Sync()

EventBits_t EventGroup::Sync ( const EventBits_t  uxBitsToSet,
const EventBits_t  uxBitsToWaitFor,
TickType_t  xTicksToWait 
)

Allow two or more tasks to use an event group to sync each other.

Parameters
uxBitsToSetA bit mask that specifies the event bit, or event bits, to set 1 in the event group. The value of the event groups is updated by bitwise ORing the event group's existing value with the passed in uxBitsToSet.
uxBitsToWaitForThe bit or bits to set in the event group before determining if (and possibly waiting for), all the bits specified by the uxBitsToWait parameter are set.
xTicksToWaitThe maximum amount of time (specified in 'ticks') to wait for all the bits specified by the uxBitsToWaitFor parameter value to become set.
Returns
If EventGroup::Sync returned because all the bits it was waiting for were set then the returned value is the event group value before any bits were automatically cleared. If EventGroup::Sync returned because its timeout expired then not all the bits being waited for will be set.

Definition at line 83 of file cevent_groups.cpp.

◆ WaitBits()

EventBits_t EventGroup::WaitBits ( const EventBits_t  uxBitsToWaitFor,
bool  xClearOnExit,
bool  xWaitForAllBits,
TickType_t  xTicksToWait 
)

Read bits within an RTOS event group, optionally entering the Blocked state (with a timeout) to wait for a bit or group of bits to become set.

Parameters
uxBitsToWaitForA bitwise value that indicates the bit or bits to test inside the event group.
xClearOnExitIf xClearOnExit is set to true then any bits set in the value passed as the uxBitsToWaitFor parameter will be cleared in the event group before EventGroup::WaitBits returns if EventGroup::WaitBits returns for any reason other than a timeout. The timeout value is set by the xTicksToWait parameter. If xClearOnExit is set to false then the bits set in the event group are not altered when the call to EventGroup::WaitBits returns.
xWaitForAllBitsis used to create either a logical AND test (where all bits must be set) or a logical OR test (where one or more bits must be set) as follows:
@par    If xWaitForAllBits is set to true then
        EventGroup::WaitBits will return when either all the
        bits set in the value passed as the uxBitsToWaitFor
        parameter are set in the event group or the specified
        block time expires.

@par   If xWaitForAllBits is set to false then
        EventGroup::WaitBits will return when any of the bits
        set in the value passed as the uxBitsToWaitFor
        parameter are set in the event group or the specified
        block time expires.
xTicksToWaitThe maximum amount of time (specified in 'ticks') to wait for one/all (depending on the xWaitForAllBits value) of the bits specified by uxBitsToWaitFor to become set.
Returns
The value of the event group at the time either the event bits being waited for became set, or the block time expired. The current value of the event bits in an event group will be different to the returned value if a higher priority task or interrupt changed the value of an event bit between the calling task leaving the Blocked state and exiting the EventGroup::WaitBits function. Test the return value to know which bits were set. If EventGroup::WaitBits returned because its timeout expired then not all the bits being waited for will be set. If EventGroup::WaitBits returned because the bits it was waiting for were set then the returned value is the event group value before any bits were automatically cleared because the xClearOnExit parameter was set to true.

Definition at line 96 of file cevent_groups.cpp.

Member Data Documentation

◆ handle

EventGroupHandle_t cpp_freertos::EventGroup::handle
protected

FreeRTOS Event Group handle.

Definition at line 301 of file event_groups.hpp.


The documentation for this class was generated from the following files: