Skip to content

Commit dc141a9

Browse files
committed
Add Print::availableForWrite
If available() is in the base Stream class, then availableForWrite() should be in the base Print class
1 parent d115f44 commit dc141a9

File tree

5 files changed

+11
-5
lines changed

5 files changed

+11
-5
lines changed

hardware/arduino/avr/cores/arduino/HardwareSerial.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ class HardwareSerial : public Stream
124124
virtual int available(void);
125125
virtual int peek(void);
126126
virtual int read(void);
127-
int availableForWrite(void);
127+
virtual int availableForWrite(void);
128128
virtual void flush(void);
129129
virtual size_t write(uint8_t);
130130
inline size_t write(unsigned long n) { return write((uint8_t)n); }

hardware/arduino/avr/cores/arduino/Print.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
#include <inttypes.h>
2424
#include <stdio.h> // for size_t
25+
#include <limits.h> // for INT_MAX
2526

2627
#include "WString.h"
2728
#include "Printable.h"
@@ -54,7 +55,9 @@ class Print
5455
size_t write(const char *buffer, size_t size) {
5556
return write((const uint8_t *)buffer, size);
5657
}
57-
58+
59+
virtual int availableForWrite() { return INT_MAX; }
60+
5861
size_t print(const __FlashStringHelper *);
5962
size_t print(const String &);
6063
size_t print(const char[]);

hardware/arduino/avr/cores/arduino/USBAPI.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ class Serial_ : public Stream
9898
virtual int available(void);
9999
virtual int peek(void);
100100
virtual int read(void);
101-
int availableForWrite(void);
101+
virtual int availableForWrite(void);
102102
virtual void flush(void);
103103
virtual size_t write(uint8_t);
104104
virtual size_t write(const uint8_t*, size_t);

hardware/arduino/sam/cores/arduino/Print.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
#include <inttypes.h>
2424
#include <stdio.h> // for size_t
25+
#include <limits.h> // for INT_MAX
2526

2627
#include "WString.h"
2728
#include "Printable.h"
@@ -54,7 +55,9 @@ class Print
5455
size_t write(const char *buffer, size_t size) {
5556
return write((const uint8_t *)buffer, size);
5657
}
57-
58+
59+
virtual int availableForWrite() { return INT_MAX; }
60+
5861
size_t print(const __FlashStringHelper *);
5962
size_t print(const String &);
6063
size_t print(const char[]);

hardware/arduino/sam/cores/arduino/UARTClass.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class UARTClass : public HardwareSerial
4848
void begin(const uint32_t dwBaudRate, const UARTModes config);
4949
void end(void);
5050
int available(void);
51-
int availableForWrite(void);
51+
virtual int availableForWrite(void);
5252
int peek(void);
5353
int read(void);
5454
void flush(void);

0 commit comments

Comments
 (0)