IMPORTANT: Cypress Developer Community is transitioning on October 20th. To learn more and be prepared for this change, check out our latest announcement.
Showing results for 
Search instead for 
Did you mean: 

WICED Studio Wi-Fi Combo

Not applicable


I had been using SDK-2.4.0 and recently I changed to SDK-2.4.1. I tried to run the UART receive program which I wrote in SDK-2.4.0 in the new SDK. The program worked fine in SDK-2.4.0 but it is not working properly in 2.4.1. The wiced_uart_receive_bytes() function always return WICED_ERROR.

This is my function call.

result = wiced_uart_receive_bytes( WICED_SELECTED_UART, receiveData, RX_BUFFER_SIZE ,receiveTimeOut);

when I checked the receiveData, it has received the data correctly. But still the function returns WICED_ERROR.

I went inside the function definition in


And found a line in platform_uart_receive_bytes() function.

uart_interfaces[uart].rx_dma_result = WICED_ERROR;

if ( timeout > 0 )


      host_rtos_get_semaphore( &uart_interfaces[uart].rx_complete, timeout, WICED_TRUE );

      return uart_interfaces[uart].rx_dma_result;


I suspected "return uart_interfaces[uart].rx_dma_result" is always returning WICED_ERROR and when I commented it, the program is working fine.

In SDK-2.4.0, this line is not present (I compared this file with previous version).

Am I missing something ? Please help me. My eval board has BCM943362WCD4.

2 Replies

I think rx_dma_result is assigned from an interrupt. It is just setting the default value.

We are using SDK 2.4.1 with uart to talk to another device. It is working fine for us.

Not applicable

ok Thanks . I will try with some other examples and keep u posted.