You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug Description SoftwareSerial.flush() returns before the last byte is sent, i.e. after sending 2nd last byte. This is unexpected and different from HardwareSerial.flush() and other core implementations
measure pins D11(=TxD) and D3(=testpin) with logic analyzer
Expected behavior SoftwareSerial.flush() should return after the last byte from SoftwareSerial.write(buf, len) has been sent. This is the behavior of HardwareSerial.flush() and also other core implementations
Activity
bugfix SoftwareSerial.flush(), see stm32duino#2904
gicking commentedon Jan 26, 2026
PS: I just added a pull request which addresses this issue
[-]SoftwareSerial.flush() returns too early[/-][+]SoftwareSerial.flush() returns too early (PR provided)[/+][-]SoftwareSerial.flush() returns too early (PR provided)[/-][+]SoftwareSerial.flush() returns too early[/+]fix: SoftwareSerial flush() issue
fix: SoftwareSerial flush() issue