Prusa MINI Firmware overview
|
Go to the source code of this file.
|
#define | xEventGroupClearBitsFromISR(xEventGroup, uxBitsToClear) xTimerPendFunctionCallFromISR( vEventGroupClearBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToClear, NULL ) |
|
#define | xEventGroupSetBitsFromISR(xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken) xTimerPendFunctionCallFromISR( vEventGroupSetBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToSet, pxHigherPriorityTaskWoken ) |
|
#define | xEventGroupGetBits(xEventGroup) xEventGroupClearBits( xEventGroup, 0 ) |
|
|
PRIVILEGED_FUNCTION EventBits_t | xEventGroupWaitBits (EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait) |
|
PRIVILEGED_FUNCTION EventBits_t | xEventGroupClearBits (EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear) |
|
PRIVILEGED_FUNCTION EventBits_t | xEventGroupSetBits (EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet) |
|
PRIVILEGED_FUNCTION EventBits_t | xEventGroupSync (EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait) |
|
PRIVILEGED_FUNCTION EventBits_t | xEventGroupGetBitsFromISR (EventGroupHandle_t xEventGroup) |
|
PRIVILEGED_FUNCTION void | vEventGroupDelete (EventGroupHandle_t xEventGroup) |
|
PRIVILEGED_FUNCTION void | vEventGroupSetBitsCallback (void *pvEventGroup, const uint32_t ulBitsToSet) |
|
PRIVILEGED_FUNCTION void | vEventGroupClearBitsCallback (void *pvEventGroup, const uint32_t ulBitsToClear) |
|
◆ xEventGroupClearBitsFromISR
◆ xEventGroupSetBitsFromISR
◆ xEventGroupGetBits
◆ EventGroupHandle_t
◆ EventBits_t
◆ xEventGroupWaitBits()
328 BaseType_t xWaitConditionMet, xAlreadyYielded;
336 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) )
347 xWaitConditionMet =
prvTestWaitCondition( uxCurrentEventBits, uxBitsToWaitFor, xWaitForAllBits );
349 if( xWaitConditionMet !=
pdFALSE )
353 uxReturn = uxCurrentEventBits;
370 uxReturn = uxCurrentEventBits;
387 if( xWaitForAllBits !=
pdFALSE )
413 if( xAlreadyYielded ==
pdFALSE )
◆ xEventGroupClearBits()
◆ xEventGroupSetBits()
535 EventBits_t uxBitsToClear = 0, uxBitsWaitedFor, uxControlBits;
556 while( pxListItem != pxListEnd )
578 else if( ( uxBitsWaitedFor & pxEventBits->
uxEventBits ) == uxBitsWaitedFor )
593 uxBitsToClear |= uxBitsWaitedFor;
◆ xEventGroupSync()
217 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) )
229 if( ( ( uxOriginalBitValue | uxBitsToSet ) & uxBitsToWaitFor ) == uxBitsToWaitFor )
232 uxReturn = ( uxOriginalBitValue | uxBitsToSet );
269 if( xAlreadyYielded ==
pdFALSE )
295 if( ( uxReturn & uxBitsToWaitFor ) == uxBitsToWaitFor )
306 xTimeoutOccurred =
pdTRUE;
◆ xEventGroupGetBitsFromISR()
◆ vEventGroupDelete()
event_groups.h
void xEventGroupDelete( EventGroupHandle_t xEventGroup );
Delete an event group that was previously created by a call to xEventGroupCreate(). Tasks that are blocked on the event group will be unblocked and obtain 0 as the event group's value.
- Parameters
-
xEventGroup | The event group being deleted. |
641 #if( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 0 ) )
647 #elif( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
◆ vEventGroupSetBitsCallback()
◆ vEventGroupClearBitsCallback()
struct xLIST_ITEM *configLIST_VOLATILE pxNext
Definition: list.h:197
#define traceEVENT_GROUP_WAIT_BITS_BLOCK(xEventGroup, uxBitsToWaitFor)
Definition: FreeRTOS.h:594
#define portSET_INTERRUPT_MASK_FROM_ISR()
Definition: FreeRTOS.h:300
Definition: event_groups.c:105
PRIVILEGED_FUNCTION BaseType_t xTaskGetSchedulerState(void)
#define traceEVENT_GROUP_SYNC_END(xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred)
Definition: FreeRTOS.h:590
#define configASSERT(x)
Definition: FreeRTOSConfig.h:162
#define listCURRENT_LIST_LENGTH(pxList)
Definition: list.h:296
#define eventWAIT_FOR_ALL_BITS
Definition: event_groups.c:101
#define eventCLEAR_EVENTS_ON_EXIT_BIT
Definition: event_groups.c:99
PRIVILEGED_FUNCTION void vTaskPlaceOnUnorderedEventList(List_t *pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait)
Definition: tasks.c:2837
#define eventEVENT_BITS_CONTROL_BYTES
Definition: event_groups.c:102
#define traceEVENT_GROUP_WAIT_BITS_END(xEventGroup, uxBitsToWaitFor, xTimeoutOccurred)
Definition: FreeRTOS.h:598
TickType_t EventBits_t
Definition: event_groups.h:133
EventBits_t xEventGroupSetBits(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet)
Definition: event_groups.c:530
PRIVILEGED_FUNCTION BaseType_t xTaskRemoveFromUnorderedEventList(ListItem_t *pxEventListItem, const TickType_t xItemValue)
Definition: tasks.c:2962
#define traceEVENT_GROUP_DELETE(xEventGroup)
Definition: FreeRTOS.h:618
uint32_t TickType_t
Definition: portmacro.h:105
#define traceEVENT_GROUP_CLEAR_BITS(xEventGroup, uxBitsToClear)
Definition: FreeRTOS.h:602
#define listGET_LIST_ITEM_VALUE(pxListItem)
Definition: list.h:249
#define taskENTER_CRITICAL()
Definition: task.h:217
#define pdFALSE
Definition: projdefs.h:86
unsigned long UBaseType_t
Definition: portmacro.h:99
List_t xTasksWaitingForBits
Definition: event_groups.c:108
EventBits_t xEventGroupClearBits(EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear)
Definition: event_groups.c:472
void
Definition: png.h:1083
#define traceEVENT_GROUP_SET_BITS(xEventGroup, uxBitsToSet)
Definition: FreeRTOS.h:610
MiniListItem_t xListEnd
Definition: list.h:210
#define traceEVENT_GROUP_SYNC_BLOCK(xEventGroup, uxBitsToSet, uxBitsToWaitFor)
Definition: FreeRTOS.h:586
#define taskSCHEDULER_SUSPENDED
Definition: task.h:257
EventBits_t uxEventBits
Definition: event_groups.c:107
const uint8_t[]
Definition: 404_html.c:3
#define portYIELD_WITHIN_API
Definition: FreeRTOS.h:692
long BaseType_t
Definition: portmacro.h:98
#define pdTRUE
Definition: projdefs.h:87
PRIVILEGED_FUNCTION BaseType_t xTaskResumeAll(void)
Definition: tasks.c:2017
#define listGET_NEXT(pxListItem)
Definition: list.h:274
PRIVILEGED_FUNCTION void vPortFree(void *pv)
Definition: heap_4.c:305
#define taskEXIT_CRITICAL()
Definition: task.h:232
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(uxSavedStatusValue)
Definition: FreeRTOS.h:304
PRIVILEGED_FUNCTION void vTaskSuspendAll(void)
Definition: tasks.c:1944
static PRIVILEGED_FUNCTION BaseType_t prvTestWaitCondition(const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
Definition: event_groups.c:682
#define eventUNBLOCKED_DUE_TO_BIT_SET
Definition: event_groups.c:100
PRIVILEGED_FUNCTION TickType_t uxTaskResetEventItemValue(void)
Definition: tasks.c:4162
#define listGET_HEAD_ENTRY(pxList)
Definition: list.h:266
#define mtCOVERAGE_TEST_MARKER()
Definition: FreeRTOS.h:748
#define listGET_END_MARKER(pxList)
Definition: list.h:282