Lines Matching full:event
19 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
39 /* The following bit fields convey control information in a task's event list
66 * An event group is a collection of bits to which an application can assign a
67 * meaning. For example, an application may create an event group to convey
81 * The event groups implementation contains intelligence to avoid race
84 * to when a bit within an event group is to be cleared, and when bits have to
85 * be set and then tested atomically - as is the case where event groups are
95 * Type by which event groups are referenced. For example, a call to
97 * be used as a parameter to other event group functions.
106 * The type that holds event bits always matches TickType_t - therefore the
121 * Create a new event group.
123 * Internally, within the FreeRTOS implementation, event groups use a [small]
124 * block of memory, in which the event group's structure is stored. If an event
127 * (see https://www.FreeRTOS.org/a00111.html). If an event group is created
129 * provide the memory that will get used by the event group.
130 * xEventGroupCreateStatic() therefore allows an event group to be created
133 * Although event groups are not related to ticks, for internal implementation
134 * reasons the number of bits available for use in an event group is dependent
136 * configTICK_TYPE_WIDTH_IN_BITS is 0 then each event group contains 8 usable bits (bit
137 * 0 to bit 7). If configTICK_TYPE_WIDTH_IN_BITS is set to 1 then each event group has
139 * each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type
140 * is used to store event bits within an event group.
142 * @return If the event group was created then a handle to the event group is
144 * event group then NULL is returned. See https://www.FreeRTOS.org/a00111.html
148 * // Declare a variable to hold the created event group.
151 * // Attempt to create the event group.
154 * // Was the event group created successfully?
157 * // The event group was not created because there was insufficient
162 * // The event group was created.
178 * Create a new event group.
180 * Internally, within the FreeRTOS implementation, event groups use a [small]
181 * block of memory, in which the event group's structure is stored. If an event
184 * (see https://www.FreeRTOS.org/a00111.html). If an event group is created
186 * provide the memory that will get used by the event group.
187 * xEventGroupCreateStatic() therefore allows an event group to be created
190 * Although event groups are not related to ticks, for internal implementation
191 * reasons the number of bits available for use in an event group is dependent
193 * configTICK_TYPE_WIDTH_IN_BITS is 0 then each event group contains 8 usable bits (bit
194 * 0 to bit 7). If configTICK_TYPE_WIDTH_IN_BITS is set to 1 then each event group has
196 * each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type
197 * is used to store event bits within an event group.
200 * StaticEventGroup_t, which will be then be used to hold the event group's data
203 * @return If the event group was created then a handle to the event group is
209 * // size and alignment requirements as the real event group structure. It is
210 * // provided as a mechanism for applications to know the size of the event
213 * // real event group internals. This StaticEventGroup_t variable is passed
215 * // the event group's data structures
218 * // Create the event group without dynamically allocating any memory.
237 * previously created event group.
241 * @param xEventGroup The event group in which the bits are being tested. The
242 * event group must have previously been created using a call to
246 * inside the event group. For example, to wait for bit 0 and/or bit 2 set
251 * uxBitsToWaitFor that are set within the event group will be cleared before
254 * pdFALSE then the bits set in the event group are not altered when the call to
269 * @return The value of the event group at the time either the bits being waited
274 * then the returned value is the event group value before any bits were
289 * // the event group. Clear the bits before exiting.
291 * xEventGroup, // The event group being tested.
292 * BIT_0 | BIT_4, // The bits within the event group to wait for.
331 * Clear bits within an event group. This function cannot be called from an
334 * @param xEventGroup The event group in which the bits are to be cleared.
337 * in the event group. For example, to clear bit 3 only, set uxBitsToClear to
340 * @return The value of the event group before the specified bits were cleared.
353 * xEventGroup, // The event group being updated.
391 * Setting bits in an event group is not a deterministic operation because there
394 * while interrupts are disabled, so protects event groups that are accessed
396 * a result event groups cannot be accessed directly from an interrupt service
403 * clear on the event group. This behavior is different from
407 * @param xEventGroup The event group in which the bits are to be cleared.
422 * // An event group which it is assumed has already been created by a call to
430 * xEventGroup, // The event group being updated.
457 * Set bits within an event group.
461 * Setting bits in an event group will automatically unblock tasks that are
464 * @param xEventGroup The event group in which the bits are to be set.
470 * @return The value of the event group at the time the call to
478 * event group value before the call to xEventGroupSetBits() returns.
491 * xEventGroup, // The event group being updated.
534 * Setting bits in an event group is not a deterministic operation because there
542 * @param xEventGroup The event group in which the bits are to be set.
567 * // An event group which it is assumed has already been created by a call to
580 * xEventGroup, // The event group being updated.
616 * Atomically set bits within an event group, then wait for a combination of
617 * bits to be set within the same event group. This functionality is typically
628 * @param xEventGroup The event group in which the bits are being tested. The
629 * event group must have previously been created using a call to
632 * @param uxBitsToSet The bits to set in the event group before determining
637 * inside the event group. For example, to wait for bit 0 and bit 2 set
644 * @return The value of the event group at the time either the bits being waited
649 * set then the returned value is the event group value before any bits were
661 * // Use an event group to synchronise three tasks. It is assumed this event
674 * // Set bit 0 in the event flag to note this task has reached the
695 * // Set bit 1 in the event flag to note this task has reached the
714 * // Set bit 2 in the event flag to note this task has reached the
743 * Returns the current value of the bits in an event group. This function
746 * @param xEventGroup The event group being queried.
748 * @return The event group bits at the time xEventGroupGetBits() was called.
763 * @param xEventGroup The event group being queried.
765 * @return The event group bits at the time xEventGroupGetBitsFromISR() was called.
778 * Delete an event group that was previously created by a call to
779 * xEventGroupCreate(). Tasks that are blocked on the event group will be
780 * unblocked and obtain 0 as the event group's value.
782 * @param xEventGroup The event group being deleted.
793 * Retrieve a pointer to a statically created event groups's data structure
796 * @param xEventGroup The event group for which to retrieve the buffer.
798 * @param ppxEventGroupBuffer Used to return a pointer to the event groups's