diff --git a/src/modules/SX127x/SX127x.cpp b/src/modules/SX127x/SX127x.cpp index e842cdd0..fe22a1e7 100644 --- a/src/modules/SX127x/SX127x.cpp +++ b/src/modules/SX127x/SX127x.cpp @@ -599,9 +599,10 @@ int16_t SX127x::setPreambleLength(uint16_t preambleLength) { return(state); } else if(modem == SX127X_FSK_OOK) { - // set preamble length - state = _mod->SPIsetRegValue(SX127X_REG_PREAMBLE_MSB_FSK, (uint8_t)((preambleLength >> 8) & 0xFF)); - state |= _mod->SPIsetRegValue(SX127X_REG_PREAMBLE_LSB_FSK, (uint8_t)(preambleLength & 0xFF)); + // set preamble length (in bytes) + uint16_t numBytes = preambleLength / 8; + state = _mod->SPIsetRegValue(SX127X_REG_PREAMBLE_MSB_FSK, (uint8_t)((numBytes >> 8) & 0xFF)); + state |= _mod->SPIsetRegValue(SX127X_REG_PREAMBLE_LSB_FSK, (uint8_t)(numBytes & 0xFF)); return(state); } diff --git a/src/modules/SX127x/SX127x.h b/src/modules/SX127x/SX127x.h index a42605e1..98906354 100644 --- a/src/modules/SX127x/SX127x.h +++ b/src/modules/SX127x/SX127x.h @@ -745,9 +745,9 @@ class SX127x: public PhysicalLayer { int16_t setCurrentLimit(uint8_t currentLimit); /*! - \brief Sets %LoRa preamble length. Allowed values range from 6 to 65535. Only available in %LoRa mode. + \brief Sets %LoRa or FSK preamble length. Allowed values range from 6 to 65535 in %LoRa mode or 0 to 65535 in FSK mode. - \param preambleLength Preamble length to be set (in symbols). + \param preambleLength Preamble length to be set (in symbols when in LoRa mode or bits in FSK mode). \returns \ref status_codes */