Skip to content

Add config option for event groups and stream buffers #994

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
4c23c0b
Add configUSE_EVENT_GROUPS in source files
kar-rahul-aws Feb 13, 2024
8ec3080
Merge branch 'FreeRTOS:main' into update_mpu_wrappers
kar-rahul-aws Feb 14, 2024
7720244
Add configUSE_EVENT_GROUPS macro in MPU wrapper files
kar-rahul-aws Feb 14, 2024
4462fa1
Add configUSE_EVENT_GROUPS macro in MPU port files for GCC and RVDS c…
kar-rahul-aws Feb 14, 2024
f74cc70
Fix Formatting
kar-rahul-aws Feb 14, 2024
57d6dba
Add configUSE_STREAM_BUFFERS in source files
kar-rahul-aws Feb 14, 2024
3db6620
Add configUSE_STREAM_BUFFERS macro in MPU wrapper files
kar-rahul-aws Feb 14, 2024
334394e
Add configUSE_STREAM_BUFFERS macro in MPU port files for GCC and RVDS…
kar-rahul-aws Feb 14, 2024
b8e26bc
Merge branch 'main' into update_mpu_wrappers
kar-rahul-aws Feb 27, 2024
aecd502
Merge branch 'main' into update_mpu_wrappers
kar-rahul-aws Mar 11, 2024
547ba87
Update FreeRTOS.h post latest commit
kar-rahul-aws Mar 11, 2024
0780657
Update the ARM_CRx_MPU Port to account for the new configuration changes
joshzarr Mar 15, 2024
248d03e
Merge branch 'main' into update_mpu_wrappers
kar-rahul-aws Mar 18, 2024
8305bb9
Formatting suggestions
aggarg Mar 18, 2024
655ba88
Merge branch 'main' into update_mpu_wrappers
kar-rahul-aws Mar 26, 2024
3bf9afe
Code review suggestions
Skptak Mar 18, 2024
566eb67
Merge branch 'main' into update_mpu_wrappers
kar-rahul-aws Mar 27, 2024
da3d608
Merge branch 'main' into update_mpu_wrappers
aggarg Mar 27, 2024
cea8ec8
Merge branch 'main' into update_mpu_wrappers
kar-rahul-aws Mar 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,204 changes: 607 additions & 597 deletions event_groups.c

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions include/FreeRTOS.h
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,14 @@
#define configUSE_TIMERS 0
#endif

#ifndef configUSE_EVENT_GROUPS
#define configUSE_EVENT_GROUPS 1
#endif

#ifndef configUSE_STREAM_BUFFERS
#define configUSE_STREAM_BUFFERS 1
#endif

#ifndef configUSE_DAEMON_TASK_STARTUP_HOOK
#define configUSE_DAEMON_TASK_STARTUP_HOOK 0
#endif
Expand Down
27 changes: 27 additions & 0 deletions include/event_groups.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,9 @@ typedef TickType_t EventBits_t;
* each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type
* is used to store event bits within an event group.
*
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupCreate()
* to be available.
*
* @return If the event group was created then a handle to the event group is
* returned. If there was insufficient FreeRTOS heap available to create the
* event group then NULL is returned. See https://www.FreeRTOS.org/a00111.html
Expand Down Expand Up @@ -196,6 +199,9 @@ typedef TickType_t EventBits_t;
* each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type
* is used to store event bits within an event group.
*
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupCreateStatic()
* to be available.
*
* @param pxEventGroupBuffer pxEventGroupBuffer must point to a variable of type
* StaticEventGroup_t, which will be then be used to hold the event group's data
* structures, removing the need for the memory to be allocated dynamically.
Expand Down Expand Up @@ -238,6 +244,9 @@ typedef TickType_t EventBits_t;
*
* This function cannot be called from an interrupt.
*
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupWaitBits()
* to be available.
*
* @param xEventGroup The event group in which the bits are being tested. The
* event group must have previously been created using a call to
* xEventGroupCreate().
Expand Down Expand Up @@ -331,6 +340,9 @@ EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
* Clear bits within an event group. This function cannot be called from an
* interrupt.
*
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupClearBits()
* to be available.
*
* @param xEventGroup The event group in which the bits are to be cleared.
*
* @param uxBitsToClear A bitwise value that indicates the bit or bits to clear
Expand Down Expand Up @@ -461,6 +473,9 @@ EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup,
* Setting bits in an event group will automatically unblock tasks that are
* blocked waiting for the bits.
*
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupSetBits()
* to be available.
*
* @param xEventGroup The event group in which the bits are to be set.
*
* @param uxBitsToSet A bitwise value that indicates the bit or bits to set.
Expand Down Expand Up @@ -625,6 +640,9 @@ EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup,
* this case all the bits specified by uxBitsToWait will be automatically
* cleared before the function returns.
*
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupSync()
* to be available.
*
* @param xEventGroup The event group in which the bits are being tested. The
* event group must have previously been created using a call to
* xEventGroupCreate().
Expand Down Expand Up @@ -743,6 +761,9 @@ EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup,
* Returns the current value of the bits in an event group. This function
* cannot be used from an interrupt.
*
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupGetBits()
* to be available.
*
* @param xEventGroup The event group being queried.
*
* @return The event group bits at the time xEventGroupGetBits() was called.
Expand Down Expand Up @@ -779,6 +800,9 @@ EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ) PRIVILEG
* xEventGroupCreate(). Tasks that are blocked on the event group will be
* unblocked and obtain 0 as the event group's value.
*
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for vEventGroupDelete()
* to be available.
*
* @param xEventGroup The event group being deleted.
*/
void vEventGroupDelete( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION;
Expand All @@ -793,6 +817,9 @@ void vEventGroupDelete( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION;
* Retrieve a pointer to a statically created event groups's data structure
* buffer. It is the same buffer that is supplied at the time of creation.
*
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupGetStaticBuffer()
* to be available.
*
* @param xEventGroup The event group for which to retrieve the buffer.
*
* @param ppxEventGroupBuffer Used to return a pointer to the event groups's
Expand Down
Loading