[SX128x] Fixed known binary receive length

This commit is contained in:
jgromes 2021-11-21 21:16:45 +01:00
parent c99e79073f
commit c2cfe597cc
2 changed files with 6 additions and 4 deletions

View file

@ -573,9 +573,10 @@ int16_t SX128x::readData(uint8_t* data, size_t len) {
}
// get packet length
size_t length = len;
if(len == RADIOLIB_SX128X_MAX_PACKET_LENGTH) {
length = getPacketLength();
size_t length = getPacketLength();
if((len != 0) && (len < length)) {
// user requested less data than we got, only return what was requested
length = len;
}
// read packet data

View file

@ -567,7 +567,8 @@ class SX128x: public PhysicalLayer {
\param data Pointer to array to save the received binary data.
\param len Number of bytes that will be received. Must be known in advance for binary transmissions.
\param len Number of bytes that will be read. When set to 0, the packet length will be retreived automatically.
When more bytes than received are requested, only the number of bytes requested will be returned.
\returns \ref status_codes
*/