vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber) { : # DEBUG BEGIN_STMT MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D); return; } uxEventGroupGetNumber (void * xEventGroup) { const struct EventGroup_t * pxEventBits; UBaseType_t xReturn; UBaseType_t _7; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxEventBits_3 = xEventGroup_2(D); # DEBUG pxEventBits => pxEventBits_3 # DEBUG BEGIN_STMT if (xEventGroup_2(D) == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xReturn_6 = 0; # DEBUG xReturn => xReturn_6 goto ; [INV] : # DEBUG BEGIN_STMT xReturn_5 = pxEventBits_3->uxEventGroupNumber; # DEBUG xReturn => xReturn_5 : # xReturn_1 = PHI # DEBUG xReturn => xReturn_1 # DEBUG BEGIN_STMT _7 = xReturn_1; return _7; } xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken) { BaseType_t xReturn; BaseType_t _7; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D)); # DEBUG xReturn => xReturn_6 # DEBUG BEGIN_STMT _7 = xReturn_6; return _7; } prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits) { BaseType_t xWaitConditionMet; long unsigned int _1; long unsigned int _2; BaseType_t _10; : # DEBUG BEGIN_STMT xWaitConditionMet_4 = 0; # DEBUG xWaitConditionMet => xWaitConditionMet_4 # DEBUG BEGIN_STMT if (xWaitForAllBits_5(D) == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _1 = uxCurrentEventBits_6(D) & uxBitsToWaitFor_7(D); if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xWaitConditionMet_9 = 1; # DEBUG xWaitConditionMet => xWaitConditionMet_9 goto ; [INV] : # DEBUG BEGIN_STMT _2 = uxCurrentEventBits_6(D) & uxBitsToWaitFor_7(D); if (uxBitsToWaitFor_7(D) == _2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xWaitConditionMet_8 = 1; # DEBUG xWaitConditionMet => xWaitConditionMet_8 : # xWaitConditionMet_3 = PHI # DEBUG xWaitConditionMet => xWaitConditionMet_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _10 = xWaitConditionMet_3; return _10; } vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear) { : # DEBUG BEGIN_STMT xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D)); return; } vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet) { : # DEBUG BEGIN_STMT xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D)); return; } vEventGroupDelete (struct EventGroupDef_t * xEventGroup) { const struct List_t * pxTasksWaitingForBits; struct EventGroup_t * pxEventBits; struct xLIST_ITEM * _1; const struct MiniListItem_t * _2; struct xLIST_ITEM * _3; long unsigned int _4; : # DEBUG BEGIN_STMT if (xEventGroup_6(D) == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxEventBits_7 = xEventGroup_6(D); # DEBUG pxEventBits => pxEventBits_7 # DEBUG BEGIN_STMT pxTasksWaitingForBits_8 = &pxEventBits_7->xTasksWaitingForBits; # DEBUG pxTasksWaitingForBits => pxTasksWaitingForBits_8 # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _1 = pxTasksWaitingForBits_8->xListEnd.pxNext; _2 = &pxTasksWaitingForBits_8->xListEnd; if (_1 == _2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = pxTasksWaitingForBits_8->xListEnd.pxNext; vTaskRemoveFromUnorderedEventList (_3, 33554432); : # DEBUG BEGIN_STMT _4 ={v} pxTasksWaitingForBits_8->uxNumberOfItems; if (_4 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortFree (pxEventBits_7); # DEBUG BEGIN_STMT xTaskResumeAll (); return; } xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet) { BaseType_t xMatchFound; struct EventGroup_t * pxEventBits; EventBits_t uxControlBits; EventBits_t uxBitsWaitedFor; EventBits_t uxBitsToClear; const struct List_t * pxList; const struct ListItem_t * pxListEnd; struct ListItem_t * pxNext; struct ListItem_t * pxListItem; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; EventBits_t _35; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxBitsToClear_22 = 0; # DEBUG uxBitsToClear => uxBitsToClear_22 # DEBUG BEGIN_STMT pxEventBits_24 = xEventGroup_23(D); # DEBUG pxEventBits => pxEventBits_24 # DEBUG BEGIN_STMT xMatchFound_25 = 0; # DEBUG xMatchFound => xMatchFound_25 # DEBUG BEGIN_STMT if (xEventGroup_23(D) == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = uxBitsToSet_26(D) & 4278190080; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxList_27 = &pxEventBits_24->xTasksWaitingForBits; # DEBUG pxList => pxList_27 # DEBUG BEGIN_STMT pxListEnd_28 = &pxList_27->xListEnd; # DEBUG pxListEnd => pxListEnd_28 # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxListItem_31 = pxList_27->xListEnd.pxNext; # DEBUG pxListItem => pxListItem_31 # DEBUG BEGIN_STMT _2 = pxEventBits_24->uxEventBits; _3 = uxBitsToSet_26(D) | _2; pxEventBits_24->uxEventBits = _3; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT pxNext_36 = pxListItem_15->pxNext; # DEBUG pxNext => pxNext_36 # DEBUG BEGIN_STMT uxBitsWaitedFor_37 = pxListItem_15->xItemValue; # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_37 # DEBUG BEGIN_STMT xMatchFound_38 = 0; # DEBUG xMatchFound => xMatchFound_38 # DEBUG BEGIN_STMT uxControlBits_39 = uxBitsWaitedFor_37 & 4278190080; # DEBUG uxControlBits => uxControlBits_39 # DEBUG BEGIN_STMT uxBitsWaitedFor_40 = uxBitsWaitedFor_37 & 16777215; # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_40 # DEBUG BEGIN_STMT _4 = uxControlBits_39 & 67108864; if (_4 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = pxEventBits_24->uxEventBits; _6 = uxBitsWaitedFor_40 & _5; if (_6 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xMatchFound_42 = 1; # DEBUG xMatchFound => xMatchFound_42 goto ; [INV] : # DEBUG BEGIN_STMT _7 = pxEventBits_24->uxEventBits; _8 = uxBitsWaitedFor_40 & _7; if (uxBitsWaitedFor_40 == _8) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xMatchFound_41 = 1; # DEBUG xMatchFound => xMatchFound_41 : # xMatchFound_19 = PHI # DEBUG xMatchFound => xMatchFound_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xMatchFound_19 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _9 = uxControlBits_39 & 16777216; if (_9 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT uxBitsToClear_43 = uxBitsToClear_18 | uxBitsWaitedFor_40; # DEBUG uxBitsToClear => uxBitsToClear_43 : # uxBitsToClear_16 = PHI # DEBUG uxBitsToClear => uxBitsToClear_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _10 = pxEventBits_24->uxEventBits; _11 = _10 | 33554432; vTaskRemoveFromUnorderedEventList (pxListItem_15, _11); : # uxBitsToClear_17 = PHI # DEBUG uxBitsToClear => uxBitsToClear_17 # DEBUG BEGIN_STMT pxListItem_45 = pxNext_36; # DEBUG pxListItem => pxListItem_45 : # pxListItem_15 = PHI # uxBitsToClear_18 = PHI # DEBUG uxBitsToClear => uxBitsToClear_18 # DEBUG pxListItem => pxListItem_15 # DEBUG BEGIN_STMT if (pxListItem_15 != pxListEnd_28) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _12 = pxEventBits_24->uxEventBits; _13 = ~uxBitsToClear_18; _14 = _12 & _13; pxEventBits_24->uxEventBits = _14; # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _35 = pxEventBits_24->uxEventBits; return _35; } xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup) { EventBits_t uxReturn; const struct EventGroup_t * const pxEventBits; UBaseType_t uxSavedInterruptStatus; EventBits_t _8; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxEventBits_2 = xEventGroup_1(D); # DEBUG pxEventBits => pxEventBits_2 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSavedInterruptStatus_5 = ulPortRaiseBASEPRI (); # DEBUG uxSavedInterruptStatus => uxSavedInterruptStatus_5 # DEBUG BEGIN_STMT uxReturn_6 = pxEventBits_2->uxEventBits; # DEBUG uxReturn => uxReturn_6 # DEBUG BEGIN_STMT vPortSetBASEPRI (uxSavedInterruptStatus_5); # DEBUG BEGIN_STMT _8 = uxReturn_6; return _8; } xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear) { BaseType_t xReturn; BaseType_t _6; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B); # DEBUG xReturn => xReturn_5 # DEBUG BEGIN_STMT _6 = xReturn_5; return _6; } xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear) { EventBits_t uxReturn; struct EventGroup_t * pxEventBits; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; EventBits_t _13; : # DEBUG BEGIN_STMT pxEventBits_6 = xEventGroup_5(D); # DEBUG pxEventBits => pxEventBits_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xEventGroup_5(D) == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = uxBitsToClear_7(D) & 4278190080; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_10 = pxEventBits_6->uxEventBits; # DEBUG uxReturn => uxReturn_10 # DEBUG BEGIN_STMT _2 = pxEventBits_6->uxEventBits; _3 = ~uxBitsToClear_7(D); _4 = _2 & _3; pxEventBits_6->uxEventBits = _4; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _13 = uxReturn_10; return _13; } xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait) { const EventBits_t uxCurrentEventBits; BaseType_t xTimeoutOccurred; BaseType_t xAlreadyYielded; BaseType_t xWaitConditionMet; EventBits_t uxControlBits; EventBits_t uxReturn; struct EventGroup_t * pxEventBits; long unsigned int _1; long int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; struct List_t * _6; long unsigned int _7; volatile uint32_t * _8; long unsigned int _9; long int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; int iftmp.1_20; int iftmp.1_34; int iftmp.1_35; EventBits_t _65; : # DEBUG BEGIN_STMT pxEventBits_27 = xEventGroup_26(D); # DEBUG pxEventBits => pxEventBits_27 # DEBUG BEGIN_STMT uxControlBits_28 = 0; # DEBUG uxControlBits => uxControlBits_28 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTimeoutOccurred_29 = 0; # DEBUG xTimeoutOccurred => xTimeoutOccurred_29 # DEBUG BEGIN_STMT if (xEventGroup_26(D) == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = uxBitsToWaitFor_30(D) & 4278190080; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxBitsToWaitFor_30(D) == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [INV] else goto ; [INV] : if (xTicksToWait_33(D) == 0) goto ; [INV] else goto ; [INV] : iftmp.1_35 = 1; goto ; [INV] : iftmp.1_34 = 0; : # iftmp.1_20 = PHI if (iftmp.1_20 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT uxCurrentEventBits_37 = pxEventBits_27->uxEventBits; # DEBUG uxCurrentEventBits => uxCurrentEventBits_37 # DEBUG BEGIN_STMT xWaitConditionMet_40 = prvTestWaitCondition (uxCurrentEventBits_37, uxBitsToWaitFor_30(D), xWaitForAllBits_38(D)); # DEBUG xWaitConditionMet => xWaitConditionMet_40 # DEBUG BEGIN_STMT if (xWaitConditionMet_40 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT uxReturn_48 = uxCurrentEventBits_37; # DEBUG uxReturn => uxReturn_48 # DEBUG BEGIN_STMT xTicksToWait_49 = 0; # DEBUG xTicksToWait => xTicksToWait_49 # DEBUG BEGIN_STMT if (xClearOnExit_41(D) != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = pxEventBits_27->uxEventBits; _4 = ~uxBitsToWaitFor_30(D); _5 = _3 & _4; pxEventBits_27->uxEventBits = _5; goto ; [INV] : # DEBUG BEGIN_STMT if (xTicksToWait_33(D) == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT uxReturn_46 = uxCurrentEventBits_37; # DEBUG uxReturn => uxReturn_46 # DEBUG BEGIN_STMT xTimeoutOccurred_47 = 1; # DEBUG xTimeoutOccurred => xTimeoutOccurred_47 goto ; [INV] : # DEBUG BEGIN_STMT if (xClearOnExit_41(D) != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT uxControlBits_42 = uxControlBits_28 | 16777216; # DEBUG uxControlBits => uxControlBits_42 : # uxControlBits_18 = PHI # DEBUG uxControlBits => uxControlBits_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xWaitForAllBits_38(D) != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT uxControlBits_43 = uxControlBits_18 | 67108864; # DEBUG uxControlBits => uxControlBits_43 : # uxControlBits_19 = PHI # DEBUG uxControlBits => uxControlBits_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _6 = &pxEventBits_27->xTasksWaitingForBits; _7 = uxBitsToWaitFor_30(D) | uxControlBits_19; vTaskPlaceOnUnorderedEventList (_6, _7, xTicksToWait_33(D)); # DEBUG BEGIN_STMT uxReturn_45 = 0; # DEBUG uxReturn => uxReturn_45 : # xTicksToWait_14 = PHI # uxReturn_15 = PHI # DEBUG uxReturn => uxReturn_15 # DEBUG xTicksToWait => xTicksToWait_14 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xAlreadyYielded_52 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_52 # DEBUG BEGIN_STMT if (xTicksToWait_14 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (xAlreadyYielded_52 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _8 = 3758157060B; *_8 ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_57 = uxTaskResetEventItemValue (); # DEBUG uxReturn => uxReturn_57 # DEBUG BEGIN_STMT _9 = uxReturn_57 & 33554432; if (_9 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn_59 = pxEventBits_27->uxEventBits; # DEBUG uxReturn => uxReturn_59 # DEBUG BEGIN_STMT _10 = prvTestWaitCondition (uxReturn_59, uxBitsToWaitFor_30(D), xWaitForAllBits_38(D)); if (_10 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (xClearOnExit_41(D) != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _11 = pxEventBits_27->uxEventBits; _12 = ~uxBitsToWaitFor_30(D); _13 = _11 & _12; pxEventBits_27->uxEventBits = _13; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTimeoutOccurred_62 = 1; # DEBUG xTimeoutOccurred => xTimeoutOccurred_62 # DEBUG BEGIN_STMT vPortExitCritical (); : # uxReturn_16 = PHI # DEBUG uxReturn => uxReturn_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_64 = uxReturn_16 & 16777215; # DEBUG uxReturn => uxReturn_64 : # uxReturn_17 = PHI # DEBUG uxReturn => uxReturn_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _65 = uxReturn_17; return _65; } xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait) { BaseType_t xTimeoutOccurred; BaseType_t xAlreadyYielded; struct EventGroup_t * pxEventBits; EventBits_t uxReturn; EventBits_t uxOriginalBitValue; long unsigned int _1; long int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; struct List_t * _8; long unsigned int _9; volatile uint32_t * _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; int iftmp.0_20; int iftmp.0_33; int iftmp.0_34; EventBits_t _59; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxEventBits_27 = xEventGroup_26(D); # DEBUG pxEventBits => pxEventBits_27 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTimeoutOccurred_28 = 0; # DEBUG xTimeoutOccurred => xTimeoutOccurred_28 # DEBUG BEGIN_STMT _1 = uxBitsToWaitFor_29(D) & 4278190080; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxBitsToWaitFor_29(D) == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [INV] else goto ; [INV] : if (xTicksToWait_32(D) == 0) goto ; [INV] else goto ; [INV] : iftmp.0_34 = 1; goto ; [INV] : iftmp.0_33 = 0; : # iftmp.0_20 = PHI if (iftmp.0_20 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT uxOriginalBitValue_36 = pxEventBits_27->uxEventBits; # DEBUG uxOriginalBitValue => uxOriginalBitValue_36 # DEBUG BEGIN_STMT xEventGroupSetBits (xEventGroup_26(D), uxBitsToSet_37(D)); # DEBUG BEGIN_STMT _3 = uxOriginalBitValue_36 | uxBitsToSet_37(D); _4 = uxBitsToWaitFor_29(D) & _3; if (uxBitsToWaitFor_29(D) == _4) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT uxReturn_43 = uxOriginalBitValue_36 | uxBitsToSet_37(D); # DEBUG uxReturn => uxReturn_43 # DEBUG BEGIN_STMT _5 = pxEventBits_27->uxEventBits; _6 = ~uxBitsToWaitFor_29(D); _7 = _5 & _6; pxEventBits_27->uxEventBits = _7; # DEBUG BEGIN_STMT xTicksToWait_45 = 0; # DEBUG xTicksToWait => xTicksToWait_45 goto ; [INV] : # DEBUG BEGIN_STMT if (xTicksToWait_32(D) != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = &pxEventBits_27->xTasksWaitingForBits; _9 = uxBitsToWaitFor_29(D) | 83886080; vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_32(D)); # DEBUG BEGIN_STMT uxReturn_42 = 0; # DEBUG uxReturn => uxReturn_42 goto ; [INV] : # DEBUG BEGIN_STMT uxReturn_39 = pxEventBits_27->uxEventBits; # DEBUG uxReturn => uxReturn_39 # DEBUG BEGIN_STMT xTimeoutOccurred_40 = 1; # DEBUG xTimeoutOccurred => xTimeoutOccurred_40 : # xTicksToWait_16 = PHI # uxReturn_17 = PHI # DEBUG uxReturn => uxReturn_17 # DEBUG xTicksToWait => xTicksToWait_16 # DEBUG BEGIN_STMT xAlreadyYielded_47 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_47 # DEBUG BEGIN_STMT if (xTicksToWait_16 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (xAlreadyYielded_47 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _10 = 3758157060B; *_10 ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_52 = uxTaskResetEventItemValue (); # DEBUG uxReturn => uxReturn_52 # DEBUG BEGIN_STMT _11 = uxReturn_52 & 33554432; if (_11 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn_54 = pxEventBits_27->uxEventBits; # DEBUG uxReturn => uxReturn_54 # DEBUG BEGIN_STMT _12 = uxReturn_54 & uxBitsToWaitFor_29(D); if (uxBitsToWaitFor_29(D) == _12) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _13 = pxEventBits_27->uxEventBits; _14 = ~uxBitsToWaitFor_29(D); _15 = _13 & _14; pxEventBits_27->uxEventBits = _15; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT xTimeoutOccurred_57 = 1; # DEBUG xTimeoutOccurred => xTimeoutOccurred_57 : # uxReturn_18 = PHI # DEBUG uxReturn => uxReturn_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_58 = uxReturn_18 & 16777215; # DEBUG uxReturn => uxReturn_58 : # uxReturn_19 = PHI # DEBUG uxReturn => uxReturn_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _59 = uxReturn_19; return _59; } xEventGroupCreate () { struct EventGroup_t * pxEventBits; struct List_t * _1; struct EventGroupDef_t * _8; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxEventBits_5 = pvPortMalloc (28); # DEBUG pxEventBits => pxEventBits_5 # DEBUG BEGIN_STMT if (pxEventBits_5 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxEventBits_5->uxEventBits = 0; # DEBUG BEGIN_STMT _1 = &pxEventBits_5->xTasksWaitingForBits; vListInitialise (_1); # DEBUG BEGIN_STMT : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = pxEventBits_5; return _8; } __attribute__((always_inline)) vPortSetBASEPRI (uint32_t ulNewMaskValue) { : # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulNewMaskValue_2(D) : "memory"); return; } __attribute__((always_inline)) ulPortRaiseBASEPRI () { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t _5; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_3, "=r" ulNewBASEPRI_4 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_4 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_3 # DEBUG BEGIN_STMT _5 = ulOriginalBASEPRI_3; return _5; } __attribute__((always_inline)) vPortRaiseBASEPRI () { uint32_t ulNewBASEPRI; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_3 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_3 return; }