Skip to content

Commit aeb9597

Browse files
committed
Merge pull request #1504 from Links2004/master
rename cbuf getSize to available, and add size function
2 parents 85973cd + 531d748 commit aeb9597

File tree

4 files changed

+24
-16
lines changed

4 files changed

+24
-16
lines changed

cores/esp8266/HardwareSerial.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,7 @@ int HardwareSerial::available(void) {
643643

644644
if (_uart != NULL && _uart->rxEnabled) {
645645
InterruptLock il;
646-
result = static_cast<int>(_rx_buffer->getSize());
646+
result = static_cast<int>(_rx_buffer->available());
647647
}
648648

649649
if (!result) {
@@ -696,7 +696,7 @@ void HardwareSerial::flush() {
696696
while(true) {
697697
{
698698
InterruptLock il;
699-
if(_tx_buffer->getSize() == 0 &&
699+
if(_tx_buffer->available() == 0 &&
700700
UART_GET_TX_FIFO_ROOM(uart_nr) >= UART_TX_FIFO_SIZE) {
701701
break;
702702
} else if(il.savedInterruptLevel() > 0) {
@@ -750,7 +750,7 @@ void ICACHE_RAM_ATTR HardwareSerial::_rx_complete_irq(char c) {
750750

751751
void ICACHE_RAM_ATTR HardwareSerial::_tx_empty_irq(void) {
752752
const int uart_nr = _uart->uart_nr;
753-
size_t queued = _tx_buffer->getSize();
753+
size_t queued = _tx_buffer->available();
754754
if(!queued) {
755755
UART_DISARM_TX_INTERRUPT(uart_nr);
756756
return;

cores/esp8266/cbuf.cpp

+15-11
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#include "c_types.h"
2323

2424
cbuf::cbuf(size_t size) :
25-
_size(size), _buf(new char[size]), _bufend(_buf + size), _begin(_buf), _end(_begin) {
25+
next(NULL), _size(size), _buf(new char[size]), _bufend(_buf + size), _begin(_buf), _end(_begin) {
2626
}
2727

2828
cbuf::~cbuf() {
@@ -35,11 +35,11 @@ size_t cbuf::resizeAdd(size_t addSize) {
3535

3636
size_t cbuf::resize(size_t newSize) {
3737

38-
size_t available = getSize();
38+
size_t bytes_available = available();
3939

4040
// not lose any data
4141
// if data can be lost use remove or flush before resize
42-
if((newSize < available) || (newSize == _size)) {
42+
if((newSize < bytes_available) || (newSize == _size)) {
4343
return _size;
4444
}
4545

@@ -51,12 +51,12 @@ size_t cbuf::resize(size_t newSize) {
5151
}
5252

5353
if(_buf) {
54-
read(newbuf, available);
55-
memset((newbuf + available), 0x00, (newSize - available));
54+
read(newbuf, bytes_available);
55+
memset((newbuf + bytes_available), 0x00, (newSize - bytes_available));
5656
}
5757

5858
_begin = newbuf;
59-
_end = newbuf + available;
59+
_end = newbuf + bytes_available;
6060
_bufend = newbuf + newSize;
6161
_size = newSize;
6262

@@ -66,13 +66,17 @@ size_t cbuf::resize(size_t newSize) {
6666
return _size;
6767
}
6868

69-
size_t ICACHE_RAM_ATTR cbuf::getSize() const {
69+
size_t ICACHE_RAM_ATTR cbuf::available() const {
7070
if(_end >= _begin) {
7171
return _end - _begin;
7272
}
7373
return _size - (_begin - _end);
7474
}
7575

76+
size_t cbuf::size() {
77+
return _size;
78+
}
79+
7680
size_t cbuf::room() const {
7781
if(_end >= _begin) {
7882
return _size - (_end - _begin) - 1;
@@ -88,7 +92,7 @@ int cbuf::peek() {
8892
}
8993

9094
size_t cbuf::peek(char *dst, size_t size) {
91-
size_t bytes_available = getSize();
95+
size_t bytes_available = available();
9296
size_t size_to_read = (size < bytes_available) ? size : bytes_available;
9397
size_t size_read = size_to_read;
9498
char * begin = _begin;
@@ -113,7 +117,7 @@ int ICACHE_RAM_ATTR cbuf::read() {
113117
}
114118

115119
size_t cbuf::read(char* dst, size_t size) {
116-
size_t bytes_available = getSize();
120+
size_t bytes_available = available();
117121
size_t size_to_read = (size < bytes_available) ? size : bytes_available;
118122
size_t size_read = size_to_read;
119123
if(_end < _begin && size_to_read > (size_t) (_bufend - _begin)) {
@@ -159,7 +163,7 @@ void cbuf::flush() {
159163
}
160164

161165
size_t cbuf::remove(size_t size) {
162-
size_t bytes_available = getSize();
166+
size_t bytes_available = available();
163167
if(size >= bytes_available) {
164168
flush();
165169
return 0;
@@ -171,5 +175,5 @@ size_t cbuf::remove(size_t size) {
171175
size_to_remove -= top_size;
172176
}
173177
_begin = wrap_if_bufend(_begin + size_to_remove);
174-
return getSize();
178+
return available();
175179
}

cores/esp8266/cbuf.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ class cbuf {
3232

3333
size_t resizeAdd(size_t addSize);
3434
size_t resize(size_t newSize);
35-
size_t getSize() const;
35+
size_t available() const;
36+
size_t size();
3637

3738
size_t room() const;
3839

@@ -56,6 +57,8 @@ class cbuf {
5657
void flush();
5758
size_t remove(size_t size);
5859

60+
cbuf *next;
61+
5962
private:
6063
inline char* wrap_if_bufend(char* ptr) const {
6164
return (ptr == _bufend) ? _buf : ptr;
@@ -66,6 +69,7 @@ class cbuf {
6669
const char* _bufend;
6770
char* _begin;
6871
char* _end;
72+
6973
};
7074

7175
#endif//__cbuf_h

platform.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
77

88
name=ESP8266 Modules
9-
version=2.0.0
9+
version=2.1.0
1010

1111
runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}/tools/xtensa-lx106-elf
1212
runtime.tools.esptool.path={runtime.platform.path}/tools/esptool

0 commit comments

Comments
 (0)