mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-20 14:54:31 +01:00
added Boolean operators to HardwareSerial and CDC to test whether the port is ready to send data.
Mostly useful for Leonardo - simple way to test whether the port is actually opened by an application and ready to receive data. For Serial objects attached to real UARTs always returns true.
This commit is contained in:
parent
232c7808be
commit
b685aef6ec
@ -213,6 +213,12 @@ size_t Serial_::write(uint8_t c)
|
||||
return 0;
|
||||
}
|
||||
|
||||
Serial_::operator bool() {
|
||||
if (_usbLineInfo.lineState > 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
Serial_ Serial;
|
||||
|
||||
#endif
|
||||
|
@ -398,6 +398,10 @@ size_t HardwareSerial::write(uint8_t c)
|
||||
return 1;
|
||||
}
|
||||
|
||||
HardwareSerial::operator bool() {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Preinstantiate Objects //////////////////////////////////////////////////////
|
||||
|
||||
#if defined(UBRRH) && defined(UBRRL)
|
||||
|
@ -57,6 +57,7 @@ class HardwareSerial : public Stream
|
||||
virtual void flush(void);
|
||||
virtual size_t write(uint8_t);
|
||||
using Print::write; // pull in write(str) and write(buf, size) from Print
|
||||
operator bool();
|
||||
};
|
||||
|
||||
#if defined(UBRRH) || defined(UBRR0H)
|
||||
|
@ -39,6 +39,7 @@ public:
|
||||
virtual int read(void);
|
||||
virtual void flush(void);
|
||||
virtual size_t write(uint8_t);
|
||||
operator bool();
|
||||
};
|
||||
extern Serial_ Serial;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user