From cd9d30a8fef319461c3b23c1117129c86ef8c719 Mon Sep 17 00:00:00 2001 From: chromhelm Date: Fri, 29 May 2015 16:51:55 +0200 Subject: [PATCH] Saving some bytes in HardwareSerial::write --- hardware/arduino/avr/cores/arduino/HardwareSerial.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp b/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp index 402269893..a2029a8b0 100644 --- a/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp +++ b/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp @@ -213,6 +213,7 @@ void HardwareSerial::flush() size_t HardwareSerial::write(uint8_t c) { + _written = true; // If the buffer and the data register is empty, just write the byte // to the data register and be done. This shortcut helps // significantly improve the effective datarate at high (> @@ -220,7 +221,6 @@ size_t HardwareSerial::write(uint8_t c) if (_tx_buffer_head == _tx_buffer_tail && bit_is_set(*_ucsra, UDRE0)) { *_udr = c; sbi(*_ucsra, TXC0); - _written = true; return 1; } tx_buffer_index_t i = (_tx_buffer_head + 1) % SERIAL_TX_BUFFER_SIZE; @@ -244,10 +244,8 @@ size_t HardwareSerial::write(uint8_t c) _tx_buffer_head = i; sbi(*_ucsrb, UDRIE0); - _written = true; return 1; } - #endif // whole file