Merge pull request #308 from victorpv/master

Added USBSerial implementation of readBytes.
This commit is contained in:
Roger Clark 2017-07-10 16:46:11 +10:00 committed by GitHub
commit 5a442ac407
2 changed files with 14 additions and 0 deletions

View File

@ -168,6 +168,19 @@ uint32 USBSerial::read(uint8 * buf, uint32 len) {
return rxed;
}
size_t USBSerial::readBytes(char *buf, const size_t& len)
{
size_t rxed=0;
unsigned long startMillis;
startMillis = millis();
if (len <= 0) return 0;
do {
rxed += usb_cdcacm_rx((uint8 *)buf + rxed, len - rxed);
if (rxed == len) return rxed;
} while(millis() - startMillis < _timeout);
return rxed;
}
/* Blocks forever until 1 byte is received */
int USBSerial::read(void) {
uint8 b;

View File

@ -51,6 +51,7 @@ public:
virtual int available(void);// Changed to virtual
size_t readBytes(char *buf, const size_t& len);
uint32 read(uint8 * buf, uint32 len);
// uint8 read(void);