A modification of [New]SoftSerial to meet certain requests David

Mellis asked about in preparation for integration into core:
1. Remove notion of library version
2. Remove little used "enable_timer0" method.
3. Rename is_listening to isListening
i

:insert

:
:set showmode
This commit is contained in:
Mikal Hart 2011-02-17 23:55:38 -06:00
parent 38d4a34fec
commit 2832e8e0a8
4 changed files with 7 additions and 33 deletions

View File

@ -421,7 +421,7 @@ void SoftwareSerial::end()
// Read data from buffer // Read data from buffer
int SoftwareSerial::read() int SoftwareSerial::read()
{ {
if (!is_listening()) if (!isListening())
return -1; return -1;
// Empty buffer? // Empty buffer?
@ -436,7 +436,7 @@ int SoftwareSerial::read()
int SoftwareSerial::available() int SoftwareSerial::available()
{ {
if (!is_listening()) if (!isListening())
return 0; return 0;
return (_receive_buffer_tail + _SS_MAX_RX_BUFF - _receive_buffer_head) % _SS_MAX_RX_BUFF; return (_receive_buffer_tail + _SS_MAX_RX_BUFF - _receive_buffer_head) % _SS_MAX_RX_BUFF;
@ -488,30 +488,9 @@ void SoftwareSerial::write(uint8_t b)
tunedDelay(_tx_delay); tunedDelay(_tx_delay);
} }
#if !defined(cbi)
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif
void SoftwareSerial::enable_timer0(bool enable)
{
if (enable)
#if defined(__AVR_ATmega8__)
sbi(TIMSK, TOIE0);
#else
sbi(TIMSK0, TOIE0);
#endif
else
#if defined(__AVR_ATmega8__)
cbi(TIMSK, TOIE0);
#else
cbi(TIMSK0, TOIE0);
#endif
}
void SoftwareSerial::flush() void SoftwareSerial::flush()
{ {
if (!is_listening()) if (!isListening())
return; return;
uint8_t oldSREG = SREG; uint8_t oldSREG = SREG;
@ -522,7 +501,7 @@ void SoftwareSerial::flush()
int SoftwareSerial::peek() int SoftwareSerial::peek()
{ {
if (!is_listening()) if (!isListening())
return -1; return -1;
// Empty buffer? // Empty buffer?

View File

@ -40,7 +40,6 @@ http://arduiniana.org.
******************************************************************************/ ******************************************************************************/
#define _SS_MAX_RX_BUFF 64 // RX buffer size #define _SS_MAX_RX_BUFF 64 // RX buffer size
#define _SS_VERSION 11 // software version of this library
#ifndef GCC_VERSION #ifndef GCC_VERSION
#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif #endif
@ -86,10 +85,8 @@ public:
void begin(long speed); void begin(long speed);
bool listen(); bool listen();
void end(); void end();
bool is_listening() { return this == active_object; } bool isListening() { return this == active_object; }
bool overflow() { bool ret = _buffer_overflow; _buffer_overflow = false; return ret; } bool overflow() { bool ret = _buffer_overflow; _buffer_overflow = false; return ret; }
static int library_version() { return _SS_VERSION; }
static void enable_timer0(bool enable);
int peek(); int peek();
virtual void write(uint8_t byte); virtual void write(uint8_t byte);

View File

@ -58,7 +58,7 @@ http://arduiniana.org.
( ((p) == 50) ? 3 : \ ( ((p) == 50) ? 3 : \
( ((p) == 51) ? 2 : \ ( ((p) == 51) ? 2 : \
( ((p) == 52) ? 1 : \ ( ((p) == 52) ? 1 : \
( ((p) ==53) ? 0 : \ ( ((p) == 53) ? 0 : \
( (((p) >= 62) && ((p) <= 69)) ? ((p) - 62) : \ ( (((p) >= 62) && ((p) <= 69)) ? ((p) - 62) : \
0 ) ) ) ) ) ) 0 ) ) ) ) ) )

View File

@ -16,10 +16,8 @@ begin KEYWORD2
end KEYWORD2 end KEYWORD2
read KEYWORD2 read KEYWORD2
available KEYWORD2 available KEYWORD2
is_listening KEYWORD2 isListening KEYWORD2
overflow KEYWORD2 overflow KEYWORD2
library_version KEYWORD2
enable_timer0 KEYWORD2
flush KEYWORD2 flush KEYWORD2
listen KEYWORD2 listen KEYWORD2