Enlarge wait time in Greentea test function test_deepsleep

Original wait time is not enough for UART to flush out before deepsleep on some targets.
pull/7224/head
ccli8 2018-06-15 11:48:34 +08:00
parent 8d88bb0ba5
commit 39a6fa9609
1 changed files with 7 additions and 2 deletions

View File

@ -305,14 +305,19 @@ void test_deepsleep(void)
LowPowerTimer timer;
/*
* Since deepsleep() may shut down the UART peripheral, we wait for 10ms
* Since deepsleep() may shut down the UART peripheral, we wait for 20ms
* to allow for hardware serial buffers to completely flush.
*
* Take NUMAKER_PFM_NUC472 as an example:
* Its UART peripheral has 16-byte Tx FIFO. With baud rate set to 9600, flush
* Tx FIFO would take: 16 * 8 * 1000 / 9600 = 13.3 (ms). So set wait time to
* 20ms here for safe.
* 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);
wait_ms(20);
timer.start();
timeout.attach_callback(mbed::callback(sem_callback, &sem), delay_us);