File tree 2 files changed +3
-1
lines changed
2 files changed +3
-1
lines changed Original file line number Diff line number Diff line change @@ -152,7 +152,7 @@ void HardwareSerial::end()
152
152
153
153
int HardwareSerial::available (void )
154
154
{
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;
156
156
}
157
157
158
158
int HardwareSerial::peek (void )
Original file line number Diff line number Diff line change 32
32
// using a ring buffer (I think), in which head is the index of the location
33
33
// to which to write the next incoming character and tail is the index of the
34
34
// 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.
35
37
#if !(defined(SERIAL_TX_BUFFER_SIZE) && defined(SERIAL_RX_BUFFER_SIZE))
36
38
#if (RAMEND < 1000)
37
39
#define SERIAL_TX_BUFFER_SIZE 16
You can’t perform that action at this time.
0 commit comments