Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
We have Discover Wi-Fi SN8200X module eval board from Element14 and WICED SDK-2.4.0 patched with SN8200x patch in Linux.
We are using UART to communicate with an external device (Baud - 9600, Parity - even, 1 stop bit, Flow control disabled). The board sends command and device responds with requested bytes. This happens fine initially.
But after some random time (may be 10 mins, 1 hr, 4 hrs or never - Very inconsistent), we observe that the wiced_uart_receive_bytes() function fails (returns WICED_ERROR). Through CRO we can see that UART is actually seeing the bytes at its input lines.
We are not using ring buffer in code (optional_ring_buffer is NULL) to receive bytes.
Once the above stated problem happens, we had to reset the board to make it working (but soft reset does not work).
When we saw the definition of wiced_uart_receive_bytes() function, we found that when not using ring buffer, the wiced_uart_receive_bytes() function calls platform_uart_receive_bytes() function which always returns WICED_SUCCESS in definition.
But we are facing WICED_ERROR from the function after sometime. How this happens ? Are we missing something? Please help in this regard.