From d3cb43c1c981ee3726d26c05ec3e42fffaa080c6 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sun, 4 Jul 2010 23:31:55 +0000 Subject: Adding a peek() function to Stream and HardwareSerial (Serial). --- cores/arduino/HardwareSerial.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'cores/arduino/HardwareSerial.cpp') diff --git a/cores/arduino/HardwareSerial.cpp b/cores/arduino/HardwareSerial.cpp index 638b6d1..f8cdebe 100755 --- a/cores/arduino/HardwareSerial.cpp +++ b/cores/arduino/HardwareSerial.cpp @@ -178,6 +178,15 @@ uint8_t HardwareSerial::available(void) return (RX_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % RX_BUFFER_SIZE; } +int HardwareSerial::peek(void) +{ + if (_rx_buffer->head == _rx_buffer->tail) { + return -1; + } else { + return _rx_buffer->buffer[_rx_buffer->tail]; + } +} + int HardwareSerial::read(void) { // if the head isn't ahead of the tail, we don't have any characters -- cgit v1.2.3-18-g5258