Skip to content

Commit a587864

Browse files
committed
Merge branch 'master' into ide-1.5.x
Conflicts: hardware/arduino/cores/arduino/HardwareSerial.cpp hardware/arduino/cores/robot/Arduino.h
2 parents 6e00729 + ab47c9b commit a587864

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

avr/cores/arduino/HardwareSerial.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ void HardwareSerial::end()
152152

153153
int HardwareSerial::available(void)
154154
{
155-
return (int)(SERIAL_RX_BUFFER_SIZE + _rx_buffer_head - _rx_buffer_tail) % SERIAL_RX_BUFFER_SIZE;
155+
return ((unsigned int)(SERIAL_RX_BUFFER_SIZE + _rx_buffer_head - _rx_buffer_tail)) % SERIAL_RX_BUFFER_SIZE;
156156
}
157157

158158
int HardwareSerial::peek(void)

avr/cores/arduino/HardwareSerial.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
// using a ring buffer (I think), in which head is the index of the location
3333
// to which to write the next incoming character and tail is the index of the
3434
// location from which to read.
35+
// NOTE: a "power of 2" buffer size is reccomended to dramatically
36+
// optimize all the modulo operations for ring buffers.
3537
#if !(defined(SERIAL_TX_BUFFER_SIZE) && defined(SERIAL_RX_BUFFER_SIZE))
3638
#if (RAMEND < 1000)
3739
#define SERIAL_TX_BUFFER_SIZE 16

0 commit comments

Comments
 (0)