Hi,
we have got some async uart api application running with zephyr 3.2 on nrf52840.
This worked fairly well until there have been added some file-write operations to the application, which are causing so much delay, that the application is not able to process the uart receivings fast enough anymore. This situation can be detected in software as the uart-dma-isr-event handler can see that the consumer queue for the received data gets more and more filled up.
But what is the proper procedure to tell the async-uart-driver that it should activate the hardware-flow-control (telling the sender to stop transmitting)?
- should it be done by not providing any requested dma-buffers anymore?
- should it be done by using the line-control api?
- is there any other means of doing this?
And what has to be done, when the application has processed all the data and is ready for getting the new receivings? How to tell the driver to deactivate the hardware-flow-control (telling the sender to carry on with further transmitting)?
Regards
Volker