提交 aa1288aa 编写于 作者: M mtabu 提交者: Me No Dev

HardwareSerial - availableForWrite() support (#1226)

* HardwareSerial - availableForWrite() support

* fix indentation errors (tab vs space)
上级 149190fe
...@@ -62,6 +62,10 @@ int HardwareSerial::available(void) ...@@ -62,6 +62,10 @@ int HardwareSerial::available(void)
{ {
return uartAvailable(_uart); return uartAvailable(_uart);
} }
int HardwareSerial::availableForWrite(void)
{
return uartAvailableForWrite(_uart);
}
int HardwareSerial::peek(void) int HardwareSerial::peek(void)
{ {
......
...@@ -40,6 +40,7 @@ public: ...@@ -40,6 +40,7 @@ public:
void begin(unsigned long baud, uint32_t config=SERIAL_8N1, int8_t rxPin=-1, int8_t txPin=-1, bool invert=false); void begin(unsigned long baud, uint32_t config=SERIAL_8N1, int8_t rxPin=-1, int8_t txPin=-1, bool invert=false);
void end(); void end();
int available(void); int available(void);
int availableForWrite(void);
int peek(void); int peek(void);
int read(void); int read(void);
void flush(void); void flush(void);
......
...@@ -248,6 +248,14 @@ uint32_t uartAvailable(uart_t* uart) ...@@ -248,6 +248,14 @@ uint32_t uartAvailable(uart_t* uart)
return uxQueueMessagesWaiting(uart->queue); return uxQueueMessagesWaiting(uart->queue);
} }
uint32_t uartAvailableForWrite(uart_t* uart)
{
if(uart == NULL) {
return 0;
}
return 0x7f - uart->dev->status.txfifo_cnt;
}
uint8_t uartRead(uart_t* uart) uint8_t uartRead(uart_t* uart)
{ {
if(uart == NULL || uart->queue == NULL) { if(uart == NULL || uart->queue == NULL) {
......
...@@ -55,6 +55,7 @@ uart_t* uartBegin(uint8_t uart_nr, uint32_t baudrate, uint32_t config, int8_t rx ...@@ -55,6 +55,7 @@ uart_t* uartBegin(uint8_t uart_nr, uint32_t baudrate, uint32_t config, int8_t rx
void uartEnd(uart_t* uart); void uartEnd(uart_t* uart);
uint32_t uartAvailable(uart_t* uart); uint32_t uartAvailable(uart_t* uart);
uint32_t uartAvailableForWrite(uart_t* uart);
uint8_t uartRead(uart_t* uart); uint8_t uartRead(uart_t* uart);
uint8_t uartPeek(uart_t* uart); uint8_t uartPeek(uart_t* uart);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册