mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-21 15:54:39 +01:00
Add availableForWrite() to HardwareSerial
This commit is contained in:
parent
641ea440ff
commit
33cec73f26
@ -177,6 +177,7 @@ read KEYWORD2 Serial_Read
|
|||||||
print KEYWORD2 Serial_Print
|
print KEYWORD2 Serial_Print
|
||||||
println KEYWORD2 Serial_Println
|
println KEYWORD2 Serial_Println
|
||||||
available KEYWORD2 Serial_Available
|
available KEYWORD2 Serial_Available
|
||||||
|
availableForWrite KEYWORD2
|
||||||
flush KEYWORD2 Serial_Flush
|
flush KEYWORD2 Serial_Flush
|
||||||
setTimeout KEYWORD2
|
setTimeout KEYWORD2
|
||||||
find KEYWORD2
|
find KEYWORD2
|
||||||
|
@ -176,6 +176,21 @@ int HardwareSerial::read(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int HardwareSerial::availableForWrite(void)
|
||||||
|
{
|
||||||
|
#if (SERIAL_TX_BUFFER_SIZE>256)
|
||||||
|
uint8_t oldSREG = SREG;
|
||||||
|
cli();
|
||||||
|
#endif
|
||||||
|
tx_buffer_index_t head = _tx_buffer_head;
|
||||||
|
tx_buffer_index_t tail = _tx_buffer_tail;
|
||||||
|
#if (SERIAL_TX_BUFFER_SIZE>256)
|
||||||
|
SREG = oldSREG;
|
||||||
|
#endif
|
||||||
|
if (head >= tail) return SERIAL_TX_BUFFER_SIZE - 1 - head + tail;
|
||||||
|
return tail - head - 1;
|
||||||
|
}
|
||||||
|
|
||||||
void HardwareSerial::flush()
|
void HardwareSerial::flush()
|
||||||
{
|
{
|
||||||
// If we have never written a byte, no need to flush. This special
|
// If we have never written a byte, no need to flush. This special
|
||||||
|
@ -112,6 +112,7 @@ class HardwareSerial : public Stream
|
|||||||
virtual int available(void);
|
virtual int available(void);
|
||||||
virtual int peek(void);
|
virtual int peek(void);
|
||||||
virtual int read(void);
|
virtual int read(void);
|
||||||
|
int availableForWrite(void);
|
||||||
virtual void flush(void);
|
virtual void flush(void);
|
||||||
virtual size_t write(uint8_t);
|
virtual size_t write(uint8_t);
|
||||||
inline size_t write(unsigned long n) { return write((uint8_t)n); }
|
inline size_t write(unsigned long n) { return write((uint8_t)n); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user