Merge pull request #8136 from fkjagodzinski/fix-stm-us_ticker_after_deepsleep

STM: Fix us_ticker timestamp after deep sleep
pull/7938/merge
Martin Kojtal 2018-09-19 12:15:10 +02:00 committed by GitHub
commit 6d5cb6c69b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 0 deletions

View File

@ -158,6 +158,7 @@ void hal_sleep(void)
}
extern int serial_is_tx_ongoing(void);
extern int mbed_sdk_inited;
void hal_deepsleep(void)
{
@ -200,6 +201,10 @@ void hal_deepsleep(void)
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
#endif /* TARGET_STM32L4 */
/* Prevent HAL_GetTick() from using ticker_read_us() to read the
* us_ticker timestamp until the us_ticker context is restored. */
mbed_sdk_inited = 0;
// Verify Clock Out of Deep Sleep
ForceClockOutofDeepSleep();
@ -214,6 +219,10 @@ void hal_deepsleep(void)
restore_timer_ctx();
/* us_ticker context restored, allow HAL_GetTick() to read the us_ticker
* timestamp via ticker_read_us() again. */
mbed_sdk_inited = 1;
// Enable IRQs
core_util_critical_section_exit();
}