Merge pull request #3017 from bridadan/wait-before-deepsleep-test

[tests] Waiting before call to deepsleep to allow buffers to flush
pull/3076/head
Sam Grove 2016-10-19 05:46:03 -05:00 committed by GitHub
commit 64c527ee44
2 changed files with 24 additions and 4 deletions

View File

@ -43,6 +43,16 @@ void lp_timeout_1s_deepsleep(void)
{
complete = false;
/*
* Since deepsleep() may shut down the UART peripheral, we wait for 10ms
* to allow for hardware serial buffers to completely flush.
* This should be replaced with a better function that checks if the
* hardware buffers are empty. However, such an API does not exist now,
* so we'll use the wait_ms() function for now.
*/
wait_ms(10);
/*
* We use here lp_ticker_read() instead of us_ticker_read() for start and
* end because the microseconds timer might be disable during deepsleep.

View File

@ -65,6 +65,16 @@ void lp_ticker_1s_deepsleep()
complete = false;
uint32_t delay_ts;
/*
* Since deepsleep() may shut down the UART peripheral, we wait for 10ms
* to allow for hardware serial buffers to completely flush.
* This should be replaced with a better function that checks if the
* hardware buffers are empty. However, such an API does not exist now,
* so we'll use the wait_ms() function for now.
*/
wait_ms(10);
ticker_set_handler(lp_ticker_data, cb_done);
ticker_remove_event(lp_ticker_data, &delay_event);
delay_ts = lp_ticker_read() + 1000000;