Lines Matching +full:freertos +full:- +full:kernel

2  * FreeRTOS Kernel V11.0.1
5 * SPDX-License-Identifier: MIT
24 * https://www.FreeRTOS.org
25 * https://github.com/FreeRTOS
37 /* FreeRTOS includes. */
38 #include "FreeRTOS.h"
62 /*-----------------------------------------------------------*/
76 /*-----------------------------------------------------------*/
99 /* The user has provided a statically allocated event group - use it. */ in xEventGroupCreateStatic()
101 … /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-113 */ in xEventGroupCreateStatic()
107 pxEventBits->uxEventBits = 0; in xEventGroupCreateStatic()
108 vListInitialise( &( pxEventBits->xTasksWaitingForBits ) ); in xEventGroupCreateStatic()
115 pxEventBits->ucStaticallyAllocated = pdTRUE; in xEventGroupCreateStatic()
124 * pxEventGroupBuffer pointing to a pre-allocated (compile time in xEventGroupCreateStatic()
135 /*-----------------------------------------------------------*/
146 … /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ in xEventGroupCreate()
152 pxEventBits->uxEventBits = 0; in xEventGroupCreate()
153 vListInitialise( &( pxEventBits->xTasksWaitingForBits ) ); in xEventGroupCreate()
160 pxEventBits->ucStaticallyAllocated = pdFALSE; in xEventGroupCreate()
177 /*-----------------------------------------------------------*/
201 uxOriginalBitValue = pxEventBits->uxEventBits; in xEventGroupSync()
207 /* All the rendezvous bits are now set - no need to block. */ in xEventGroupSync()
212 pxEventBits->uxEventBits &= ~uxBitsToWaitFor; in xEventGroupSync()
223 * task's event list item so the kernel knows when a match is in xEventGroupSync()
225 …vTaskPlaceOnUnorderedEventList( &( pxEventBits->xTasksWaitingForBits ), ( uxBitsToWaitFor | eventC… in xEventGroupSync()
236 * specified - just return the current event bit value. */ in xEventGroupSync()
237 uxReturn = pxEventBits->uxEventBits; in xEventGroupSync()
255 /* The task blocked to wait for its required bits to be set - at this in xEventGroupSync()
266 uxReturn = pxEventBits->uxEventBits; in xEventGroupSync()
274 pxEventBits->uxEventBits &= ~uxBitsToWaitFor; in xEventGroupSync()
304 /*-----------------------------------------------------------*/
319 /* Check the user is not attempting to wait on the bits used by the kernel in xEventGroupWaitBits()
332 const EventBits_t uxCurrentEventBits = pxEventBits->uxEventBits; in xEventGroupWaitBits()
347 pxEventBits->uxEventBits &= ~uxBitsToWaitFor; in xEventGroupWaitBits()
365 * this call to xEventGroupWaitBits() - for use when the event bits in xEventGroupWaitBits()
386 * task's event list item so the kernel knows when a match is in xEventGroupWaitBits()
388 …vTaskPlaceOnUnorderedEventList( &( pxEventBits->xTasksWaitingForBits ), ( uxBitsToWaitFor | uxCont… in xEventGroupWaitBits()
411 /* The task blocked to wait for its required bits to be set - at this in xEventGroupWaitBits()
422 uxReturn = pxEventBits->uxEventBits; in xEventGroupWaitBits()
430 pxEventBits->uxEventBits &= ~uxBitsToWaitFor; in xEventGroupWaitBits()
464 /*-----------------------------------------------------------*/
474 /* Check the user is not attempting to clear the bits used by the kernel in xEventGroupClearBits()
485 uxReturn = pxEventBits->uxEventBits; in xEventGroupClearBits()
488 pxEventBits->uxEventBits &= ~uxBitsToClear; in xEventGroupClearBits()
496 /*-----------------------------------------------------------*/
516 /*-----------------------------------------------------------*/
528 uxReturn = pxEventBits->uxEventBits; in xEventGroupGetBitsFromISR()
536 /*-----------------------------------------------------------*/
551 /* Check the user is not attempting to set the bits used by the kernel in xEventGroupSetBits()
556 pxList = &( pxEventBits->xTasksWaitingForBits ); in xEventGroupSetBits()
565 pxEventBits->uxEventBits |= uxBitsToSet; in xEventGroupSetBits()
581 if( ( uxBitsWaitedFor & pxEventBits->uxEventBits ) != ( EventBits_t ) 0 ) in xEventGroupSetBits()
590 else if( ( uxBitsWaitedFor & pxEventBits->uxEventBits ) == uxBitsWaitedFor ) in xEventGroupSetBits()
617 …vTaskRemoveFromUnorderedEventList( pxListItem, pxEventBits->uxEventBits | eventUNBLOCKED_DUE_TO_BI… in xEventGroupSetBits()
620 /* Move onto the next list item. Note pxListItem->pxNext is not in xEventGroupSetBits()
628 pxEventBits->uxEventBits &= ~uxBitsToClear; in xEventGroupSetBits()
632 traceRETURN_xEventGroupSetBits( pxEventBits->uxEventBits ); in xEventGroupSetBits()
634 return pxEventBits->uxEventBits; in xEventGroupSetBits()
636 /*-----------------------------------------------------------*/
647 pxTasksWaitingForBits = &( pxEventBits->xTasksWaitingForBits ); in vEventGroupDelete()
657 …configASSERT( pxTasksWaitingForBits->xListEnd.pxNext != ( const ListItem_t * ) &( pxTasksWaitingFo… in vEventGroupDelete()
658 …vTaskRemoveFromUnorderedEventList( pxTasksWaitingForBits->xListEnd.pxNext, eventUNBLOCKED_DUE_TO_B… in vEventGroupDelete()
665 /* The event group can only have been allocated dynamically - free in vEventGroupDelete()
673 if( pxEventBits->ucStaticallyAllocated == ( uint8_t ) pdFALSE ) in vEventGroupDelete()
686 /*-----------------------------------------------------------*/
703 if( pxEventBits->ucStaticallyAllocated == ( uint8_t ) pdTRUE ) in xEventGroupGetStaticBuffer()
706 … /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-113 */ in xEventGroupGetStaticBuffer()
720 … /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-113 */ in xEventGroupGetStaticBuffer()
732 /*-----------------------------------------------------------*/
734 /* For internal use only - execute a 'set bits' command that was pended from
742 /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ in vEventGroupSetBitsCallback()
748 /*-----------------------------------------------------------*/
750 /* For internal use only - execute a 'clear bits' command that was pended from
758 /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ in vEventGroupClearBitsCallback()
764 /*-----------------------------------------------------------*/
801 /*-----------------------------------------------------------*/
822 /*-----------------------------------------------------------*/
831 … /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ in uxEventGroupGetNumber()
843 xReturn = pxEventBits->uxEventGroupNumber; in uxEventGroupGetNumber()
852 /*-----------------------------------------------------------*/
862 … /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ in vEventGroupSetNumber()
864 ( ( EventGroup_t * ) xEventGroup )->uxEventGroupNumber = uxEventGroupNumber; in vEventGroupSetNumber()
870 /*-----------------------------------------------------------*/