Use AzureRTOS ThreadX
This commit is contained in:
@ -462,7 +462,7 @@ HAL_StatusTypeDef HAL_RTCEx_GetTimeStamp(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDe
|
||||
* @{
|
||||
*/
|
||||
|
||||
#if defined(TAMP_CR1_TAMP1E)
|
||||
#if defined(TAMP)
|
||||
/**
|
||||
* @brief Set Tamper
|
||||
* @param hrtc RTC handle
|
||||
@ -529,8 +529,7 @@ HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef * hrtc, RTC_TamperTypeDe
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* TAMP_CR1_TAMP1E */
|
||||
#if defined (RTC_TAMPCR_TAMP1E)
|
||||
#else
|
||||
/**
|
||||
* @brief Set Tamper.
|
||||
* @note By calling this API we disable the tamper interrupt for all tampers.
|
||||
@ -580,89 +579,65 @@ HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef * hrtc, RTC_TamperTypeDe
|
||||
/* Configure the tamper backup registers erasure bit */
|
||||
if (sTamper->NoErase != RTC_TAMPER_ERASE_BACKUP_ENABLE)
|
||||
{
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_1) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP1NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_2) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP2NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_3) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP3NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
}
|
||||
else
|
||||
{
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_1) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP1NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_2) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP2NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_3) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP3NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
}
|
||||
|
||||
/* Configure the tamper flags masking bit */
|
||||
if (sTamper->MaskFlag != RTC_TAMPERMASK_FLAG_DISABLE)
|
||||
{
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_1) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP1MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_2) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP2MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_3) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP3MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
}
|
||||
else
|
||||
{
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_1) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP1MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_2) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP2MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_3) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP3MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
}
|
||||
|
||||
/* Clearing remaining fields before setting them */
|
||||
@ -687,9 +662,9 @@ HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef * hrtc, RTC_TamperTypeDe
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#endif /* TAMP */
|
||||
|
||||
#if defined(TAMP_CR1_TAMP1E)
|
||||
#if defined(TAMP)
|
||||
/**
|
||||
* @brief Set Tamper with interrupt.
|
||||
* @param hrtc RTC handle
|
||||
@ -765,8 +740,7 @@ HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef * hrtc, RTC_TamperTyp
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* TAMP_CR1_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
#else
|
||||
/**
|
||||
* @brief Set Tamper with interrupt.
|
||||
* @note By calling this API we force the tamper interrupt for all tampers.
|
||||
@ -817,89 +791,65 @@ HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef * hrtc, RTC_TamperTyp
|
||||
/* Configure the tamper backup registers erasure bit */
|
||||
if (sTamper->NoErase != RTC_TAMPER_ERASE_BACKUP_ENABLE)
|
||||
{
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_1) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP1NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_2) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP2NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_3) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP3NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
}
|
||||
else
|
||||
{
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_1) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP1NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_2) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP2NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_3) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP3NOERASE);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
}
|
||||
|
||||
/* Configure the tamper flags masking bit */
|
||||
if (sTamper->MaskFlag != RTC_TAMPERMASK_FLAG_DISABLE)
|
||||
{
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_1) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP1MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_2) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP2MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_3) != 0U)
|
||||
{
|
||||
tmpreg |= (uint32_t)(RTC_TAMPCR_TAMP3MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
}
|
||||
else
|
||||
{
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_1) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP1MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_2) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP2MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
if ((sTamper->Tamper & RTC_TAMPER_3) != 0U)
|
||||
{
|
||||
tmpreg &= (uint32_t)~(RTC_TAMPCR_TAMP3MF);
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
}
|
||||
|
||||
/* Clearing remaining fields before setting them */
|
||||
@ -943,9 +893,9 @@ HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef * hrtc, RTC_TamperTyp
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#endif /* TAMP */
|
||||
|
||||
#if defined(TAMP_CR1_TAMP1E)
|
||||
#if defined(TAMP)
|
||||
/**
|
||||
* @brief Deactivate Tamper.
|
||||
* @param hrtc RTC handle
|
||||
@ -976,8 +926,7 @@ HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef * hrtc, uint32_t
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* TAMP_CR1_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
#else
|
||||
/**
|
||||
* @brief Deactivate Tamper.
|
||||
* @param hrtc RTC handle
|
||||
@ -1001,24 +950,20 @@ HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef * hrtc, uint32_t
|
||||
hrtc->Instance->TAMPCR &= ((uint32_t)~Tamper);
|
||||
|
||||
/* Disable the selected Tamper interrupt */
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
if ((Tamper & RTC_TAMPER_1) != 0U)
|
||||
{
|
||||
hrtc->Instance->TAMPCR &= ((uint32_t)~(RTC_IT_TAMP | RTC_IT_TAMP1));
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
|
||||
if ((Tamper & RTC_TAMPER_2) != 0U)
|
||||
{
|
||||
hrtc->Instance->TAMPCR &= ((uint32_t)~(RTC_IT_TAMP | RTC_IT_TAMP2));
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
|
||||
if ((Tamper & RTC_TAMPER_3) != 0U)
|
||||
{
|
||||
hrtc->Instance->TAMPCR &= ((uint32_t)~(RTC_IT_TAMP | RTC_IT_TAMP3));
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
|
||||
hrtc->State = HAL_RTC_STATE_READY;
|
||||
|
||||
@ -1027,9 +972,9 @@ HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef * hrtc, uint32_t
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
#endif /* TAMP */
|
||||
|
||||
#if defined(TAMP_CR1_ITAMP1E)
|
||||
#if defined(TAMP)
|
||||
/**
|
||||
* @brief Set Internal Tamper
|
||||
* @param hrtc RTC handle
|
||||
@ -1111,9 +1056,7 @@ HAL_StatusTypeDef HAL_RTCEx_DeactivateInternalTamper(RTC_HandleTypeDef *hrtc, ui
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* TAMP_CR1_ITAMP1E */
|
||||
|
||||
#if defined(TAMP_ATCR1_TAMP1AM)
|
||||
/**
|
||||
* @brief Set all active Tampers at the same time.
|
||||
* @param hrtc RTC handle
|
||||
@ -1129,11 +1072,12 @@ HAL_StatusTypeDef HAL_RTCEx_SetActiveTampers(RTC_HandleTypeDef *hrtc, RTC_Active
|
||||
{
|
||||
assert_param(IS_RTC_TAMPER_ERASE_MODE(sAllTamper->TampInput[i].NoErase));
|
||||
assert_param(IS_RTC_TAMPER_MASKFLAG_STATE(sAllTamper->TampInput[i].MaskFlag));
|
||||
/* Mask flag only supported by TAMPER 1, 2 and 3 */
|
||||
/* Mask flag only supported by TAMPER 1, 2, and 3 */
|
||||
assert_param(!((sAllTamper->TampInput[i].MaskFlag != RTC_TAMPERMASK_FLAG_DISABLE) && (i > RTC_TAMPER_3)));
|
||||
}
|
||||
|
||||
assert_param(IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(sAllTamper->TimeStampOnTamperDetection));
|
||||
#endif /* #ifdef USE_FULL_ASSERT */
|
||||
#endif /* USE_FULL_ASSERT */
|
||||
|
||||
/* Active Tampers must not be already enabled */
|
||||
if (READ_BIT(TAMP->ATOR, TAMP_ATOR_INITS) != 0U)
|
||||
@ -1213,7 +1157,7 @@ HAL_StatusTypeDef HAL_RTCEx_SetActiveTampers(RTC_HandleTypeDef *hrtc, RTC_Active
|
||||
WRITE_REG(TAMP->ATSEEDR, sAllTamper->Seed[i]);
|
||||
}
|
||||
|
||||
/* Wait till RTC SEEDF flag is set and if Time out is reached exit */
|
||||
/* Wait till RTC SEEDF flag is set and if timeout is reached exit */
|
||||
tickstart = HAL_GetTick();
|
||||
while (READ_BIT(TAMP->ATOR, TAMP_ATOR_SEEDF) != 0u)
|
||||
{
|
||||
@ -1226,9 +1170,7 @@ HAL_StatusTypeDef HAL_RTCEx_SetActiveTampers(RTC_HandleTypeDef *hrtc, RTC_Active
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* TAMP_ATCR1_TAMP1AM */
|
||||
|
||||
#if defined(TAMP_ATSEEDR_SEED)
|
||||
/**
|
||||
* @brief Write a new seed. Active tamper must be enabled.
|
||||
* @param hrtc RTC handle
|
||||
@ -1250,7 +1192,7 @@ HAL_StatusTypeDef HAL_RTCEx_SetActiveSeed(RTC_HandleTypeDef *hrtc, uint32_t *pSe
|
||||
WRITE_REG(TAMP->ATSEEDR, pSeed[i]);
|
||||
}
|
||||
|
||||
/* Wait till RTC SEEDF flag is set and if Time out is reached exit */
|
||||
/* Wait till RTC SEEDF flag is set and if timeout is reached exit */
|
||||
tickstart = HAL_GetTick();
|
||||
while (READ_BIT(TAMP->ATOR, TAMP_ATOR_SEEDF) != 0U)
|
||||
{
|
||||
@ -1263,9 +1205,7 @@ HAL_StatusTypeDef HAL_RTCEx_SetActiveSeed(RTC_HandleTypeDef *hrtc, uint32_t *pSe
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* TAMP_ATSEEDR_SEED */
|
||||
|
||||
#if defined(TAMP_ATCR1_TAMP1AM)
|
||||
/**
|
||||
* @brief Deactivate all Active Tampers at the same time.
|
||||
* @param hrtc RTC handle
|
||||
@ -1298,7 +1238,7 @@ HAL_StatusTypeDef HAL_RTCEx_DeactivateActiveTampers(RTC_HandleTypeDef *hrtc)
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* TAMP_ATCR1_TAMP1AM */
|
||||
#endif /* TAMP */
|
||||
|
||||
/**
|
||||
* @}
|
||||
@ -1311,11 +1251,11 @@ HAL_StatusTypeDef HAL_RTCEx_DeactivateActiveTampers(RTC_HandleTypeDef *hrtc)
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Handle TimeStamp interrupt request.
|
||||
* @brief Handle Tamper and TimeStamp interrupt request.
|
||||
* @param hrtc RTC handle
|
||||
* @retval None
|
||||
*/
|
||||
#if defined(RTC_MISR_TSMF)
|
||||
#if defined(TAMP)
|
||||
void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
{
|
||||
|
||||
@ -1343,151 +1283,130 @@ void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
/* Immediately clear flags */
|
||||
tamp->SCR = tmp;
|
||||
|
||||
#if defined(TAMP_CR1_TAMP1E)
|
||||
/* Check Tamper1 status */
|
||||
/* Check Tamper 1 status */
|
||||
if ((tmp & RTC_TAMPER_1) == RTC_TAMPER_1)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Tamper 1 Event registered Callback */
|
||||
hrtc->Tamper1EventCallback(hrtc);
|
||||
#else
|
||||
/* Tamper1 callback */
|
||||
/* Tamper 1 callback */
|
||||
HAL_RTCEx_Tamper1EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_TAMP1E */
|
||||
|
||||
#if defined(TAMP_CR1_TAMP2E)
|
||||
/* Check Tamper2 status */
|
||||
/* Check Tamper 2 status */
|
||||
if ((tmp & RTC_TAMPER_2) == RTC_TAMPER_2)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Tamper 2 Event registered Callback */
|
||||
hrtc->Tamper2EventCallback(hrtc);
|
||||
#else
|
||||
/* Tamper2 callback */
|
||||
/* Tamper 2 callback */
|
||||
HAL_RTCEx_Tamper2EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_TAMP2E */
|
||||
|
||||
#if defined(TAMP_CR1_TAMP3E)
|
||||
/* Check Tamper3 status */
|
||||
/* Check Tamper 3 status */
|
||||
if ((tmp & RTC_TAMPER_3) == RTC_TAMPER_3)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Tamper 3 Event registered Callback */
|
||||
hrtc->Tamper3EventCallback(hrtc);
|
||||
#else
|
||||
/* Tamper3 callback */
|
||||
/* Tamper 3 callback */
|
||||
HAL_RTCEx_Tamper3EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_TAMP3E */
|
||||
|
||||
#if defined(TAMP_CR1_ITAMP1E)
|
||||
/* Check Internal Tamper status */
|
||||
/* Check Internal Tamper 1 status */
|
||||
if ((tmp & RTC_INT_TAMPER_1) == RTC_INT_TAMPER_1)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Internal Tamper Event registered callback */
|
||||
/* Call Internal Tamper 1 Event registered callback */
|
||||
hrtc->InternalTamper1EventCallback(hrtc);
|
||||
#else
|
||||
/* Call Internal Tamper Event by-default callback */
|
||||
/* Call Internal Tamper 1 Event by-default callback */
|
||||
HAL_RTCEx_InternalTamper1EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_ITAMP1E */
|
||||
|
||||
#if defined(TAMP_CR1_ITAMP2E)
|
||||
/* Check Internal Tamper status */
|
||||
/* Check Internal Tamper 2 status */
|
||||
if ((tmp & RTC_INT_TAMPER_2) == RTC_INT_TAMPER_2)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Internal Tamper Event registered callback */
|
||||
/* Call Internal Tamper 2 Event registered callback */
|
||||
hrtc->InternalTamper2EventCallback(hrtc);
|
||||
#else
|
||||
/* Call Internal Tamper Event by-default callback */
|
||||
/* Call Internal Tamper 2 Event by-default callback */
|
||||
HAL_RTCEx_InternalTamper2EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_ITAMP2E */
|
||||
|
||||
#if defined(TAMP_CR1_ITAMP3E)
|
||||
/* Check Internal Tamper status */
|
||||
/* Check Internal Tamper 3 status */
|
||||
if ((tmp & RTC_INT_TAMPER_3) == RTC_INT_TAMPER_3)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Internal Tamper Event registered callback */
|
||||
/* Call Internal Tamper 3 Event registered callback */
|
||||
hrtc->InternalTamper3EventCallback(hrtc);
|
||||
#else
|
||||
/* Call Internal Tamper Event by-default callback */
|
||||
/* Call Internal Tamper 3 Event by-default callback */
|
||||
HAL_RTCEx_InternalTamper3EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_ITAMP3E */
|
||||
|
||||
#if defined(TAMP_CR1_ITAMP4E)
|
||||
/* Check Internal Tamper status */
|
||||
/* Check Internal Tamper 4 status */
|
||||
if ((tmp & RTC_INT_TAMPER_4) == RTC_INT_TAMPER_4)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Internal Tamper Event registered callback */
|
||||
/* Call Internal Tamper 4 Event registered callback */
|
||||
hrtc->InternalTamper4EventCallback(hrtc);
|
||||
#else
|
||||
/* Call Internal Tamper Event by-default callback */
|
||||
/* Call Internal Tamper 4 Event by-default callback */
|
||||
HAL_RTCEx_InternalTamper4EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_ITAMP4E */
|
||||
|
||||
#if defined(TAMP_CR1_ITAMP5E)
|
||||
/* Check Internal Tamper status */
|
||||
/* Check Internal Tamper 5 status */
|
||||
if ((tmp & RTC_INT_TAMPER_5) == RTC_INT_TAMPER_5)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Internal Tamper Event registered callback */
|
||||
/* Call Internal Tamper 5 Event registered callback */
|
||||
hrtc->InternalTamper5EventCallback(hrtc);
|
||||
#else
|
||||
/* Call Internal Tamper Event by-default callback */
|
||||
/* Call Internal Tamper 5 Event by-default callback */
|
||||
HAL_RTCEx_InternalTamper5EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_ITAMP5E */
|
||||
|
||||
#if defined(TAMP_CR1_ITAMP6E)
|
||||
/* Check Internal Tamper status */
|
||||
/* Check Internal Tamper 6 status */
|
||||
if ((tmp & RTC_INT_TAMPER_6) == RTC_INT_TAMPER_6)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Internal Tamper Event registered callback */
|
||||
/* Call Internal Tamper 6 Event registered callback */
|
||||
hrtc->InternalTamper6EventCallback(hrtc);
|
||||
#else
|
||||
/* Call Internal Tamper Event by-default callback */
|
||||
/* Call Internal Tamper 6 Event by-default callback */
|
||||
HAL_RTCEx_InternalTamper6EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_ITAMP6E */
|
||||
|
||||
#if defined(TAMP_CR1_ITAMP8E)
|
||||
/* Check Internal Tamper status */
|
||||
/* Check Internal Tamper 8 status */
|
||||
if ((tmp & RTC_INT_TAMPER_8) == RTC_INT_TAMPER_8)
|
||||
{
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
/* Call Internal Tamper Event registered callback */
|
||||
/* Call Internal Tamper 8 Event registered callback */
|
||||
hrtc->InternalTamper8EventCallback(hrtc);
|
||||
#else
|
||||
/* Call Internal Tamper Event by-default callback */
|
||||
/* Call Internal Tamper 8 Event by-default callback */
|
||||
HAL_RTCEx_InternalTamper8EventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* TAMP_CR1_ITAMP8E */
|
||||
|
||||
/* Change RTC state */
|
||||
hrtc->State = HAL_RTC_STATE_READY;
|
||||
}
|
||||
#endif /* RTC_MISR_TSMF */
|
||||
#if defined(RTC_ISR_TSF)
|
||||
#else
|
||||
void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
{
|
||||
/* Clear the EXTI's Flag for RTC TimeStamp and Tamper */
|
||||
@ -1522,17 +1441,16 @@ void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(RTC_TAMPCR_TAMP1E)
|
||||
/* Get the Tamper1 interrupt source enable status */
|
||||
/* Get the Tamper 1 interrupt source enable status */
|
||||
if (__HAL_RTC_TAMPER_GET_IT_SOURCE(hrtc, RTC_IT_TAMP | RTC_IT_TAMP1) != 0U)
|
||||
{
|
||||
/* Get the pending status of the Tamper1 Interrupt */
|
||||
/* Get the pending status of the Tamper 1 Interrupt */
|
||||
if (__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP1F) != 0U)
|
||||
{
|
||||
/* Clear the Tamper1 interrupt pending bit */
|
||||
/* Clear the Tamper 1 interrupt pending bit */
|
||||
__HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP1F);
|
||||
|
||||
/* Tamper1 callback */
|
||||
/* Tamper 1 callback */
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
hrtc->Tamper1EventCallback(hrtc);
|
||||
#else /* (USE_HAL_RTC_REGISTER_CALLBACKS == 1) */
|
||||
@ -1540,19 +1458,17 @@ void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
#endif /* (USE_HAL_RTC_REGISTER_CALLBACKS == 1) */
|
||||
}
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP1E */
|
||||
|
||||
#if defined(RTC_TAMPCR_TAMP2E)
|
||||
/* Get the Tamper2 interrupt source enable status */
|
||||
/* Get the Tamper 2 interrupt source enable status */
|
||||
if (__HAL_RTC_TAMPER_GET_IT_SOURCE(hrtc, RTC_IT_TAMP | RTC_IT_TAMP2) != 0U)
|
||||
{
|
||||
/* Get the pending status of the Tamper2 Interrupt */
|
||||
/* Get the pending status of the Tamper 2 Interrupt */
|
||||
if (__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP2F) != 0U)
|
||||
{
|
||||
/* Clear the Tamper2 interrupt pending bit */
|
||||
/* Clear the Tamper 2 interrupt pending bit */
|
||||
__HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP2F);
|
||||
|
||||
/* Tamper2 callback */
|
||||
/* Tamper 2 callback */
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
hrtc->Tamper2EventCallback(hrtc);
|
||||
#else /* (USE_HAL_RTC_REGISTER_CALLBACKS == 1) */
|
||||
@ -1560,19 +1476,17 @@ void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
#endif /* (USE_HAL_RTC_REGISTER_CALLBACKS == 1) */
|
||||
}
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP2E */
|
||||
|
||||
#if defined(RTC_TAMPCR_TAMP3E)
|
||||
/* Get the Tamper3 interrupts source enable status */
|
||||
/* Get the Tamper 3 interrupts source enable status */
|
||||
if (__HAL_RTC_TAMPER_GET_IT_SOURCE(hrtc, RTC_IT_TAMP | RTC_IT_TAMP3) != 0U)
|
||||
{
|
||||
/* Get the pending status of the Tamper3 Interrupt */
|
||||
/* Get the pending status of the Tamper 3 Interrupt */
|
||||
if (__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP3F) != 0U)
|
||||
{
|
||||
/* Clear the Tamper3 interrupt pending bit */
|
||||
/* Clear the Tamper 3 interrupt pending bit */
|
||||
__HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP3F);
|
||||
|
||||
/* Tamper3 callback */
|
||||
/* Tamper 3 callback */
|
||||
#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
|
||||
hrtc->Tamper3EventCallback(hrtc);
|
||||
#else /* (USE_HAL_RTC_REGISTER_CALLBACKS == 1) */
|
||||
@ -1580,12 +1494,11 @@ void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
#endif /* (USE_HAL_RTC_REGISTER_CALLBACKS == 1) */
|
||||
}
|
||||
}
|
||||
#endif /* RTC_TAMPCR_TAMP3E */
|
||||
|
||||
/* Change RTC state */
|
||||
hrtc->State = HAL_RTC_STATE_READY;
|
||||
}
|
||||
#endif /* RTC_ISR_TSF */
|
||||
#endif /* TAMP */
|
||||
|
||||
/**
|
||||
* @brief TimeStamp callback.
|
||||
@ -1612,7 +1525,6 @@ __weak void HAL_RTCEx_TimeStampEventCallback(RTC_HandleTypeDef *hrtc)
|
||||
* @{
|
||||
*/
|
||||
|
||||
#if defined(RTC_TAMPER_1)
|
||||
/**
|
||||
* @brief Tamper 1 callback.
|
||||
* @param hrtc RTC handle
|
||||
@ -1627,9 +1539,7 @@ __weak void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef * hrtc)
|
||||
the HAL_RTCEx_Tamper1EventCallback could be implemented in the user file
|
||||
*/
|
||||
}
|
||||
#endif /* RTC_TAMPER_1 */
|
||||
|
||||
#if defined(RTC_TAMPER_2)
|
||||
/**
|
||||
* @brief Tamper 2 callback.
|
||||
* @param hrtc RTC handle
|
||||
@ -1644,9 +1554,7 @@ __weak void HAL_RTCEx_Tamper2EventCallback(RTC_HandleTypeDef * hrtc)
|
||||
the HAL_RTCEx_Tamper2EventCallback could be implemented in the user file
|
||||
*/
|
||||
}
|
||||
#endif /* RTC_TAMPER_2 */
|
||||
|
||||
#if defined(RTC_TAMPER_3)
|
||||
/**
|
||||
* @brief Tamper 3 callback.
|
||||
* @param hrtc RTC handle
|
||||
@ -1661,8 +1569,8 @@ __weak void HAL_RTCEx_Tamper3EventCallback(RTC_HandleTypeDef * hrtc)
|
||||
the HAL_RTCEx_Tamper3EventCallback could be implemented in the user file
|
||||
*/
|
||||
}
|
||||
#endif /* RTC_TAMPER_3 */
|
||||
|
||||
#if defined(TAMP)
|
||||
/**
|
||||
* @brief Internal Tamper 1 callback.
|
||||
* @param hrtc RTC handle
|
||||
@ -1767,6 +1675,8 @@ __weak void HAL_RTCEx_InternalTamper8EventCallback(RTC_HandleTypeDef *hrtc)
|
||||
the HAL_RTCEx_InternalTamper8EventCallback could be implemented in the user file
|
||||
*/
|
||||
}
|
||||
#endif /* TAMP */
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
@ -1826,7 +1736,6 @@ HAL_StatusTypeDef HAL_RTCEx_PollForTimeStampEvent(RTC_HandleTypeDef *hrtc, uint3
|
||||
* @{
|
||||
*/
|
||||
|
||||
#if defined(RTC_TAMPER_1)
|
||||
/**
|
||||
* @brief Handle Tamper1 Polling.
|
||||
* @param hrtc RTC handle
|
||||
@ -1858,9 +1767,7 @@ HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef * hrtc, uint32
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* RTC_TAMPER_1 */
|
||||
|
||||
#if defined(RTC_TAMPER_2)
|
||||
/**
|
||||
* @brief Handle Tamper2 Polling.
|
||||
* @param hrtc RTC handle
|
||||
@ -1892,9 +1799,7 @@ HAL_StatusTypeDef HAL_RTCEx_PollForTamper2Event(RTC_HandleTypeDef * hrtc, uint32
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* RTC_TAMPER_2 */
|
||||
|
||||
#if defined(RTC_TAMPER_3)
|
||||
/**
|
||||
* @brief Handle Tamper3 Polling.
|
||||
* @param hrtc RTC handle
|
||||
@ -1926,9 +1831,8 @@ HAL_StatusTypeDef HAL_RTCEx_PollForTamper3Event(RTC_HandleTypeDef * hrtc, uint32
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* RTC_TAMPER_3 */
|
||||
|
||||
#if defined(TAMP_CR1_ITAMP1E)
|
||||
#if defined(TAMP)
|
||||
/**
|
||||
* @brief Internal Tamper event polling.
|
||||
* @param hrtc RTC handle
|
||||
@ -1961,7 +1865,7 @@ HAL_StatusTypeDef HAL_RTCEx_PollForInternalTamperEvent(RTC_HandleTypeDef *hrtc,
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* TAMP_CR1_ITAMP1E */
|
||||
#endif /* TAMP */
|
||||
|
||||
/**
|
||||
* @}
|
||||
@ -2010,36 +1914,34 @@ HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer(RTC_HandleTypeDef *hrtc, uint32_t Wak
|
||||
/* Poll WUTWF until it is set in RTC_ICSR / RTC_ISR to make sure the access to wakeup autoreload
|
||||
counter and to WUCKSEL[2:0] bits is allowed. This step must be skipped in
|
||||
calendar initialization mode. */
|
||||
#if defined(RTC_ISR_INITF)
|
||||
#if defined(TAMP)
|
||||
if (READ_BIT(RTC->ICSR, RTC_ICSR_INITF) == 0U)
|
||||
{
|
||||
tickstart = HAL_GetTick();
|
||||
|
||||
while (READ_BIT(hrtc->Instance->ICSR, RTC_FLAG_WUTWF) == 0U)
|
||||
#else
|
||||
if (READ_BIT(RTC->ISR, RTC_ISR_INITF) == 0U)
|
||||
#endif /* RTC_ISR_INITF */
|
||||
#if defined(RTC_ICSR_INITF)
|
||||
if (READ_BIT(RTC->ICSR, RTC_ICSR_INITF) == 0U)
|
||||
#endif /* RTC_ICSR_INITF */
|
||||
{
|
||||
tickstart = HAL_GetTick();
|
||||
|
||||
while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U)
|
||||
#endif /* TAMP */
|
||||
{
|
||||
tickstart = HAL_GetTick();
|
||||
if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
|
||||
{
|
||||
/* Enable the write protection for RTC registers */
|
||||
__HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
|
||||
|
||||
#if defined(RTC_ICSR_WUTWF)
|
||||
while (READ_BIT(hrtc->Instance->ICSR, RTC_FLAG_WUTWF) == 0U)
|
||||
#endif /* RTC_ICSR_WUTWF */
|
||||
#if defined(RTC_ISR_WUTWF)
|
||||
while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U)
|
||||
#endif /* RTC_ISR_WUTWF */
|
||||
{
|
||||
if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
|
||||
{
|
||||
/* Enable the write protection for RTC registers */
|
||||
__HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
|
||||
hrtc->State = HAL_RTC_STATE_TIMEOUT;
|
||||
|
||||
hrtc->State = HAL_RTC_STATE_TIMEOUT;
|
||||
/* Process Unlocked */
|
||||
__HAL_UNLOCK(hrtc);
|
||||
|
||||
/* Process Unlocked */
|
||||
__HAL_UNLOCK(hrtc);
|
||||
|
||||
return HAL_TIMEOUT;
|
||||
}
|
||||
}
|
||||
return HAL_TIMEOUT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Clear the Wakeup Timer clock source bits and configure the clock source in CR register */
|
||||
uint32_t CR_tmp = hrtc->Instance->CR;
|
||||
@ -2093,36 +1995,34 @@ HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer_IT(RTC_HandleTypeDef *hrtc, uint32_t
|
||||
/* Poll WUTWF until it is set in RTC_ICSR to make sure the access to wakeup autoreload
|
||||
counter and to WUCKSEL[2:0] bits is allowed. This step must be skipped in
|
||||
calendar initialization mode. */
|
||||
#if defined(RTC_ISR_INITF)
|
||||
#if defined(TAMP)
|
||||
if (READ_BIT(RTC->ICSR, RTC_ICSR_INITF) == 0U)
|
||||
{
|
||||
tickstart = HAL_GetTick();
|
||||
|
||||
while (READ_BIT(hrtc->Instance->ICSR, RTC_FLAG_WUTWF) == 0U)
|
||||
#else
|
||||
if (READ_BIT(RTC->ISR, RTC_ISR_INITF) == 0U)
|
||||
#endif /* RTC_ISR_INITF */
|
||||
#if defined(RTC_ICSR_INITF)
|
||||
if (READ_BIT(RTC->ICSR, RTC_ICSR_INITF) == 0U)
|
||||
#endif /* RTC_ICSR_INITF */
|
||||
{
|
||||
tickstart = HAL_GetTick();
|
||||
|
||||
while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U)
|
||||
#endif /* TAMP */
|
||||
{
|
||||
tickstart = HAL_GetTick();
|
||||
if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
|
||||
{
|
||||
/* Enable the write protection for RTC registers */
|
||||
__HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
|
||||
|
||||
#if defined(RTC_ICSR_WUTWF)
|
||||
while (READ_BIT(hrtc->Instance->ICSR, RTC_FLAG_WUTWF) == 0U)
|
||||
#endif /* RTC_ICSR_WUTWF */
|
||||
#if defined(RTC_ISR_WUTWF)
|
||||
while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U)
|
||||
#endif /* RTC_ISR_WUTWF */
|
||||
{
|
||||
if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
|
||||
{
|
||||
/* Enable the write protection for RTC registers */
|
||||
__HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
|
||||
hrtc->State = HAL_RTC_STATE_TIMEOUT;
|
||||
|
||||
hrtc->State = HAL_RTC_STATE_TIMEOUT;
|
||||
/* Process Unlocked */
|
||||
__HAL_UNLOCK(hrtc);
|
||||
|
||||
/* Process Unlocked */
|
||||
__HAL_UNLOCK(hrtc);
|
||||
|
||||
return HAL_TIMEOUT;
|
||||
}
|
||||
}
|
||||
return HAL_TIMEOUT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Configure the Wakeup Timer counter */
|
||||
hrtc->Instance->WUTR = (uint32_t)WakeUpCounter;
|
||||
@ -2192,13 +2092,12 @@ HAL_StatusTypeDef HAL_RTCEx_DeactivateWakeUpTimer(RTC_HandleTypeDef *hrtc)
|
||||
__HAL_RTC_WAKEUPTIMER_DISABLE_IT(hrtc, RTC_IT_WUT);
|
||||
|
||||
tickstart = HAL_GetTick();
|
||||
/* Wait till RTC WUTWF flag is set and if Time out is reached exit */
|
||||
#if defined(RTC_ICSR_WUTWF)
|
||||
while (READ_BIT(hrtc->Instance->ICSR, RTC_FLAG_WUTWF) == 0U)
|
||||
#endif /* RTC_ICSR_WUTWF */
|
||||
#if defined(RTC_ISR_WUTWF)
|
||||
while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U)
|
||||
#endif /* RTC_ISR_WUTWF */
|
||||
/* Wait till RTC WUTWF flag is set and if timeout is reached exit */
|
||||
#if defined(TAMP)
|
||||
while (READ_BIT(hrtc->Instance->ICSR, RTC_FLAG_WUTWF) == 0U)
|
||||
#else
|
||||
while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U)
|
||||
#endif /* TAMP */
|
||||
{
|
||||
if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
|
||||
{
|
||||
@ -2257,7 +2156,7 @@ void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
__HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG();
|
||||
#endif /* DUAL_CORE */
|
||||
|
||||
#if defined(RTC_MISR_WUTMF)
|
||||
#if defined(TAMP)
|
||||
/* Get the pending status of the WAKEUPTIMER Interrupt */
|
||||
if ((hrtc->Instance->MISR & RTC_MISR_WUTMF) != 0u)
|
||||
{
|
||||
@ -2272,8 +2171,7 @@ void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
HAL_RTCEx_WakeUpTimerEventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* RTC_MISR_WUTMF */
|
||||
#if defined(RTC_ISR_WUTF)
|
||||
#else
|
||||
/* Get the pending status of the WAKEUPTIMER Interrupt */
|
||||
if (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTF) != 0U)
|
||||
{
|
||||
@ -2288,7 +2186,7 @@ void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc)
|
||||
HAL_RTCEx_WakeUpTimerEventCallback(hrtc);
|
||||
#endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
|
||||
}
|
||||
#endif /* RTC_ISR_WUTF */
|
||||
#endif /* TAMP */
|
||||
|
||||
/* Change RTC state */
|
||||
hrtc->State = HAL_RTC_STATE_READY;
|
||||
@ -2383,12 +2281,11 @@ void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef * hrtc, uint32_t BackupRegister, uint
|
||||
assert_param(IS_RTC_BKP(BackupRegister));
|
||||
|
||||
/* Point on address of first backup register */
|
||||
#if defined(TAMP_BKP0R)
|
||||
#if defined(TAMP)
|
||||
tmp = (uint32_t) & (((TAMP_TypeDef *)((uint32_t)hrtc->Instance + TAMP_OFFSET))->BKP0R);
|
||||
#endif /* TAMP_BKP0R */
|
||||
#if defined(RTC_BKP0R)
|
||||
#else
|
||||
tmp = (uint32_t) & (hrtc->Instance->BKP0R);
|
||||
#endif /* RTC_BKP0R */
|
||||
#endif /* TAMP */
|
||||
|
||||
tmp += (BackupRegister * 4U);
|
||||
|
||||
@ -2413,12 +2310,11 @@ uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef * hrtc, uint32_t BackupRegister)
|
||||
assert_param(IS_RTC_BKP(BackupRegister));
|
||||
|
||||
/* Point on address of first backup register */
|
||||
#if defined(TAMP_BKP0R)
|
||||
#if defined(TAMP)
|
||||
tmp = (uint32_t) & (((TAMP_TypeDef *)((uint32_t)hrtc->Instance + TAMP_OFFSET))->BKP0R);
|
||||
#endif /* TAMP_BKP0R */
|
||||
#if defined(RTC_BKP0R)
|
||||
#else
|
||||
tmp = (uint32_t) & (hrtc->Instance->BKP0R);
|
||||
#endif /* RTC_BKP0R */
|
||||
#endif /* TAMP */
|
||||
|
||||
tmp += (BackupRegister * 4U);
|
||||
|
||||
@ -2494,39 +2390,39 @@ HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef * hrtc, uint32_t Sm
|
||||
/* Disable the write protection for RTC registers */
|
||||
__HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
|
||||
|
||||
#if defined(TAMP)
|
||||
/* check if a calibration operation is pending */
|
||||
#if defined(RTC_ICSR_RECALPF)
|
||||
if ((hrtc->Instance->ICSR & RTC_ICSR_RECALPF) != 0U)
|
||||
#endif /* RTC_ICSR_RECALPF */
|
||||
#if defined(RTC_ISR_RECALPF)
|
||||
if ((hrtc->Instance->ISR & RTC_ISR_RECALPF) != 0U)
|
||||
#endif /* RTC_ISR_RECALPF */
|
||||
{
|
||||
tickstart = HAL_GetTick();
|
||||
|
||||
/* Wait for pending calibration operation to finish */
|
||||
while ((hrtc->Instance->ICSR & RTC_ICSR_RECALPF) != 0U)
|
||||
#else
|
||||
/* check if a calibration operation is pending */
|
||||
if ((hrtc->Instance->ISR & RTC_ISR_RECALPF) != 0U)
|
||||
{
|
||||
tickstart = HAL_GetTick();
|
||||
|
||||
/* Wait for pending calibration operation to finish */
|
||||
while ((hrtc->Instance->ISR & RTC_ISR_RECALPF) != 0U)
|
||||
#endif /* TAMP */
|
||||
{
|
||||
tickstart = HAL_GetTick();
|
||||
if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
|
||||
{
|
||||
/* Enable the write protection for RTC registers */
|
||||
__HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
|
||||
|
||||
/* Wait for pending calibration operation to finish */
|
||||
#if defined(RTC_ICSR_RECALPF)
|
||||
while ((hrtc->Instance->ICSR & RTC_ICSR_RECALPF) != 0U)
|
||||
#endif /* RTC_ICSR_RECALPF */
|
||||
#if defined(RTC_ISR_RECALPF)
|
||||
while ((hrtc->Instance->ISR & RTC_ISR_RECALPF) != 0U)
|
||||
#endif /* RTC_ISR_RECALPF */
|
||||
{
|
||||
if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
|
||||
{
|
||||
/* Enable the write protection for RTC registers */
|
||||
__HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
|
||||
/* Change RTC state */
|
||||
hrtc->State = HAL_RTC_STATE_TIMEOUT;
|
||||
|
||||
/* Change RTC state */
|
||||
hrtc->State = HAL_RTC_STATE_TIMEOUT;
|
||||
/* Process Unlocked */
|
||||
__HAL_UNLOCK(hrtc);
|
||||
|
||||
/* Process Unlocked */
|
||||
__HAL_UNLOCK(hrtc);
|
||||
|
||||
return HAL_TIMEOUT;
|
||||
}
|
||||
}
|
||||
return HAL_TIMEOUT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Configure the Smooth calibration settings */
|
||||
MODIFY_REG(hrtc->Instance->CALR, (RTC_CALR_CALP | RTC_CALR_CALW8 | RTC_CALR_CALW16 | RTC_CALR_CALM), (uint32_t)(SmoothCalibPeriod | SmoothCalibPlusPulses | SmoothCalibMinusPulsesValue));
|
||||
@ -2574,12 +2470,11 @@ HAL_StatusTypeDef HAL_RTCEx_SetSynchroShift(RTC_HandleTypeDef * hrtc, uint32_t S
|
||||
tickstart = HAL_GetTick();
|
||||
|
||||
/* Wait until the shift is completed */
|
||||
#if defined(RTC_ICSR_SHPF)
|
||||
#if defined(TAMP)
|
||||
while ((hrtc->Instance->ICSR & RTC_ICSR_SHPF) != 0U)
|
||||
#endif /* RTC_ICSR_SHPF */
|
||||
#if defined(RTC_ISR_SHPF)
|
||||
#else
|
||||
while ((hrtc->Instance->ISR & RTC_ISR_SHPF) != 0U)
|
||||
#endif /* RTC_ISR_SHPF */
|
||||
#endif /* TAMP */
|
||||
{
|
||||
if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
|
||||
{
|
||||
@ -2860,7 +2755,7 @@ HAL_StatusTypeDef HAL_RTCEx_DisableBypassShadow(RTC_HandleTypeDef * hrtc)
|
||||
return HAL_OK;
|
||||
}
|
||||
|
||||
#if defined(TAMP_COUNTR)
|
||||
#if defined(TAMP)
|
||||
/**
|
||||
* @brief Increment Monotonic counter.
|
||||
* @param hrtc RTC handle
|
||||
@ -2899,7 +2794,7 @@ HAL_StatusTypeDef HAL_RTCEx_MonotonicCounterGet(RTC_HandleTypeDef *hrtc, uint32_
|
||||
|
||||
return HAL_OK;
|
||||
}
|
||||
#endif /* TAMP_COUNTR */
|
||||
#endif /* TAMP */
|
||||
|
||||
/**
|
||||
* @}
|
||||
|
||||
Reference in New Issue
Block a user