Hello,
In the documentation for nrf_serial_write function (SDK 14.0.0) it is written:
timeout_ms Operation timeout, in milliseconds. Pass 0 to operate in non blocking mode.
As I always got NRF_ERROR_TIMEOUT as a return code of this function I inspected the actual code in components\libraries\serial\nrf_serial.c as found out that timeout_ms value is always, and only, compared with NRF_SERIAL_MAX_TIMEOUT (= UINT32_MAX), not with 0.
So, in my case, the docs shall say
timeout_ms Operation timeout, in milliseconds. Pass NRF_SERIAL_MAX_TIMEOUT to operate in non blocking mode.
Can this be confirmed or is there something I am doing incorrectly?