Skip to content

Commit aa1288a

Browse files
mtabume-no-dev
authored andcommitted
HardwareSerial - availableForWrite() support (espressif#1226)
* HardwareSerial - availableForWrite() support * fix indentation errors (tab vs space)
1 parent 149190f commit aa1288a

File tree

4 files changed

+14
-0
lines changed

4 files changed

+14
-0
lines changed

‎cores/esp32/HardwareSerial.cpp‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ int HardwareSerial::available(void)
6262
{
6363
returnuartAvailable(_uart);
6464
}
65+
intHardwareSerial::availableForWrite(void)
66+
{
67+
returnuartAvailableForWrite(_uart);
68+
}
6569

6670
intHardwareSerial::peek(void)
6771
{

‎cores/esp32/HardwareSerial.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ class HardwareSerial: public Stream
4040
voidbegin(unsignedlong baud, uint32_t config=SERIAL_8N1, int8_t rxPin=-1, int8_t txPin=-1, bool invert=false);
4141
voidend();
4242
intavailable(void);
43+
intavailableForWrite(void);
4344
intpeek(void);
4445
intread(void);
4546
voidflush(void);

‎cores/esp32/esp32-hal-uart.c‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,14 @@ uint32_t uartAvailable(uart_t* uart)
248248
returnuxQueueMessagesWaiting(uart->queue);
249249
}
250250

251+
uint32_tuartAvailableForWrite(uart_t*uart)
252+
{
253+
if(uart==NULL){
254+
return0;
255+
}
256+
return0x7f-uart->dev->status.txfifo_cnt;
257+
}
258+
251259
uint8_tuartRead(uart_t*uart)
252260
{
253261
if(uart==NULL||uart->queue==NULL){

‎cores/esp32/esp32-hal-uart.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ uart_t* uartBegin(uint8_t uart_nr, uint32_t baudrate, uint32_t config, int8_t rx
5555
voiduartEnd(uart_t*uart);
5656

5757
uint32_tuartAvailable(uart_t*uart);
58+
uint32_tuartAvailableForWrite(uart_t*uart);
5859
uint8_tuartRead(uart_t*uart);
5960
uint8_tuartPeek(uart_t*uart);
6061

0 commit comments

Comments
(0)