Skip to content

B96B async serial #1493

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
Jan 29, 2016
Merged

B96B async serial #1493

merged 16 commits into from
Jan 29, 2016

Conversation

adustm
Copy link
Member

@adustm adustm commented Jan 7, 2016

No description provided.

@adustm
Copy link
Member Author

adustm commented Jan 7, 2016

DTCT_1 EXAMPLE_1 MBED_10 MBED_11 MBED_12 MBED_16 MBED_2 MBED_23 MBED_24 MBED_25 MBED_26 MBED_34 MBED_37 MBED_38 MBED_A1 MBED_A21 MBED_A9 MBED_BUSOUT RTOS_1 RTOS_2 RTOS_3 RTOS_4 RTOS_5 RTOS_6 RTOS_7 RTOS_8
ARM B96B_F446VE OK OK OK OK OK FAIL OK OK OK OK OK OK FAIL OK OK OK OK OK OK OK OK OK OK OK OK OK
GCC_ARM B96B_F446VE OK OK OK OK OK FAIL OK OK OK OK OK OK FAIL OK OK OK OK OK OK OK OK OK OK OK OK OK
IAR B96B_F446VE OK OK OK OK OK FAIL OK OK OK OK OK OK FAIL OK OK OK OK OK OK OK OK OK OK OK OK OK
uARM B96B_F446VE OK OK OK OK OK FAIL OK OK OK OK OK OK FAIL OK OK OK OK OK OK OK OK OK OK OK OK OK

@adustm
Copy link
Member Author

adustm commented Jan 7, 2016

Test results are the same as they used to be in the previous branch.
It is ok for me.
MBED_16 is failing due to a modification done recently in mbed micromaster (to be investigated and fixed separately)
MBED_37 is failing on the complete F4 family, but it is not considered as blocking.

@0xc0170
Copy link
Contributor

0xc0170 commented Jan 7, 2016


while ((tmpstatus == HAL_UART_STATE_BUSY_TX) || (tmpstatus == HAL_UART_STATE_BUSY_TX_RX)){
tmpstatus = HAL_UART_GetState(&UartHandle);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this waiting for ? It looks like for uart tx transfer to be completed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right. It's been removed and tested OK. Thanks for the review.

adustm and others added 11 commits January 21, 2016 15:54
do not initialise dma tx/rx when it is not activated.
Adding Release_Canditate type and promote-build function to upload script
Flush errors and current data register at reading start
Allow separate serial obj for TX and RX (= do not initialize [TX/RX]_DMA
when not needed.
Char_match: make it work with long buffers and return the correct
position of the char_match.
do not initialise dma tx/rx when it is not activated.
Flush errors and current data register at reading start
Allow separate serial obj for TX and RX (= do not initialize [TX/RX]_DMA
when not needed.
Char_match: make it work with long buffers and return the correct
position of the char_match.
@adustm
Copy link
Member Author

adustm commented Jan 28, 2016

DTCT_1 EXAMPLE_1 MBED_10 MBED_11 MBED_12 MBED_16 MBED_2 MBED_23 MBED_24 MBED_25 MBED_26 MBED_34 MBED_37 MBED_38 MBED_A1 MBED_A21 MBED_A9 MBED_BUSOUT RTOS_1 RTOS_2 RTOS_3 RTOS_4 RTOS_5 RTOS_6 RTOS_7 RTOS_8
ARM B96B_F446VE OK OK OK OK OK OK OK OK OK OK OK OK FAIL OK OK OK OK OK OK OK OK OK OK OK OK OK
GCC_ARM B96B_F446VE OK OK OK OK OK OK OK OK OK OK OK OK FAIL OK OK OK OK OK OK OK OK OK OK OK OK OK
IAR B96B_F446VE OK OK OK OK OK OK OK OK OK OK OK OK FAIL OK OK OK OK OK OK OK OK OK OK OK OK OK
uARM B96B_F446VE OK OK OK OK OK OK OK OK OK OK OK OK FAIL OK OK OK OK OK OK OK OK OK OK OK OK OK

Tests have passed. MBED_37 is failing on the complete F4 family, but it is not considered as blocking.

@adustm
Copy link
Member Author

adustm commented Jan 28, 2016

UT_SERIAL_ASYNCH test passed using D1 (UART2) in Tx, and D4 (UART5) in Rx

The difference is that the Rx transfer is not stopped when an error or a CHAR_MATCH occurs (because using DMA transfer).
$ python singletest.py --auto --tc GCC_ARM -n UT_SERIAL_ASYNCH -V
[...]
HOST: Start test...
TEST(Serial_Asynchronous, char_matching_with_complete) - 0 ms
TEST(Serial_Asynchronous, char_matching_failed) - 0 ms
TEST(Serial_Asynchronous, char_matching_success) - 0 ms <- the check is (SERIAL_EVENT_RX_COMPLETE|SERIAL_EVENT_RX_CHARACTER_MATCH) instead of SERIAL_EVENT_RX_CHARACTER_MATCH
TEST(Serial_Asynchronous, rx_framing_error) - 0 ms <- the check is (SERIAL_EVENT_RX_COMPLETE|SERIAL_EVENT_RX_FRAMING_ERROR) instead of SERIAL_EVENT_RX_FRAMING_ERROR
TEST(Serial_Asynchronous, rx_parity_error) - 0 ms <- the check is (SERIAL_EVENT_RX_COMPLETE|SERIAL_EVENT_RX_PARITY_ERROR) instead of SERIAL_EVENT_RX_PARITY_ERROR
TEST(Serial_Asynchronous, long_tx_long_rx) - 0 ms
TEST(Serial_Asynchronous, short_tx_short_rx) - 0 ms
TEST(Serial_Asynchronous, short_tx_0_rx) - 0 ms

OK (8 tests, 8 ran, 28 checks, 0 ignored, 0 filtered out, 0 ms)

{{success}}
{{end}}
Test::Output::Finish
?[35mTargetTest::B96B_F446VE[997D]::GCC_ARM::UT_SERIAL_ASYNCH::Asynch serial test (req 2 serial peripherals) [OK] in 1.49 of 20 sec?[39m
Test summary:

Result Target Toolchain Test ID Test Description Elapsed Time (sec) Timeout (sec) Loops
OK B96B_F446VE[997D] GCC_ARM UT_SERIAL_ASYNCH Asynch serial test (req 2 serial peripherals) 1.49 20 1/1
Result: 1 OK

Completed in 7.79 sec

#if DEVICE_SERIAL_ASYNCH_DMA
static void dma_irq(DMAName name, int id)
{
// TO DO
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO should specify what is left to do here

Requested by Martin: test is now failing, as B96B_F446VE gives
RX_COMPLETE event on top of errors and Char_Match
0xc0170 added a commit that referenced this pull request Jan 29, 2016
@0xc0170 0xc0170 merged commit bad9c12 into ARMmbed:master Jan 29, 2016
@adustm adustm deleted the b96b_asyn_serial_new branch February 29, 2016 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants