[gnoduino] Revert "Match return value to type in available()"
- From: Lucian Langa <lucilanga src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnoduino] Revert "Match return value to type in available()"
- Date: Mon, 10 Nov 2014 12:29:07 +0000 (UTC)
commit 7e6cb2a19fb43fb41fa65ad886bbb2795f319903
Author: Cristian Maglie <c maglie bug st>
Date: Tue Oct 21 17:18:26 2014 +0200
Revert "Match return value to type in available()"
This reverts commit f40e4713542fa862d5b99b256a642e001a796988.
Added an hint for the buffer sizes.
See #2057
Fixes #2367
hardware/arduino/cores/arduino/HardwareSerial.cpp | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/hardware/arduino/cores/arduino/HardwareSerial.cpp
b/hardware/arduino/cores/arduino/HardwareSerial.cpp
index 0d4928c..925b9a0 100644
--- a/hardware/arduino/cores/arduino/HardwareSerial.cpp
+++ b/hardware/arduino/cores/arduino/HardwareSerial.cpp
@@ -53,6 +53,8 @@
// using a ring buffer (I think), in which head is the index of the location
// to which to write the next incoming character and tail is the index of the
// location from which to read.
+// NOTE: a "power of 2" buffer size is reccomended to dramatically
+// optimize all the modulo operations for ring buffers.
#if (RAMEND < 1000)
#define SERIAL_BUFFER_SIZE 16
#else
@@ -426,7 +428,7 @@ void HardwareSerial::end()
int HardwareSerial::available(void)
{
- return (int)(SERIAL_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % SERIAL_BUFFER_SIZE;
+ return ((unsigned int)(SERIAL_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail)) % SERIAL_BUFFER_SIZE;
}
int HardwareSerial::peek(void)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]