#include <event_groups.hpp>
|
| EventGroup () |
|
| EventGroup (StaticEventGroup_t *pxEventGroupBuffer) |
|
virtual | ~EventGroup () |
|
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) |
|
BaseType_t | SetBitsFromISR (const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken) |
|
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) |
|
◆ EventGroup() [1/2]
EventGroup::EventGroup |
( |
| ) |
|
◆ EventGroup() [2/2]
EventGroup::EventGroup |
( |
StaticEventGroup_t * |
pxEventGroupBuffer | ) |
|
Construct a Event Group with static allocation
◆ ~EventGroup()
EventGroup::~EventGroup |
( |
| ) |
|
|
virtual |
◆ ClearBits()
EventBits_t EventGroup::ClearBits |
( |
const EventBits_t |
uxBitsToClear | ) |
|
Clear bits (flags) within an event group.
- Parameters
-
uxBitsToClear | A 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.
◆ ClearBitsFromISR()
BaseType_t EventGroup::ClearBitsFromISR |
( |
const EventBits_t |
uxBitsToClear | ) |
|
Clear bits (flags) within an event group from ISR context.
- Parameters
-
uxBitsToClear | A 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.
◆ 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.
◆ 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.
◆ SetBits()
EventBits_t EventGroup::SetBits |
( |
const EventBits_t |
uxBitsToSet | ) |
|
Set bits (flags) within an event group.
- Parameters
-
uxBitsToSet | A 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
◆ SetBitsFromISR()
BaseType_t EventGroup::SetBitsFromISR |
( |
const EventBits_t |
uxBitsToSet, |
|
|
BaseType_t * |
pxHigherPriorityTaskWoken |
|
) |
| |
Set bits (flags) within an event group from ISR context.
- Parameters
-
uxBitsToSet | A bitwise value that indicates the bit or bits to set in the event group. |
pxHigherPriorityTaskWoken | A bitwise value that indicates the bit or bits to set in the event group. |
- Returns
- Calling this function will result in a message being sent to the RTOS daemon task. If the priority of the daemon task is higher than the priority of the currently running task (the task the interrupt interrupted) then *pxHigherPriorityTaskWoken will be set to true by EventGroupSetBitsFromISR, indicating that a context switch should be requested before the interrupt exits. For that reason *pxHigherPriorityTaskWoken must be initialised to false.
◆ 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
-
uxBitsToSet | A 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. |
uxBitsToWaitFor | The 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. |
xTicksToWait | The 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.
◆ 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
-
uxBitsToWaitFor | A bitwise value that indicates the bit or bits to test inside the event group. |
xClearOnExit | If 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. |
xWaitForAllBits | is 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.
|
xTicksToWait | The 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.
◆ handle
EventGroupHandle_t cpp_freertos::EventGroup::handle |
|
protected |
FreeRTOS Event Group handle.
The documentation for this class was generated from the following files: