diff --git a/src/modules/SX126x/SX126x.cpp b/src/modules/SX126x/SX126x.cpp index 32c928c3..4b285fae 100644 --- a/src/modules/SX126x/SX126x.cpp +++ b/src/modules/SX126x/SX126x.cpp @@ -1170,8 +1170,8 @@ uint32_t SX126x::getTimeOnAir(size_t len) { } } -int16_t implicitHeader() { - return setHeaderType(SX126X_LORA_HEADER_IMPLICIT); +int16_t implicitHeader(size_t len) { + return setHeaderType(SX126X_LORA_HEADER_IMPLICIT, len); } int16_t explicitHeader() { @@ -1354,9 +1354,9 @@ int16_t SX126x::setPacketMode(uint8_t mode, uint8_t len) { return(state); } -int16_t SX126x::setHeaderType(uint8_t headerType) { +int16_t SX126x::setHeaderType(uint8_t headerType, size_t len) { // set requested packet mode - int16_t state = setPacketParams(_preambleLength, _crcType, 0xFF, headerType); + int16_t state = setPacketParams(_preambleLength, _crcType, len, headerType); if(state != ERR_NONE) { return(state); diff --git a/src/modules/SX126x/SX126x.h b/src/modules/SX126x/SX126x.h index 9d771e42..a02a2104 100644 --- a/src/modules/SX126x/SX126x.h +++ b/src/modules/SX126x/SX126x.h @@ -795,11 +795,13 @@ class SX126x: public PhysicalLayer { \returns \ref status_codes */ - int16_t implicitHeader(); + int16_t implicitHeader(size_t len); /*! \brief Set explicit header mode for future reception/transmission. + \param len Payload length in bytes. **WILL BE GLOBALLY OVERRIDDEN BY transmit()** + \returns \ref status_codes */ int16_t explicitHeader(); @@ -836,7 +838,7 @@ class SX126x: public PhysicalLayer { int16_t setFrequencyRaw(float freq); int16_t setOptimalHiPowerPaConfig(int8_t* inOutPower); int16_t setPacketMode(uint8_t mode, uint8_t len); - int16_t setHeaderType(uint8_t headerType) + int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF) // fixes to errata int16_t fixSensitivity();