diff --git a/src/libs/arduino-LoRa-master/src/LoRa.cpp b/src/libs/arduino-LoRa-master/src/LoRa.cpp index 2e67aca..8cd2356 100644 --- a/src/libs/arduino-LoRa-master/src/LoRa.cpp +++ b/src/libs/arduino-LoRa-master/src/LoRa.cpp @@ -347,6 +347,22 @@ int LoRaClass::read() return readRegister(REG_FIFO); } +int LoRaClass::read(uint8_t *buffer, size_t len) +{ + if(!buffer) return 0; + + size_t nbread = 0; + while(nbread < len && available()) + { + int c = read(); + if(c == -1) break; + + buffer[nbread++] = c; + } + + return nbread; +} + int LoRaClass::peek() { if (!available()) { diff --git a/src/libs/arduino-LoRa-master/src/LoRa.h b/src/libs/arduino-LoRa-master/src/LoRa.h index 5d6e037..df22379 100644 --- a/src/libs/arduino-LoRa-master/src/LoRa.h +++ b/src/libs/arduino-LoRa-master/src/LoRa.h @@ -54,6 +54,7 @@ public: // from Stream virtual int available(); virtual int read(); + virtual int read(uint8_t *buffer, size_t len); virtual int peek(); virtual void flush();