arduino / ArduinoCore-renesas

MIT License
109 stars 74 forks source link

Fix for Serial flush() returning before transmission has completed #328

Open Hsubtnarg opened 4 months ago

Hsubtnarg commented 4 months ago

Problem: flush() would return when the transmission buffer was empty, but the txBuffer was not being used so flush() would return straight away. write() would wait until it had sent all bytes to the UART before returning, but there would still be bytes in the UART that had not been sent, so it would return 1-11 bytes early

Fix: Used the UART_EVENT_TX_COMPLETE call back to determine when the UART has finished transmitting and use this to determine when flush() should return

CLAassistant commented 4 months ago

CLA assistant check
All committers have signed the CLA.