From f1d51fd1b9c53846486f1f745c2f290c377ffcb5 Mon Sep 17 00:00:00 2001 From: jgromes Date: Sun, 7 Feb 2021 17:52:17 +0100 Subject: [PATCH] [SX127x] Fixed FSK preamble unit --- src/modules/SX127x/SX127x.cpp | 7 ++++--- src/modules/SX127x/SX127x.h | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) 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 */