From dfc3a647443ede3b696bd2f9a3c6695e7f8372d7 Mon Sep 17 00:00:00 2001 From: Sandeep Mistry Date: Wed, 9 Mar 2016 15:12:31 -0500 Subject: [PATCH 1/2] Add missing cast to SoftwareSerial::peek() when returning buffered value --- .../arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp index 0a16ff7108b..877d12857f7 100644 --- a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp +++ b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp @@ -482,5 +482,5 @@ int SoftwareSerial::peek() return -1; // Read from "head" - return _receive_buffer[_receive_buffer_head]; + return (uint8_t)_receive_buffer[_receive_buffer_head]; } From 98699dfa7c6a3961f68e152334242ad829f88d4d Mon Sep 17 00:00:00 2001 From: Sandeep Mistry Date: Thu, 10 Mar 2016 10:22:44 -0500 Subject: [PATCH 2/2] Make SoftwareSerial receive buffer a uint8_t array --- .../avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp | 4 ++-- .../arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp index 877d12857f7..376762e75c8 100644 --- a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp +++ b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp @@ -48,7 +48,7 @@ The latest version of this library can always be found at // Statics // SoftwareSerial *SoftwareSerial::active_object = 0; -char SoftwareSerial::_receive_buffer[_SS_MAX_RX_BUFF]; +uint8_t SoftwareSerial::_receive_buffer[_SS_MAX_RX_BUFF]; volatile uint8_t SoftwareSerial::_receive_buffer_tail = 0; volatile uint8_t SoftwareSerial::_receive_buffer_head = 0; @@ -482,5 +482,5 @@ int SoftwareSerial::peek() return -1; // Read from "head" - return (uint8_t)_receive_buffer[_receive_buffer_head]; + return _receive_buffer[_receive_buffer_head]; } diff --git a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.h b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.h index 622e2a516d5..26183ba853d 100644 --- a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.h +++ b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.h @@ -66,7 +66,7 @@ class SoftwareSerial : public Stream uint16_t _inverse_logic:1; // static data - static char _receive_buffer[_SS_MAX_RX_BUFF]; + static uint8_t _receive_buffer[_SS_MAX_RX_BUFF]; static volatile uint8_t _receive_buffer_tail; static volatile uint8_t _receive_buffer_head; static SoftwareSerial *active_object;