From d3cabc4e732b300b6c2dffa68ca7b6c5d7587891 Mon Sep 17 00:00:00 2001 From: anschrammh Date: Wed, 5 Nov 2025 23:55:05 +0100 Subject: [PATCH] Updated the LoRa library by implementing a read(uint8_t *, size_t) function to read multiple bytes at once --- src/libs/arduino-LoRa-master/src/LoRa.cpp | 16 ++++++++++++++++ src/libs/arduino-LoRa-master/src/LoRa.h | 1 + 2 files changed, 17 insertions(+) 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();