From df025eeac0eda631d0223129c6c9acf15ad4c6b8 Mon Sep 17 00:00:00 2001 From: adustm Date: Tue, 26 Jan 2016 13:13:19 +0100 Subject: [PATCH] [B96B_F446VE] Add this platform to UT_SERIAL_ASYNCH unitary test --- .../utest/serial_asynch/serial_asynch.cpp | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/libraries/tests/utest/serial_asynch/serial_asynch.cpp b/libraries/tests/utest/serial_asynch/serial_asynch.cpp index 9d55c7d4b4..25143fb64a 100644 --- a/libraries/tests/utest/serial_asynch/serial_asynch.cpp +++ b/libraries/tests/utest/serial_asynch/serial_asynch.cpp @@ -39,6 +39,10 @@ #define TEST_SERIAL_ONE_TX_PIN PE10 // usart0 #define TEST_SERIAL_TWO_RX_PIN PC1 // usart1 +#elif defined(TARGET_B96B_F446VE) +#define TEST_SERIAL_ONE_TX_PIN D1 // UART2 +#define TEST_SERIAL_TWO_RX_PIN D4 // UART5 + #else #error Target not supported @@ -199,7 +203,13 @@ TEST(Serial_Asynchronous, rx_parity_error) while ((!tx_complete) || (!rx_complete)); CHECK_EQUAL(SERIAL_EVENT_TX_COMPLETE, tx_event_flag); +#if defined(TARGET_B96B_F446VE) + CHECK_EQUAL((SERIAL_EVENT_RX_COMPLETE|SERIAL_EVENT_RX_PARITY_ERROR), rx_event_flag); + serial_rx->format(8, SerialBase::None, 1); + serial_tx->format(8, SerialBase::None, 1); +#else CHECK_EQUAL(SERIAL_EVENT_RX_PARITY_ERROR, rx_event_flag); +#endif } TEST(Serial_Asynchronous, rx_framing_error) @@ -213,7 +223,12 @@ TEST(Serial_Asynchronous, rx_framing_error) while ((!tx_complete) || (!rx_complete)); CHECK_EQUAL(SERIAL_EVENT_TX_COMPLETE, tx_event_flag); +#if defined(TARGET_B96B_F446VE) + CHECK_EQUAL((SERIAL_EVENT_RX_COMPLETE|SERIAL_EVENT_RX_FRAMING_ERROR), rx_event_flag); + serial_tx->baud(9600); +#else CHECK_EQUAL(SERIAL_EVENT_RX_FRAMING_ERROR, rx_event_flag); +#endif } TEST(Serial_Asynchronous, char_matching_success) @@ -225,9 +240,16 @@ TEST(Serial_Asynchronous, char_matching_success) while ((!tx_complete) || (!rx_complete)); CHECK_EQUAL(SERIAL_EVENT_TX_COMPLETE, tx_event_flag); +#if defined(TARGET_B96B_F446VE) + // DMA is launched on LONG_XFR size. RX Complete event occurs. + CHECK_EQUAL((SERIAL_EVENT_RX_COMPLETE | SERIAL_EVENT_RX_CHARACTER_MATCH), rx_event_flag); + + cmpnbuf(tx_buf, rx_buf, 0, LONG_XFR, __FILE__, __LINE__); +#else CHECK_EQUAL(SERIAL_EVENT_RX_CHARACTER_MATCH, rx_event_flag); cmpnbufc(TEST_BYTE_RX, rx_buf, 5, sizeof(rx_buf), __FILE__, __LINE__); +#endif } TEST(Serial_Asynchronous, char_matching_failed)